[prev in list] [next in list] [prev in thread] [next in thread]
List: xen-cvs
Subject: [Xen-changelog] [xen master] libacpi: Build DSDT for PVH guests
From: patchbot () xen ! org
Date: 2016-09-29 22:26:15
Message-ID: E1bpjmR-0004uF-1s () xenbits ! xenproject ! org
[Download RAW message or body]
commit e9a8dc050f9ad920ed19b888697bc92e64af368d
Author: Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Sep 28 09:22:00 2016 -0400
Commit: Wei Liu <wei.liu2@citrix.com>
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@oracle.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
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@lists.xen.org
https://lists.xenproject.org/xen-changelog
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic