[Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support

Samuel Ortiz posted 19 patches 7 years ago
There is a newer version of this series
hw/acpi/Makefile.objs          |    1 +
hw/acpi/aml-build.c            | 1129 ++++++++++++++++++++++++++++++
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       |   98 +--
hw/i386/acpi-build.c           | 1174 ++------------------------------
hw/i386/acpi-build.h           |    4 +-
hw/i386/pc.c                   |  198 ++++--
hw/i386/pc_piix.c              |   21 +-
hw/i386/pc_q35.c               |   21 +-
hw/i386/xen/xen-hvm.c          |   19 +-
hw/pci-host/piix.c             |    8 -
include/hw/acpi/acpi-defs.h    |   14 +
include/hw/acpi/acpi.h         |   43 ++
include/hw/acpi/aml-build.h    |   50 ++
include/hw/acpi/builder.h      |   97 +++
include/hw/i386/acpi.h         |   27 +
include/hw/i386/pc.h           |   21 +-
include/hw/mem/memory-device.h |    2 +
stubs/Makefile.objs            |    1 -
stubs/pci-host-piix.c          |    6 -
24 files changed, 1735 insertions(+), 1344 deletions(-)
create mode 100644 hw/acpi/builder.c
create mode 100644 include/hw/acpi/builder.h
create mode 100644 include/hw/i386/acpi.h
delete mode 100644 stubs/pci-host-piix.c
[Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support
Posted by Samuel Ortiz 7 years ago
This patch set provides an ACPI code reorganization in preparation for
adding hardware-reduced support 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 and as such we had to implement support
for the latter.

As a preliminary for adding hardware-reduced support 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.
  Eventually we hope to see arm/virt also re-use much of that code.

The patches are also available in their own git branch [2].

[1] https://github.com/intel/nemu
[2] 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.

Samuel Ortiz (10):
  hw: i386: Decouple the ACPI build from the PC machine type
  hw: acpi: Export ACPI build alignment API
  hw: acpi: Export the RSDP build API
  hw: acpi: Implement XSDT support for RSDP
  hw: arm: Switch to the AML build RSDP building routine
  hw: acpi: Do not create hotplug method when handler is not defined
  hw: i386: Make the hotpluggable memory size property more generic
  hw: acpi: Define ACPI tables builder interface
  hw: i386: Export the MADT build method
  hw: i386: Implement the ACPI builder interface for PC

Sebastien Boeuf (2):
  hw: acpi: Export the PCI hotplug API
  hw: acpi: Retrieve the PCI bus from AcpiPciHpState

Yang Zhong (7):
  hw: acpi: Generalize AML build routines
  hw: acpi: Factorize _OSC AML across architectures
  hw: i386: Refactor PCI host getter
  hw: acpi: Export and generalize the PCI host AML API
  hw: acpi: Export the MCFG getter
  hw: acpi: Export the SRAT AML build API
  hw: acpi: Fix memory hotplug AML generation error

 hw/acpi/Makefile.objs          |    1 +
 hw/acpi/aml-build.c            | 1129 ++++++++++++++++++++++++++++++
 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       |   98 +--
 hw/i386/acpi-build.c           | 1174 ++------------------------------
 hw/i386/acpi-build.h           |    4 +-
 hw/i386/pc.c                   |  198 ++++--
 hw/i386/pc_piix.c              |   21 +-
 hw/i386/pc_q35.c               |   21 +-
 hw/i386/xen/xen-hvm.c          |   19 +-
 hw/pci-host/piix.c             |    8 -
 include/hw/acpi/acpi-defs.h    |   14 +
 include/hw/acpi/acpi.h         |   43 ++
 include/hw/acpi/aml-build.h    |   50 ++
 include/hw/acpi/builder.h      |   97 +++
 include/hw/i386/acpi.h         |   27 +
 include/hw/i386/pc.h           |   21 +-
 include/hw/mem/memory-device.h |    2 +
 stubs/Makefile.objs            |    1 -
 stubs/pci-host-piix.c          |    6 -
 24 files changed, 1735 insertions(+), 1344 deletions(-)
 create mode 100644 hw/acpi/builder.c
 create mode 100644 include/hw/acpi/builder.h
 create mode 100644 include/hw/i386/acpi.h
 delete mode 100644 stubs/pci-host-piix.c

-- 
2.17.2


Re: [Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support
Posted by Samuel Ortiz 7 years ago
Please discard that serie as I forgot to Cc the proper maintainers in
many of those patches. Apologies for that, I'm going to send a v3 in a
few minutes.

Cheers,
Samuel.

On Mon, Oct 29, 2018 at 05:24:22PM +0100, Samuel Ortiz wrote:
> This patch set provides an ACPI code reorganization in preparation for
> adding hardware-reduced support 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 and as such we had to implement support
> for the latter.
> 
> As a preliminary for adding hardware-reduced support 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.
>   Eventually we hope to see arm/virt also re-use much of that code.
> 
> The patches are also available in their own git branch [2].
> 
> [1] https://github.com/intel/nemu
> [2] 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.
> 
> Samuel Ortiz (10):
>   hw: i386: Decouple the ACPI build from the PC machine type
>   hw: acpi: Export ACPI build alignment API
>   hw: acpi: Export the RSDP build API
>   hw: acpi: Implement XSDT support for RSDP
>   hw: arm: Switch to the AML build RSDP building routine
>   hw: acpi: Do not create hotplug method when handler is not defined
>   hw: i386: Make the hotpluggable memory size property more generic
>   hw: acpi: Define ACPI tables builder interface
>   hw: i386: Export the MADT build method
>   hw: i386: Implement the ACPI builder interface for PC
> 
> Sebastien Boeuf (2):
>   hw: acpi: Export the PCI hotplug API
>   hw: acpi: Retrieve the PCI bus from AcpiPciHpState
> 
> Yang Zhong (7):
>   hw: acpi: Generalize AML build routines
>   hw: acpi: Factorize _OSC AML across architectures
>   hw: i386: Refactor PCI host getter
>   hw: acpi: Export and generalize the PCI host AML API
>   hw: acpi: Export the MCFG getter
>   hw: acpi: Export the SRAT AML build API
>   hw: acpi: Fix memory hotplug AML generation error
> 
>  hw/acpi/Makefile.objs          |    1 +
>  hw/acpi/aml-build.c            | 1129 ++++++++++++++++++++++++++++++
>  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       |   98 +--
>  hw/i386/acpi-build.c           | 1174 ++------------------------------
>  hw/i386/acpi-build.h           |    4 +-
>  hw/i386/pc.c                   |  198 ++++--
>  hw/i386/pc_piix.c              |   21 +-
>  hw/i386/pc_q35.c               |   21 +-
>  hw/i386/xen/xen-hvm.c          |   19 +-
>  hw/pci-host/piix.c             |    8 -
>  include/hw/acpi/acpi-defs.h    |   14 +
>  include/hw/acpi/acpi.h         |   43 ++
>  include/hw/acpi/aml-build.h    |   50 ++
>  include/hw/acpi/builder.h      |   97 +++
>  include/hw/i386/acpi.h         |   27 +
>  include/hw/i386/pc.h           |   21 +-
>  include/hw/mem/memory-device.h |    2 +
>  stubs/Makefile.objs            |    1 -
>  stubs/pci-host-piix.c          |    6 -
>  24 files changed, 1735 insertions(+), 1344 deletions(-)
>  create mode 100644 hw/acpi/builder.c
>  create mode 100644 include/hw/acpi/builder.h
>  create mode 100644 include/hw/i386/acpi.h
>  delete mode 100644 stubs/pci-host-piix.c
> 
> -- 
> 2.17.2
> 
> 

Re: [Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support
Posted by Markus Armbruster 7 years ago
You neglected to cc: maintainers.  I'm doing that for you now.
scripts/get_maintainer.pl can help you finding maintainers.

Samuel Ortiz <sameo@linux.intel.com> writes:

> This patch set provides an ACPI code reorganization in preparation for
> adding hardware-reduced support 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 and as such we had to implement support
> for the latter.
>
> As a preliminary for adding hardware-reduced support 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.
>   Eventually we hope to see arm/virt also re-use much of that code.
>
> The patches are also available in their own git branch [2].
>
> [1] https://github.com/intel/nemu
> [2] 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.
[...]

Re: [Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support
Posted by Samuel Ortiz 7 years ago
Hi Markus,

On Mon, Oct 29, 2018 at 06:28:48PM +0100, Markus Armbruster wrote:
> You neglected to cc: maintainers.  I'm doing that for you now.
> scripts/get_maintainer.pl can help you finding maintainers.
Sorry about that. I sent a v3 with all maintainers cc'ed.

Cheers,
Samuel.


> Samuel Ortiz <sameo@linux.intel.com> writes:
> 
> > This patch set provides an ACPI code reorganization in preparation for
> > adding hardware-reduced support 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 and as such we had to implement support
> > for the latter.
> >
> > As a preliminary for adding hardware-reduced support 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.
> >   Eventually we hope to see arm/virt also re-use much of that code.
> >
> > The patches are also available in their own git branch [2].
> >
> > [1] https://github.com/intel/nemu
> > [2] 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.
> [...]
> 

Re: [Qemu-devel] [PATCH v2 00/19] ACPI reorganization for hardware-reduced support
Posted by Markus Armbruster 7 years ago
Samuel Ortiz <sameo@linux.intel.com> writes:

> Hi Markus,
>
> On Mon, Oct 29, 2018 at 06:28:48PM +0100, Markus Armbruster wrote:
>> You neglected to cc: maintainers.  I'm doing that for you now.
>> scripts/get_maintainer.pl can help you finding maintainers.
> Sorry about that. I sent a v3 with all maintainers cc'ed.

I don't think that's necessary unless you add more people than I did.