Details
-
Bug
-
Resolution: Fixed
-
Major
-
Original Xbox revision 1.3
-
0.4.15-dev-6106-g61012eb https://github.com/reactos/reactos/commit/61012eb544ebb12ffe878376af8c700ed6577cf0
Description
Changing AccessRanges array size to 2 introduces a failure in videoprt:
(win32ss/drivers/videoprt/resource.c:767) Too many access ranges found
|
(win32ss/drivers/videoprt/videoprt.c:447) HwFindAdapter call failed with error 0x8
|
(win32ss/drivers/videoprt/videoprt.c:854) IntVideoPortFindAdapter returned 0xc0000001
|
(ntoskrnl/io/iomgr/driver.c:635) '\Driver\XboxVmp' initialization failed, status (0xc0000001)
|
Full debug log: debug.log
This is because the actual Xbox GPU hardware has 3 MMIO ranges:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV2A [XGPU] [10de:02a0] (rev a1)
|
Subsystem: Unknown [0000:0000]
|
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 03
|
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
|
Memory at f0000000 (32-bit, prefetchable) [size=128M]
|
Memory at 00000000 (32-bit, prefetchable) [size=512K]
|
While the xemu emulator does not expose the last range, which was assumed as correct:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV2A [XGPU] [10de:02a0] (rev a1)
|
Subsystem: Unknown [0000:0000]
|
Flags: bus master, fast devsel, latency 0, IRQ 03
|
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
|
Memory at f0000000 (32-bit, prefetchable) [size=128M]
|
Changing the array size to 3 should fix it on both hardware and emulator, also confirmed with MS videoprt driver.