ACPI reorganization for hardware-reduced API addition
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest24 patches 65 repliesIn review
- v423 patches 17 repliesSuperseded
- v319 patches 25 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 19 patches | 4 replies | Superseded | |
| v1 | 26 patches | 5 replies | Superseded |
Changes in v5 from the cover letter
* Reorganize the ACPI RSDP export and XSDT implementation into 3 patches.
* Fix the hw/i386/acpi header inclusions.
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/24 | hw: i386: Decouple the ACPI build from the PC machine typehw/ hw/ hw/ +7 more | +257 | 3 replies | |
| 2/24 | hw: acpi: Export ACPI build alignment APIhw/ hw/ include/ | +10 | 2 replies | |
| 3/24 | hw: acpi: The RSDP build API can return voidhw/ hw/ | +2 | 3 replies | |
| 4/24 | hw: acpi: Export the RSDP build APIhw/ hw/ include/ | +5 | 0 replies | |
| 5/24 | hw: acpi: Implement XSDT support for RSDPhw/ include/ | +40 | 8 replies | |
| 6/24 | hw: acpi: Factorize the RSDP build API implementationhw/ hw/ hw/ +1 more | +30 | 0 replies | |
| 7/24 | hw: acpi: Generalize AML build routineshw/ hw/ hw/ +1 more | +528 | 3 replies | |
| 8/24 | hw: acpi: Factorize _OSC AML across architectureshw/ hw/ hw/ +2 more | +66 | 0 replies | |
| 9/24 | hw: i386: Move PCI host definitions to pci_host.hinclude/ include/ | +6 | 1 reply | |
| 10/24 | hw: acpi: Export the PCI host and holes gettershw/ hw/ include/ | +47 | 3 replies | |
| 11/24 | hw: acpi: Export and generalize the PCI host AML APIhw/ hw/ include/ | +173 | 3 replies | |
| 12/24 | hw: acpi: Export the MCFG getterhw/ hw/ include/ | +25 | 3 replies | |
| 13/24 | hw: acpi: Do not create hotplug method when handler is not definedhw/ hw/ | +12 | 2 replies | |
| 14/24 | hw: i386: Make the hotpluggable memory size property more generichw/ hw/ include/ +1 more | +5 | 1 reply | |
| 15/24 | hw: i386: Export the i386 ACPI SRAT build methodhw/ hw/ | +6 | 3 replies | |
| 16/24 | hw: acpi: Fix memory hotplug AML generation errorhw/ | +5 | 2 replies | |
| 17/24 | hw: acpi: Export the PCI hotplug APIhw/ hw/ include/ | +199 | 0 replies | |
| 18/24 | hw: i386: Export the MADT build methodhw/ hw/ include/ | +32 | 2 replies | |
| 19/24 | hw: acpi: Retrieve the PCI bus from AcpiPciHpStatehw/ hw/ include/ +2 more | +4 | 6 replies | |
| 20/24 | hw: acpi: Define ACPI tables builder interfacehw/ hw/ include/ | +198 | 3 replies | |
| 21/24 | hw: i386: Implement the ACPI builder interface for PChw/ hw/ | +28 | 0 replies | |
| 22/24 | hw: pci-host: piix: Return PCI host pointer instead of PCI bushw/ hw/ include/ | +34 | 1 reply | |
| 23/24 | hw: i386: Set ACPI configuration PCI host pointerhw/ hw/ | +2 | 0 replies | |
| 24/24 | hw: i386: Refactor PCI host getterhw/ | +7 | 0 replies |
Reviews trailers per patch
12 of 24 patches have a Reviewed-by or Acked-by.
| Patch | Philippe Mathieu-Daudé | Igor Mammedov |
|---|---|---|
| 1/24 | ||
| 2/24 | R-b T-b | |
| 3/24 | R-b | |
| 4/24 | ||
| 5/24 | ||
| 6/24 | ||
| 7/24 | R-b T-b | |
| 8/24 | ||
| 9/24 | ||
| 10/24 | ||
| 11/24 | ||
| 12/24 | R-b T-b | |
| 13/24 | R-b T-b | |
| 14/24 | R-b | |
| 15/24 | ||
| 16/24 | R-b | |
| 17/24 | R-b T-b | |
| 18/24 | R-b T-b | |
| 19/24 | R-b T-b | R-b |
| 20/24 | R-b T-b | |
| 21/24 | R-b T-b | |
| 22/24 | ||
| 23/24 | ||
| 24/24 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [Qemu-arm] [PATCH v5 00/24] ACPI reorganization for hardware-reduced API addition
This patch set provides an ACPI code reorganization in preparation for adding a shared hardware-reduced ACPI API to QEMU.
The changes are coming from the NEMU [1] project where we're defining a new x86 machine type: i386/virt. This is an EFI only, ACPI hardware-reduced platform that is built on top of a generic hardware-reduced ACPI API [2]. This API was initially based off the generic parts of the arm/virt-acpi-build.c implementation, and the goal is for both i386/virt and arm/virt to duplicate as little code as possible by using this new, shared API.
As a preliminary for adding this hardware-reduced ACPI API to QEMU, we did some ACPI code reorganization with the following goals:
* Share as much as possible of the current ACPI build APIs between legacy and hardware-reduced ACPI.
* Share the ACPI build code across machine types and architectures and remove the typical PC machine type dependency.
The patches are also available in their own git branch [3].
[1] https://github.com/intel/nemu
[2] https://github.com/intel/nemu/blob/topic/virt-x86/hw/acpi/reduced.c
[3] https://github.com/intel/nemu/tree/topic/upstream/acpi
v1 -> v2:
* Drop the hardware-reduced implementation for now. Our next patch
* set
will add hardware-reduced and convert arm/virt to it.
* Implement the ACPI build methods as a QOM Interface Class and
* convert
the PC machine type to it.
* acpi_conf_pc_init() uses a PCMachineState pointer and not a MachineState one as its argument.
v2 -> v3:
* Cc all relevant maintainers, no functional changes.
v3 -> v4:
* Renamed all AcpiConfiguration pointers from conf to acpi_conf.
* Removed the ACPI_BUILD_ALIGN_SIZE export.
* Temporarily updated the arm virt build_rsdp() prototype for bisectability purposes.
* Removed unneeded pci headers from acpi-build.c.
* Refactor the acpi PCI host getter so that it truly is architecture agnostic, by carrying the PCI host pointer through the AcpiConfiguration structure.
* Splitted the PCI host AML builder API export patch from the PCI host and holes getter one.
* Reduced the build_srat() export scope to hw/i386 instead of the broader hw/acpi. SRAT builders are truly architecture specific and can hardly be generalized.
* Completed the ACPI builder documentation.
v4 -> v5:
* Reorganize the ACPI RSDP export and XSDT implementation into 3 patches.
* Fix the hw/i386/acpi header inclusions.
Samuel Ortiz (16):
hw: i386: Decouple the ACPI build from the PC machine type
hw: acpi: Export ACPI build alignment API
hw: acpi: The RSDP build API can return void
hw: acpi: Export the RSDP build API
hw: acpi: Implement XSDT support for RSDP
hw: acpi: Factorize the RSDP build API implementation
hw: i386: Move PCI host definitions to pci_host.h
hw: acpi: Export the PCI host and holes getters
hw: acpi: Do not create hotplug method when handler is not defined
hw: i386: Make the hotpluggable memory size property more generic
hw: i386: Export the i386 ACPI SRAT build method
hw: i386: Export the MADT build method
hw: acpi: Define ACPI tables builder interface
hw: i386: Implement the ACPI builder interface for PC
hw: pci-host: piix: Return PCI host pointer instead of PCI bus
hw: i386: Set ACPI configuration PCI host pointer
Sebastien Boeuf (2):
hw: acpi: Export the PCI hotplug API
hw: acpi: Retrieve the PCI bus from AcpiPciHpState
Yang Zhong (6):
hw: acpi: Generalize AML build routines
hw: acpi: Factorize _OSC AML across architectures
hw: acpi: Export and generalize the PCI host AML API
hw: acpi: Export the MCFG getter
hw: acpi: Fix memory hotplug AML generation error
hw: i386: Refactor PCI host getter
hw/i386/acpi-build.h | 9 +- include/hw/acpi/acpi-defs.h | 14 + include/hw/acpi/acpi.h | 44 ++ include/hw/acpi/aml-build.h | 47 ++ include/hw/acpi/builder.h | 100 +++ include/hw/i386/acpi.h | 28 + include/hw/i386/pc.h | 49 +- include/hw/mem/memory-device.h | 2 + include/hw/pci/pci_host.h | 6 + hw/acpi/aml-build.c | 981 +++++++++++++++++++++++++++++ hw/acpi/builder.c | 97 +++ hw/acpi/cpu.c | 8 +- hw/acpi/cpu_hotplug.c | 9 +- hw/acpi/memory_hotplug.c | 21 +- hw/acpi/pcihp.c | 10 +- hw/arm/virt-acpi-build.c | 93 +-- hw/i386/acpi-build.c | 1072 +++----------------------------- hw/i386/pc.c | 198 +++--- hw/i386/pc_piix.c | 36 +- hw/i386/pc_q35.c | 22 +- hw/i386/xen/xen-hvm.c | 19 +- hw/pci-host/piix.c | 32 +- stubs/pci-host-piix.c | 6 - hw/acpi/Makefile.objs | 1 + stubs/Makefile.objs | 1 - 25 files changed, 1644 insertions(+), 1261 deletions(-) create mode 100644 include/hw/acpi/builder.h create mode 100644 include/hw/i386/acpi.h create mode 100644 hw/acpi/builder.c delete mode 100644 stubs/pci-host-piix.c
Signature · 7 lines
2.19.1 _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel