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 git-tree for testing: https://github.com/imammedo/qemu/commits/pcihole64_fix_v2 Igor Mammedov (5): pc: add I440FX QOM cast macro utils: add range_size() wrapper pc: replace i440fx_common_init() with i440fx_init() as it isn't used by anywhere else 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 hw/i386/pc.c | 61 ++++++++++++++++++------------- hw/i386/pc_piix.c | 14 +------- hw/i386/pc_q35.c | 2 +- hw/pci-host/piix.c | 91 ++++++++++++++++++++++++++--------------------- hw/pci-host/q35.c | 32 ++++++++++------- include/hw/i386/ioapic.h | 1 + include/hw/i386/pc.h | 5 ++- include/hw/pci-host/q35.h | 1 + include/qemu/range.h | 6 ++++ 9 files changed, 119 insertions(+), 94 deletions(-) -- 1.8.3.1