[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.