It turns out that some 32 bit windows guests crash if 64 bit PCI hole size is >2G. Limit it to 2G for piix and q35 by default.
v1-v2: * redone using QOM properties to pass value around v2-v3: * make pci_hole[64]-(start|end) properties read-only * add pci-hole64-size property to manage hole size git-tree for testing: https://github.com/imammedo/qemu/commits/pcihole64_fix_v3 Igor Mammedov (4): pc: add I440FX QOM cast macro pc: replace i440fx_common_init() with i440fx_init() pc: add Q35 to QOM composition tree under /machine pc: limit 64 bit hole to 2G by default Michael S. Tsirkin (1): pc: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/ioapic.h Vasilis Liaskovitis (2): qapi: make visit_type_size fallback to type_int qdev: Add SIZE type to qdev properties hw/core/qdev-properties.c | 55 +++++++++++++++ hw/i386/pc.c | 58 ++++++++++------- hw/i386/pc_piix.c | 14 +---- hw/i386/pc_q35.c | 1 + hw/pci-host/piix.c | 149 ++++++++++++++++++++++++++++++------------ hw/pci-host/q35.c | 88 ++++++++++++++++++++---- include/hw/i386/ioapic.h | 1 + include/hw/i386/pc.h | 14 +++- include/hw/pci-host/q35.h | 2 + include/hw/qdev-properties.h | 3 + include/qemu/option.h | 2 + qapi/qapi-visit-core.c | 11 +++- util/qemu-option.c | 4 +- 13 files changed, 302 insertions(+), 100 deletions(-)