[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] libacpi: Build DSDT for PVH guests
commit e9a8dc050f9ad920ed19b888697bc92e64af368d Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> AuthorDate: Wed Sep 28 09:22:00 2016 -0400 Commit: Wei Liu <wei.liu2@xxxxxxxxxx> CommitDate: Wed Sep 28 14:32:05 2016 +0100 libacpi: Build DSDT for PVH guests PVH guests require DSDT with only ACPI INFO (Xen-specific) and Processor objects. We separate ASL's ACPI INFO definition into dsdt_acpi_info.asl so that it can be included in ASLs for both HVM and PVH2. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> --- tools/libacpi/Makefile | 7 ++++++- tools/libacpi/mk_dsdt.c | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile index d65a682..65a540e 100644 --- a/tools/libacpi/Makefile +++ b/tools/libacpi/Makefile @@ -18,7 +18,7 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk MK_DSDT = $(ACPI_BUILD_DIR)/mk_dsdt C_SRC-$(GPL) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c -C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(C_SRC-y)) +C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, dsdt_pvh.c $(C_SRC-y)) H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h) # Suffix for temporary files. @@ -60,6 +60,11 @@ $(ACPI_BUILD_DIR)/dsdt_%cpu.asl: dsdt.asl dsdt_acpi_info.asl gpl/mk_dsdt_gpl.sh mv -f $@.$(TMP_SUFFIX) $@ endif +$(ACPI_BUILD_DIR)/dsdt_pvh.asl: dsdt_acpi_info.asl $(MK_DSDT) + printf "DefinitionBlock (\"DSDT.aml\", \"DSDT\", 5, \"Xen\", \"HVM\", 0)\n{" > $@ + cat dsdt_acpi_info.asl >> $@ + $(MK_DSDT) --debug=$(debug) --maxcpu any --dm-version none >> $@ + $(C_SRC): $(ACPI_BUILD_DIR)/%.c: iasl $(ACPI_BUILD_DIR)/%.asl iasl -vs -p $(ACPI_BUILD_DIR)/$*.$(TMP_SUFFIX) -tc $(ACPI_BUILD_DIR)/$*.asl sed -e 's/AmlCode/$*/g' $(ACPI_BUILD_DIR)/$*.hex > $@.$(TMP_SUFFIX) diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c index e750820..8130cbd 100644 --- a/tools/libacpi/mk_dsdt.c +++ b/tools/libacpi/mk_dsdt.c @@ -23,6 +23,7 @@ static unsigned int indent_level; static bool debug = false; typedef enum dm_version { + QEMU_NONE, QEMU_XEN_TRADITIONAL, QEMU_XEN, } dm_version; @@ -135,6 +136,8 @@ int main(int argc, char **argv) dm_version = QEMU_XEN; } else if (strcmp(optarg, "qemu-xen-traditional") == 0) { dm_version = QEMU_XEN_TRADITIONAL; + } else if (strcmp(optarg, "none") == 0) { + dm_version = QEMU_NONE; } else { fprintf(stderr, "Unknown device model version `%s'.\n", optarg); return -1; @@ -252,6 +255,11 @@ int main(int argc, char **argv) pop_block(); + if (dm_version == QEMU_NONE) { + pop_block(); + return 0; + } + /* Define GPE control method. */ push_block("Scope", "\\_GPE"); push_block("Method", -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |