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.
Testing done:
* `make check`
* `make check-avocado`
* `qemu-system-x86_64 -M q35 -m 2G -cdrom \
manjaro-kde-21.3.2-220704-linux515.iso`
v2 (addresses Michael's comments):
- Patch "hw/pci-host/q35: Fix double, contradicting .endianness assignment"
- Fix Fixes tag
- Switch to native endian
- Add clang warning
- Patch "Use memory_region_set_address() also for tseg_blackhole"
- Rephrase commit message to avoid pseudo "Ammends" tag
- Introduce PCI_HOST_BYPASS_IOMMU macro to avoid duplicating the property name
- Patch "hw/pci-host/q35: Initialize properties just once"
- Mention manual reassignment in commit message as the problem being fixed
Based-on: <20230213162004.2797-1-shentey@gmail.com>
"[PATCH v4 0/9] PC cleanups"
[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 (13):
hw/i386/pc_q35: Resolve redundant q35_host variable
hw/pci-host/q35: Fix double, 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/pci_host: Introduce PCI_HOST_BYPASS_IOMMU macro
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 +-
include/hw/pci/pci_host.h | 2 +
hw/i386/pc_q35.c | 33 ++--
hw/pci-host/q35.c | 317 ++++++++++++++++++--------------------
hw/pci/pci_host.c | 2 +-
5 files changed, 181 insertions(+), 190 deletions(-)
--
2.39.2