From: Shannon Zhao Date: Thu, 29 Sep 2016 01:18:57 +0000 (-0700) Subject: libxl/arm: Construct ACPI DSDT table X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~249 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0b6c87e3a02d822fb5ce8422f0a8ccf12d0a3b50;p=xen.git libxl/arm: Construct ACPI DSDT table Copy the static DSDT table into ACPI blob. Signed-off-by: Shannon Zhao Acked-by: Julien Grall Acked-by: Wei Liu --- diff --git a/tools/libxl/libxl_arm_acpi.c b/tools/libxl/libxl_arm_acpi.c index 6530f456a7..6c713acd59 100644 --- a/tools/libxl/libxl_arm_acpi.c +++ b/tools/libxl/libxl_arm_acpi.c @@ -329,6 +329,15 @@ static void make_acpi_fadt(libxl__gc *gc, struct xc_dom_image *dom, acpitables[FADT].size); } +static void make_acpi_dsdt(libxl__gc *gc, struct xc_dom_image *dom, + struct acpitable acpitables[]) +{ + uint64_t offset = acpitables[DSDT].addr - GUEST_ACPI_BASE; + void *dsdt = dom->acpi_modules[0].data + offset; + + memcpy(dsdt, dsdt_anycpu_arm, dsdt_anycpu_arm_len); +} + int libxl__prepare_acpi(libxl__gc *gc, libxl_domain_build_info *info, struct xc_dom_image *dom) { @@ -361,6 +370,7 @@ int libxl__prepare_acpi(libxl__gc *gc, libxl_domain_build_info *info, goto out; make_acpi_fadt(gc, dom, acpitables); + make_acpi_dsdt(gc, dom, acpitables); out: return rc;