In Win98 vm gpu driver issues with old ati gpu if it has BAR0: 64 bit, BAR4: I/O; no issue if it has BAR0: 32 bit, BAR1: I/O Description of problem: In win98se vm no errors in device manager,ati control panel complains that the driver is not loaded and desktop can only be used in 16 color 640x480. The problematic old ati gpus work correctly when booting win98 directly(no qemu vm, same host hardware) Drivers fail to load in win98 vm for old ati gpu(x600, x700, x800, x850) that has: ``` Region 0: Memory at 4020000000 (64-bit, prefetchable) [size=256M] Region 2: Memory at 41b30000 (64-bit, non-prefetchable) [size=64K] Region 4: I/O ports at 3000 [size=256] Expansion ROM at 41b00000 [disabled] [size=128K] ``` Old ati gpu(x300, x550) that have this, load/work correctly in win98 vm: ``` Region 0: Memory at 40000000 (32-bit, prefetchable) [size=64M] Region 1: I/O ports at 3000 [size=256] Region 2: Memory at 45b30000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at 45b00000 [disabled] [size=128K] ``` Additional information: I am using a QEMU build from branch master from a few days ago, with a fix for segfault when using 'x-vga=on' on some old ati gpu(Region 0: Memory at 40000000 (32-bit),Region 1: I/O ports) https://gitlab.com/qemu-project/qemu/-/issues/2856. (Win98 gpu driver issues with old ati gpu if it has "BAR0: 64 bit, BAR4: I/O" was the same with QEMU version 9.12). x700: ``` QEMU 9.2.50v9.2.0-2799-g0462a32b4f monitor> info pci: Bus 0, device 2, function 0: VGA controller: PCI device 1002:5e4d PCI subsystem 148c:2129 IRQ 10, pin A BAR0: 64 bit prefetchable memory at 0xe0000000 [0xefffffff]. BAR2: 64 bit memory at 0x00010000 [0x0001ffff]. BAR4: I/O at 0xc000 [0xc0ff]. BAR6: 32 bit memory at (not mapped) id "" Bus 0, device 2, function 1: Display controller: PCI device 1002:5e6d PCI subsystem 148c:2128 BAR0: 64 bit memory at 0xfebf0000 [0xfebfffff]. id "" ``` ``` lspci -vv: 08:00.0 0300: 1002:5e4d VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV410 [Radeon X700] (prog-if 00 [VGA controller]) Subsystem: Tul Corporation / PowerColor Device 2129 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- info pci: us 0, device 2, function 0: VGA controller: PCI device 1002:5b63 PCI subsystem 174b:1500 IRQ 10, pin A BAR0: 32 bit prefetchable memory at 0xef800000 [0xfbffffff]. BAR1: I/O at 0xc000 [0xc0ff]. BAR2: 32 bit memory at 0x00010000 [0xfebdffff]. BAR6: 32 bit memory at (not mapped) id "" Bus 0, device 2, function 1: Display controller: PCI device 1002:5b73 PCI subsystem 174b:1501 BAR0: 32 bit memory at 0xfebf0000 [0xfebfffff]. id "" lspci -vv: 08:00.0 1002:5b63 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV370 [Radeon X300/X550/X1050 Series] (prog-if 00 [VGA controller]) Subsystem: PC Partner Limited / Sapphire Technology Device 1500 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR-