@@ -298,6 +298,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->acpitable_blob + offset;
+
+ memcpy(dsdt, dsdt_anycpu_arm, dsdt_anycpu_arm_len);
+}
+
int libxl__prepare_acpi(libxl__gc *gc, libxl_domain_build_info *info,
libxl__domain_build_state *state,
struct xc_dom_image *dom)
@@ -331,6 +340,7 @@ int libxl__prepare_acpi(libxl__gc *gc, libxl_domain_build_info *info,
return rc;
make_acpi_fadt(gc, dom, acpitables);
+ make_acpi_dsdt(gc, dom, acpitables);
return 0;
}