I have verified in winDBG in pci!PciExternalReadDeviceConfig that it
checks the offset and verifies that the aligned offset is below
0x100. If it is at or above 0x100 then the returning status is
0xC0000010 or STATUS_INVALID_DEVICE_REQUEST which is exactly what I am
getting.
This is contrary to msdn documentation http://msdn2.microsoft.com/En-US/library/aa906253.aspx
that says extended config space access is allowed:
"Drivers can read from the extended PCI device configuration space
(that is, more than 256 bytes of configuration data) using the
IRP_MN_READ_CONFIG request or the GetBusData method of
BUS_INTERFACE_STANDARD"
Please tell me that I am wrong! I really would rather not calculate
the offset from 0xe0000000 (using bus, dev, func) and manually read
physical memory at that location to get to the extended config space.
I WANT to use OS calls!
Thanks.
Gabe