mbox series

[00/12] Q35 PCI host fixes and QOM cleanup

Message ID 20230214131441.101760-1-shentey@gmail.com (mailing list archive)
Headers show
Series Q35 PCI host fixes and QOM cleanup | expand

Message

Bernhard Beschow Feb. 14, 2023, 1:14 p.m. UTC
This series mostly cleans up QOM-related initialization code. It also performs
some modernization and fixing.

The first patch originates from "PC and ICH9 clanups" series [1] which has been
dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
needs more work, so bring the patch back here.

Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.

Patches 4-9 clean up initialization code.

The last four patches also clean up initialization code with the last patch
doing the actual cleanup.

Based-on: <20230213162004.2797-1-shentey@gmail.com>
         "[PATCH v4 0/9] PC cleanups"

Testing done:
* `make check`
* `make check-avocado`
* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
     manjaro-kde-21.3.2-220704-linux515.iso`

[1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
[2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/

Bernhard Beschow (12):
  hw/i386/pc_q35: Resolve redundant q35_host variable
  hw/pci-host/q35: Fix contradicting .endianness assignment
  hw/pci-host/q35: Use memory_region_set_address() also for
    tseg_blackhole
  hw/pci-host/q35: Initialize PCMachineState::bus in board code
  hw/pci-host/q35: Initialize "bypass-iommu" property from board code
  hw/pci-host/q35: Initialize properties just once
  hw/pci-host/q35: Initialize PCI hole boundaries just once
  hw/pci-host/q35: Turn PCI hole properties into class properties
  hw/pci-host/q35: Rename local variable to more idiomatic "phb"
  hw/pci-host/q35: Propagate to errp rather than doing error_fatal
  hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
  hw/pci-host/q35: Move MemoryRegion pointers to host device

 include/hw/pci-host/q35.h |  17 +-
 hw/i386/pc_q35.c          |  33 ++--
 hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
 3 files changed, 178 insertions(+), 197 deletions(-)

Comments

Bernhard Beschow Feb. 21, 2023, 3:39 p.m. UTC | #1
Am 14. Februar 2023 13:14:29 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>This series mostly cleans up QOM-related initialization code. It also performs
>
>some modernization and fixing.
>
>
>
>The first patch originates from "PC and ICH9 clanups" series [1] which has been
>
>dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
>
>needs more work, so bring the patch back here.
>
>
>
>Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.
>
>
>
>Patches 4-9 clean up initialization code.
>
>
>
>The last four patches also clean up initialization code with the last patch
>
>doing the actual cleanup.
>

Ping

>
>
>Based-on: <20230213162004.2797-1-shentey@gmail.com>
>
>         "[PATCH v4 0/9] PC cleanups"
>
>
>
>Testing done:
>
>* `make check`
>
>* `make check-avocado`
>
>* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
>
>     manjaro-kde-21.3.2-220704-linux515.iso`
>
>
>
>[1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
>
>[2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/
>
>
>
>Bernhard Beschow (12):
>
>  hw/i386/pc_q35: Resolve redundant q35_host variable
>
>  hw/pci-host/q35: Fix contradicting .endianness assignment
>
>  hw/pci-host/q35: Use memory_region_set_address() also for
>
>    tseg_blackhole
>
>  hw/pci-host/q35: Initialize PCMachineState::bus in board code
>
>  hw/pci-host/q35: Initialize "bypass-iommu" property from board code
>
>  hw/pci-host/q35: Initialize properties just once
>
>  hw/pci-host/q35: Initialize PCI hole boundaries just once
>
>  hw/pci-host/q35: Turn PCI hole properties into class properties
>
>  hw/pci-host/q35: Rename local variable to more idiomatic "phb"
>
>  hw/pci-host/q35: Propagate to errp rather than doing error_fatal
>
>  hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
>
>  hw/pci-host/q35: Move MemoryRegion pointers to host device
>
>
>
> include/hw/pci-host/q35.h |  17 +-
>
> hw/i386/pc_q35.c          |  33 ++--
>
> hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
>
> 3 files changed, 178 insertions(+), 197 deletions(-)
>
>
>
>-- >
>2.39.1
>
>
>
Michael S. Tsirkin March 1, 2023, 9:49 p.m. UTC | #2
On Tue, Feb 21, 2023 at 03:39:28PM +0000, Bernhard Beschow wrote:
> 
> 
> Am 14. Februar 2023 13:14:29 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
> >This series mostly cleans up QOM-related initialization code. It also performs
> >
> >some modernization and fixing.
> >
> >
> >
> >The first patch originates from "PC and ICH9 clanups" series [1] which has been
> >
> >dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
> >
> >needs more work, so bring the patch back here.
> >
> >
> >
> >Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.
> >
> >
> >
> >Patches 4-9 clean up initialization code.
> >
> >
> >
> >The last four patches also clean up initialization code with the last patch
> >
> >doing the actual cleanup.
> >
> 
> Ping


sent some comments. Philippe was reviewing related patches maybe
he wants to poke at these too.

> >
> >
> >Based-on: <20230213162004.2797-1-shentey@gmail.com>
> >
> >         "[PATCH v4 0/9] PC cleanups"
> >
> >
> >
> >Testing done:
> >
> >* `make check`
> >
> >* `make check-avocado`
> >
> >* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
> >
> >     manjaro-kde-21.3.2-220704-linux515.iso`
> >
> >
> >
> >[1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
> >
> >[2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/
> >
> >
> >
> >Bernhard Beschow (12):
> >
> >  hw/i386/pc_q35: Resolve redundant q35_host variable
> >
> >  hw/pci-host/q35: Fix contradicting .endianness assignment
> >
> >  hw/pci-host/q35: Use memory_region_set_address() also for
> >
> >    tseg_blackhole
> >
> >  hw/pci-host/q35: Initialize PCMachineState::bus in board code
> >
> >  hw/pci-host/q35: Initialize "bypass-iommu" property from board code
> >
> >  hw/pci-host/q35: Initialize properties just once
> >
> >  hw/pci-host/q35: Initialize PCI hole boundaries just once
> >
> >  hw/pci-host/q35: Turn PCI hole properties into class properties
> >
> >  hw/pci-host/q35: Rename local variable to more idiomatic "phb"
> >
> >  hw/pci-host/q35: Propagate to errp rather than doing error_fatal
> >
> >  hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
> >
> >  hw/pci-host/q35: Move MemoryRegion pointers to host device
> >
> >
> >
> > include/hw/pci-host/q35.h |  17 +-
> >
> > hw/i386/pc_q35.c          |  33 ++--
> >
> > hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
> >
> > 3 files changed, 178 insertions(+), 197 deletions(-)
> >
> >
> >
> >-- >
> >2.39.1
> >
> >
> >
Michael S. Tsirkin March 1, 2023, 9:50 p.m. UTC | #3
On Tue, Feb 14, 2023 at 02:14:29PM +0100, Bernhard Beschow wrote:
> This series mostly cleans up QOM-related initialization code. It also performs
> some modernization and fixing.
> 
> The first patch originates from "PC and ICH9 clanups" series [1] which has been
> dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
> needs more work, so bring the patch back here.
> 
> Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.

what's the warning? commit log says nothing about it.

> Patches 4-9 clean up initialization code.
> 
> The last four patches also clean up initialization code with the last patch
> doing the actual cleanup.
> 
> Based-on: <20230213162004.2797-1-shentey@gmail.com>
>          "[PATCH v4 0/9] PC cleanups"
> 
> Testing done:
> * `make check`
> * `make check-avocado`
> * `qemu-system-x86_64 -M q35 -m 2G -cdrom \
>      manjaro-kde-21.3.2-220704-linux515.iso`
> 
> [1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
> [2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/
> 
> Bernhard Beschow (12):
>   hw/i386/pc_q35: Resolve redundant q35_host variable
>   hw/pci-host/q35: Fix contradicting .endianness assignment
>   hw/pci-host/q35: Use memory_region_set_address() also for
>     tseg_blackhole
>   hw/pci-host/q35: Initialize PCMachineState::bus in board code
>   hw/pci-host/q35: Initialize "bypass-iommu" property from board code
>   hw/pci-host/q35: Initialize properties just once
>   hw/pci-host/q35: Initialize PCI hole boundaries just once
>   hw/pci-host/q35: Turn PCI hole properties into class properties
>   hw/pci-host/q35: Rename local variable to more idiomatic "phb"
>   hw/pci-host/q35: Propagate to errp rather than doing error_fatal
>   hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
>   hw/pci-host/q35: Move MemoryRegion pointers to host device
> 
>  include/hw/pci-host/q35.h |  17 +-
>  hw/i386/pc_q35.c          |  33 ++--
>  hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
>  3 files changed, 178 insertions(+), 197 deletions(-)
> 
> -- 
> 2.39.1
>
Bernhard Beschow March 2, 2023, 9:54 p.m. UTC | #4
Am 1. März 2023 21:49:37 UTC schrieb "Michael S. Tsirkin" <mst@redhat.com>:
>On Tue, Feb 21, 2023 at 03:39:28PM +0000, Bernhard Beschow wrote:
>> 
>> 
>> Am 14. Februar 2023 13:14:29 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>> >This series mostly cleans up QOM-related initialization code. It also performs
>> >
>> >some modernization and fixing.
>> >
>> >
>> >
>> >The first patch originates from "PC and ICH9 clanups" series [1] which has been
>> >
>> >dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
>> >
>> >needs more work, so bring the patch back here.
>> >
>> >
>> >
>> >Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.
>> >
>> >
>> >
>> >Patches 4-9 clean up initialization code.
>> >
>> >
>> >
>> >The last four patches also clean up initialization code with the last patch
>> >
>> >doing the actual cleanup.
>> >
>> 
>> Ping
>
>
>sent some comments.

I'll look into it over the weekend. I'm quite busy right now.

Best regards,
Bernhard

>Philippe was reviewing related patches maybe
>he wants to poke at these too.
>
>> >
>> >
>> >Based-on: <20230213162004.2797-1-shentey@gmail.com>
>> >
>> >         "[PATCH v4 0/9] PC cleanups"
>> >
>> >
>> >
>> >Testing done:
>> >
>> >* `make check`
>> >
>> >* `make check-avocado`
>> >
>> >* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
>> >
>> >     manjaro-kde-21.3.2-220704-linux515.iso`
>> >
>> >
>> >
>> >[1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
>> >
>> >[2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/
>> >
>> >
>> >
>> >Bernhard Beschow (12):
>> >
>> >  hw/i386/pc_q35: Resolve redundant q35_host variable
>> >
>> >  hw/pci-host/q35: Fix contradicting .endianness assignment
>> >
>> >  hw/pci-host/q35: Use memory_region_set_address() also for
>> >
>> >    tseg_blackhole
>> >
>> >  hw/pci-host/q35: Initialize PCMachineState::bus in board code
>> >
>> >  hw/pci-host/q35: Initialize "bypass-iommu" property from board code
>> >
>> >  hw/pci-host/q35: Initialize properties just once
>> >
>> >  hw/pci-host/q35: Initialize PCI hole boundaries just once
>> >
>> >  hw/pci-host/q35: Turn PCI hole properties into class properties
>> >
>> >  hw/pci-host/q35: Rename local variable to more idiomatic "phb"
>> >
>> >  hw/pci-host/q35: Propagate to errp rather than doing error_fatal
>> >
>> >  hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
>> >
>> >  hw/pci-host/q35: Move MemoryRegion pointers to host device
>> >
>> >
>> >
>> > include/hw/pci-host/q35.h |  17 +-
>> >
>> > hw/i386/pc_q35.c          |  33 ++--
>> >
>> > hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
>> >
>> > 3 files changed, 178 insertions(+), 197 deletions(-)
>> >
>> >
>> >
>> >-- >
>> >2.39.1
>> >
>> >
>> >
>
Bernhard Beschow March 5, 2023, 7:41 a.m. UTC | #5
Am 2. März 2023 21:54:56 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>
>
>Am 1. März 2023 21:49:37 UTC schrieb "Michael S. Tsirkin" <mst@redhat.com>:
>>On Tue, Feb 21, 2023 at 03:39:28PM +0000, Bernhard Beschow wrote:
>>> 
>>> 
>>> Am 14. Februar 2023 13:14:29 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>>> >This series mostly cleans up QOM-related initialization code. It also performs
>>> >
>>> >some modernization and fixing.
>>> >
>>> >
>>> >
>>> >The first patch originates from "PC and ICH9 clanups" series [1] which has been
>>> >
>>> >dropped in v3 in favor of another series [2]. Review comments in [2] suggest it
>>> >
>>> >needs more work, so bring the patch back here.
>>> >
>>> >
>>> >
>>> >Patch 2 fixes a clangd warning and patch 3 modernizes usage of the memory API.
>>> >
>>> >
>>> >
>>> >Patches 4-9 clean up initialization code.
>>> >
>>> >
>>> >
>>> >The last four patches also clean up initialization code with the last patch
>>> >
>>> >doing the actual cleanup.
>>> >
>>> 
>>> Ping
>>
>>
>>sent some comments.
>
>I'll look into it over the weekend. I'm quite busy right now.

Forgot to mention: v2 is out!

>
>Best regards,
>Bernhard
>
>>Philippe was reviewing related patches maybe
>>he wants to poke at these too.
>>
>>> >
>>> >
>>> >Based-on: <20230213162004.2797-1-shentey@gmail.com>
>>> >
>>> >         "[PATCH v4 0/9] PC cleanups"
>>> >
>>> >
>>> >
>>> >Testing done:
>>> >
>>> >* `make check`
>>> >
>>> >* `make check-avocado`
>>> >
>>> >* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
>>> >
>>> >     manjaro-kde-21.3.2-220704-linux515.iso`
>>> >
>>> >
>>> >
>>> >[1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shentey@gmail.com/
>>> >
>>> >[2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-philmd@linaro.org/
>>> >
>>> >
>>> >
>>> >Bernhard Beschow (12):
>>> >
>>> >  hw/i386/pc_q35: Resolve redundant q35_host variable
>>> >
>>> >  hw/pci-host/q35: Fix contradicting .endianness assignment
>>> >
>>> >  hw/pci-host/q35: Use memory_region_set_address() also for
>>> >
>>> >    tseg_blackhole
>>> >
>>> >  hw/pci-host/q35: Initialize PCMachineState::bus in board code
>>> >
>>> >  hw/pci-host/q35: Initialize "bypass-iommu" property from board code
>>> >
>>> >  hw/pci-host/q35: Initialize properties just once
>>> >
>>> >  hw/pci-host/q35: Initialize PCI hole boundaries just once
>>> >
>>> >  hw/pci-host/q35: Turn PCI hole properties into class properties
>>> >
>>> >  hw/pci-host/q35: Rename local variable to more idiomatic "phb"
>>> >
>>> >  hw/pci-host/q35: Propagate to errp rather than doing error_fatal
>>> >
>>> >  hw/pci-host/q35: Merge mch_realize() into q35_host_realize()
>>> >
>>> >  hw/pci-host/q35: Move MemoryRegion pointers to host device
>>> >
>>> >
>>> >
>>> > include/hw/pci-host/q35.h |  17 +-
>>> >
>>> > hw/i386/pc_q35.c          |  33 ++--
>>> >
>>> > hw/pci-host/q35.c         | 325 ++++++++++++++++++--------------------
>>> >
>>> > 3 files changed, 178 insertions(+), 197 deletions(-)
>>> >
>>> >
>>> >
>>> >-- >
>>> >2.39.1
>>> >
>>> >
>>> >
>>