I am pretty sure that the BIOS is allowing Vista to take control of
PCIe since in WinDBG I can do a !pci 0x101 3 0 0 (my device is on bus
3, dev 0, func 0):
..[Config Space 0x00-0xFF omitted]...
Enhanced Capabilities:
100: CapID 0002 Virtual Channel Capability
Version 1
NextPtr 800
800: CapID 0001 Advanced Error Reporting Capability
Version 1
NextPtr 000
However on another machine running Vista where I'm pretty sure the
BIOS does not do the _OSC method and I think it is verified when I
run !pci 0x101 on the same device there will be no "Enhanced
Capabilities listing at all.
Neither of the two Microsoft sanctioned ways (that I am aware of (i.e.
GetBusData and IRP_MN_READ_CONFIG)) to access extended config space
worked for me. I have even used the example verbatim from
http://msdn2.microsoft.com/en-us/library/ms795302.aspx. The status
returned from the IRP_MN_READ_CONFIG method is
STATUS_INVALID_DEVICE_REQUEST.
I've even tried installing Vista SP1 Beta, but the results are the
same.
Any other venues I should take/investigate?
Thank you in advance.
Gabe