[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 00/17] Xen ARM DomU ACPI support
From: Shannon Zhao <shannon.zhao@xxxxxxxxxx> The design of this feature is described as below. Firstly, the toolstack (libxl) generates the ACPI tables according the number of vcpus and gic controller. Then, it copies these ACPI tables to DomU non-RAM memory map space and passes them to UEFI firmware through the "ARM multiboot" protocol. At last, UEFI gets the ACPI tables through the "ARM multiboot" protocol and installs these tables like the usual way and passes both ACPI and DT information to the Xen DomU. Currently libxl only generates RSDP, XSDT, GTDT, MADT, FADT, DSDT tables since it's enough now. This has been tested using guest kernel with the Dom0 ACPI support patches which could be fetched from: https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/log/?h=efi/arm-xen The UEFI binary could be fetched from: http://people.linaro.org/~shannon.zhao/DomU_ACPI/XEN_EFI.fd This series can be fetched from: https://git.linaro.org/people/shannon.zhao/xen.git domu_acpi_v2 Changes since v1: * move ACPI tables generation codes to a new file * use static asl file to generate DSDT table and include processor device objects * assign a non-RAM map for ACPI blob * use existing ACPI table definitions under xen/include/acpi/ * add a configuration for user to enable/disable ACPI generation * calculate the ACPI table checksum Shannon Zhao (17): libxl/arm: Factor out codes for generating DTB libxc: Add placeholders for ACPI tables blob and size libxl/arm: Add a configuration option for ARM DomU ACPI libxl/arm: prepare for constructing ACPI tables libxl/arm: Construct ACPI RSDP table libxl/arm: Construct ACPI XSDT table libxl/arm: Construct ACPI GTDT table libxl/arm: Factor MPIDR computing codes out as a helper libxl/arm: Construct ACPI MADT table libxl/arm: Construct ACPI FADT table libxl/arm: Construct ACPI DSDT table libxl/arm: Add a helper to calculate the ACPI table checksum libxl/arm: Link all ACPI tables into one buffer libxl/arm: Factor finalise_one_memory_node as a gerneric function libxl/arm: Add ACPI module libxc/xc_dom_arm: Copy ACPI tables to guest space libxl/arm: Initialize domain param HVM_PARAM_CALLBACK_IRQ docs/misc/arm/device-tree/acpi.txt | 23 +++ tools/libxc/include/xc_dom.h | 2 + tools/libxc/xc_dom_arm.c | 51 +++++ tools/libxl/Makefile | 26 +++ tools/libxl/libxl_arm.c | 78 +++++-- tools/libxl/libxl_arm_acpi.c | 391 +++++++++++++++++++++++++++++++++++ tools/libxl/libxl_arm_acpi.h | 46 +++++ tools/libxl/libxl_empty_dsdt_arm.asl | 22 ++ tools/libxl/libxl_mk_dsdt_arm.c | 94 +++++++++ tools/libxl/libxl_types.idl | 1 + tools/libxl/xl_cmdimpl.c | 4 + xen/include/public/arch-arm.h | 5 + 12 files changed, 726 insertions(+), 17 deletions(-) create mode 100644 docs/misc/arm/device-tree/acpi.txt create mode 100644 tools/libxl/libxl_arm_acpi.c create mode 100644 tools/libxl/libxl_arm_acpi.h create mode 100644 tools/libxl/libxl_empty_dsdt_arm.asl create mode 100644 tools/libxl/libxl_mk_dsdt_arm.c -- 2.0.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |