On 6/1/20 7:29 AM, Philippe Mathieu-Daudé wrote: > memory_region_set_size() handle the 16 Exabytes limit by > special-casing the UINT64_MAX value. This is not a problem > for the 32-bit maximum, 4 GiB. > By using the UINT32_MAX value, the pci_bridge_io MemoryRegion > ends up missing 1 byte: > > (qemu) info mtree > memory-region: pci_bridge_io > 0000000000000000-00000000fffffffe (prio 0, i/o): pci_bridge_io > 0000000000000060-0000000000000060 (prio 0, i/o): i8042-data > 0000000000000064-0000000000000064 (prio 0, i/o): i8042-cmd > 00000000000001ce-00000000000001d1 (prio 0, i/o): vbe > 0000000000000378-000000000000037f (prio 0, i/o): parallel > 00000000000003b4-00000000000003b5 (prio 0, i/o): vga > ... > > Fix by using the correct value. We now have: > > memory-region: pci_bridge_io > 0000000000000000-00000000ffffffff (prio 0, i/o): pci_bridge_io > 0000000000000060-0000000000000060 (prio 0, i/o): i8042-data > 0000000000000064-0000000000000064 (prio 0, i/o): i8042-cmd > ... > > Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/pci/pci_bridge.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~