[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 00/23] Make ACPI builder available to components other than hvmloader
The goal here is to build ACPI tables for PVHv2/HVMlite guests while reusing existing hvmloader's ACPI builder code. The builder is provided as a library in tools/libacpi. This version is built on top of Anthony's git://xenbits.xen.org/people/aperard/xen-unstable.git:hvmloader-with-separated-bios-v7 It also requires (still not fully ACKed, sigh) ACPI relicensing patch https://lists.xenproject.org/archives/html/xen-devel/2016-07/msg01975.html Major changes: * Keep struct_acpi_info private to build.c * Separate table allocation and loading, similar to ARM's approach More detailed changes are listed per patch. Boris Ostrovsky (23): hvmloader: Provide hvmloader_acpi_build_tables() acpi/hvmloader: Allow acpi_build_tables() callers specify acpi_info values acpi/hvmloader: Initialize vm_gid data outside ACPI code acpi/hvmloader: Decide which SSDTs to install in hvmloader acpi/hvmloader: Move passthrough initialization from ACPI code acpi/hvmloader: Collect processor and NUMA info in hvmloader acpi/hvmloader: Set TIS header address in hvmloader acpi/hvmloader: Make providing IOAPIC in MADT optional acpi/hvmloader: Build WAET optionally acpi/hvmloader: Replace mem_alloc() and virt_to_phys() with memory ops acpi/hvmloader: Translate all addresses when assigning addresses in ACPI tables acpi/hvmloader: Link ACPI object files directly acpi/hvmloader: Include file/paths adjustments acpi: Move ACPI code to tools/libacpi x86: Add more checks verifying that PIT/PIC/IOAPIC are emulated x86: Allow LAPIC-only emulation_flags for HVM guests libacpi: Build DSDT for PVH guests libxc/libxl: Allow multiple ACPI modules libxl/acpi: Add ACPI e820 entry libxl/pvhv2: Include APIC page in MMIO hole for PVHv2 guests ilibxl: Initialize domain build info before calling libxl__domain_make libxl/acpi: Build ACPI tables for HVMlite guests libxc/xc_dom_core: Copy ACPI tables to guest space .gitignore | 20 +- tools/firmware/hvmloader/Makefile | 20 +- tools/firmware/hvmloader/acpi/Makefile | 70 --- tools/firmware/hvmloader/acpi/README | 24 - tools/firmware/hvmloader/acpi/acpi2_0.h | 470 ------------------- tools/firmware/hvmloader/acpi/build.c | 646 -------------------------- tools/firmware/hvmloader/acpi/dsdt.asl | 478 ------------------- tools/firmware/hvmloader/acpi/mk_dsdt.c | 501 -------------------- tools/firmware/hvmloader/acpi/ssdt_pm.asl | 418 ----------------- tools/firmware/hvmloader/acpi/ssdt_s3.asl | 28 -- tools/firmware/hvmloader/acpi/ssdt_s4.asl | 28 -- tools/firmware/hvmloader/acpi/ssdt_tpm.asl | 28 -- tools/firmware/hvmloader/acpi/static_tables.c | 168 ------- tools/firmware/hvmloader/config.h | 8 +- tools/firmware/hvmloader/hvmloader.c | 3 +- tools/firmware/hvmloader/mp_tables.c | 1 + tools/firmware/hvmloader/ovmf.c | 4 +- tools/firmware/hvmloader/pci.c | 1 + tools/firmware/hvmloader/pir.c | 1 + tools/firmware/hvmloader/rombios.c | 4 +- tools/firmware/hvmloader/seabios.c | 5 +- tools/firmware/hvmloader/smp.c | 1 + tools/firmware/hvmloader/util.c | 98 ++++ tools/firmware/hvmloader/util.h | 4 + tools/libacpi/Makefile | 80 ++++ tools/libacpi/README | 32 ++ tools/libacpi/acpi2_0.h | 461 ++++++++++++++++++ tools/libacpi/build.c | 645 +++++++++++++++++++++++++ tools/libacpi/dsdt.asl | 458 ++++++++++++++++++ tools/libacpi/dsdt_acpi_info.asl | 23 + tools/libacpi/libacpi.h | 110 +++++ tools/libacpi/mk_dsdt.c | 511 ++++++++++++++++++++ tools/libacpi/ssdt_pm.asl | 418 +++++++++++++++++ tools/libacpi/ssdt_s3.asl | 28 ++ tools/libacpi/ssdt_s4.asl | 28 ++ tools/libacpi/ssdt_tpm.asl | 28 ++ tools/libacpi/static_tables.c | 168 +++++++ tools/libacpi/x86.h | 30 ++ tools/libxc/include/xc_dom.h | 5 +- tools/libxc/xc_dom_core.c | 92 ++++ tools/libxc/xc_dom_hvmloader.c | 3 +- tools/libxl/Makefile | 19 +- tools/libxl/libxl_arch.h | 3 + tools/libxl/libxl_create.c | 22 +- tools/libxl/libxl_dom.c | 57 ++- tools/libxl/libxl_x86.c | 44 +- tools/libxl/libxl_x86_acpi.c | 199 ++++++++ tools/libxl/libxl_x86_acpi.h | 35 ++ xen/arch/x86/domain.c | 26 +- xen/arch/x86/hvm/vlapic.c | 14 +- xen/arch/x86/hvm/vpt.c | 2 +- 51 files changed, 3633 insertions(+), 2937 deletions(-) delete mode 100644 tools/firmware/hvmloader/acpi/Makefile delete mode 100644 tools/firmware/hvmloader/acpi/README delete mode 100644 tools/firmware/hvmloader/acpi/acpi2_0.h delete mode 100644 tools/firmware/hvmloader/acpi/build.c delete mode 100644 tools/firmware/hvmloader/acpi/dsdt.asl delete mode 100644 tools/firmware/hvmloader/acpi/mk_dsdt.c delete mode 100644 tools/firmware/hvmloader/acpi/ssdt_pm.asl delete mode 100644 tools/firmware/hvmloader/acpi/ssdt_s3.asl delete mode 100644 tools/firmware/hvmloader/acpi/ssdt_s4.asl delete mode 100644 tools/firmware/hvmloader/acpi/ssdt_tpm.asl delete mode 100644 tools/firmware/hvmloader/acpi/static_tables.c create mode 100644 tools/libacpi/Makefile create mode 100644 tools/libacpi/README create mode 100644 tools/libacpi/acpi2_0.h create mode 100644 tools/libacpi/build.c create mode 100644 tools/libacpi/dsdt.asl create mode 100644 tools/libacpi/dsdt_acpi_info.asl create mode 100644 tools/libacpi/libacpi.h create mode 100644 tools/libacpi/mk_dsdt.c create mode 100644 tools/libacpi/ssdt_pm.asl create mode 100644 tools/libacpi/ssdt_s3.asl create mode 100644 tools/libacpi/ssdt_s4.asl create mode 100644 tools/libacpi/ssdt_tpm.asl create mode 100644 tools/libacpi/static_tables.c create mode 100644 tools/libacpi/x86.h create mode 100644 tools/libxl/libxl_x86_acpi.c create mode 100644 tools/libxl/libxl_x86_acpi.h -- 1.8.3.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |