[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 20/20] acpi: Make ACPI builder available to hypervisor code
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> --- xen/common/Makefile | 2 +- xen/common/libacpi/Makefile | 15 ++++++++++++--- xen/common/libacpi/acpi2_0.h | 6 ++++++ xen/common/libacpi/build.c | 15 +++++++++++++++ xen/common/libacpi/mk_dsdt.c | 4 ++++ 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/xen/common/Makefile b/xen/common/Makefile index 77de27e..6e0ac8b 100644 --- a/xen/common/Makefile +++ b/xen/common/Makefile @@ -73,5 +73,5 @@ subdir-$(CONFIG_X86) += hvm subdir-$(coverage) += gcov -subdir-y += libelf +subdir-y += libelf libacpi subdir-$(CONFIG_HAS_DEVICE_TREE) += libfdt diff --git a/xen/common/libacpi/Makefile b/xen/common/libacpi/Makefile index a1f233f..6cf98db 100644 --- a/xen/common/libacpi/Makefile +++ b/xen/common/libacpi/Makefile @@ -21,7 +21,16 @@ C_SRC = build.c dsdt_anycpu.c dsdt_15cpu.c static_tables.c C_SRC += dsdt_anycpu_qemu_xen.c dsdt_empty.c OBJS = $(patsubst %.c,%.o,$(C_SRC)) -CFLAGS_xeninclude = -I$(XEN_ROOT)/tools/include +ifneq (,$(findstring -D__XEN__,$(CFLAGS))) +# Hypervisor +obj-y = $(OBJS) +$(OBJS): all +CFLAGS += -I$(XEN_ROOT)/xen/include/public +CFLAGS_MKDSDT = -I$(XEN_ROOT)/xen/include/public/hvm -D__XEN__ +else +# Toolstack +CFLAGS_MKDSDT = -I$(XEN_ROOT)/tools/include +endif vpath iasl $(PATH) all: $(C_SRC) ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h @@ -32,7 +41,7 @@ ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h: %.h: %.asl iasl rm -f $*.hex $*.aml mk_dsdt: mk_dsdt.c - $(HOSTCC) $(HOSTCFLAGS) $(CFLAGS_xeninclude) -o $@ mk_dsdt.c + $(HOSTCC) $(HOSTCFLAGS) $(CFLAGS_MKDSDT) -o $@ mk_dsdt.c dsdt_anycpu_qemu_xen.asl: dsdt.asl mk_dsdt awk 'NR > 1 {print s} {s=$$0}' $< > $@ @@ -57,7 +66,7 @@ iasl: @echo @exit 1 -clean: +clean:: rm -rf *.o $(IASL_VER) $(IASL_VER).tar.gz $(DEPS) rm -rf ssdt_*.h dsdt*.c *~ *.aml *.hex mk_dsdt dsdt_*cpu*.asl diff --git a/xen/common/libacpi/acpi2_0.h b/xen/common/libacpi/acpi2_0.h index 458fb49..d47ad84 100644 --- a/xen/common/libacpi/acpi2_0.h +++ b/xen/common/libacpi/acpi2_0.h @@ -17,10 +17,16 @@ #ifndef _ACPI_2_0_H_ #define _ACPI_2_0_H_ +#ifndef __XEN__ #include <stdint.h> #include <xen/xen.h> #include <xen/hvm/ioreq.h> #include <xen/memory.h> +#else +#include <xen/lib.h> +#include <memory.h> +#include <hvm/ioreq.h> +#endif #define ASCII32(a,b,c,d) \ (((a) << 0) | ((b) << 8) | ((c) << 16) | ((d) << 24)) diff --git a/xen/common/libacpi/build.c b/xen/common/libacpi/build.c index 7f2662a..cbde7f9 100644 --- a/xen/common/libacpi/build.c +++ b/xen/common/libacpi/build.c @@ -15,8 +15,13 @@ * this program; If not, see <http://www.gnu.org/licenses/>. */ +#ifndef __XEN__ #include <stdio.h> #include <string.h> +#else +#include <xen/lib.h> +#define printf printk +#endif #include "acpi2_0.h" #include "ssdt_s3.h" @@ -24,14 +29,24 @@ #include "ssdt_tpm.h" #include "ssdt_pm.h" #include "x86.h" +#ifndef __XEN__ #include <xen/hvm/hvm_info_table.h> #include <xen/hvm/hvm_xs_strings.h> #include <xen/hvm/params.h> +#else +#include <hvm/hvm_info_table.h> +#include <hvm/hvm_xs_strings.h> +#include <hvm/params.h> +#endif #define ACPI_MAX_SECONDARY_TABLES 16 #define align16(sz) (((sz) + 15) & ~15) +#ifndef __XEN__ #define fixed_strcpy(d, s) strncpy((d), (s), sizeof(d)) +#else +#define fixed_strcpy(d, s) strlcpy((d), (s), sizeof(d)) +#endif #ifndef offsetof #define offsetof(t, m) ((unsigned long)&((t *)0)->m) #endif diff --git a/xen/common/libacpi/mk_dsdt.c b/xen/common/libacpi/mk_dsdt.c index b567b38..e38a2f2 100644 --- a/xen/common/libacpi/mk_dsdt.c +++ b/xen/common/libacpi/mk_dsdt.c @@ -5,7 +5,11 @@ #include <getopt.h> #include <stdlib.h> #include <stdbool.h> +#ifndef __XEN__ #include <xen/hvm/hvm_info_table.h> +#else +#include <hvm_info_table.h> +#endif static unsigned int indent_level; static bool debug = false; -- 2.4.3 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |