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-shen...@gmail.com> "[PATCH v4 0/9] PC cleanups" [1] https://lore.kernel.org/qemu-devel/20230131115326.12454-1-shen...@gmail.com/ [2] https://lore.kernel.org/qemu-devel/20230203180914.49112-1-phi...@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