Hi.
Is there any way to get the device object of the bus driver whoâ??s created
the PDO to which our device is attached?
To be precise, I have a legacy PCI device which works more reliably with old
applications if itâ??s been assigned legacy I/O addresses (i.e. 12-bit ISA
ports below 0x1000). To achieve this, I use the PCI bridge
subtractive-decode: add extra resource lists with desired resources to the
resource requirements list and then rely on PnP Manager to assign one if
available, or just use boot resources in case of a positive-only bridge or if
resources arenâ??t available.
However, on one particular system, Iâ??ve hit a problem where although the
bridge does not support subtractive-decode (based on â??How Windows Identifies
and Supports Bridge Typesâ?? section of â??Supporting Subtractive PCI-to-PCI
Bridges in Windowsâ??), PnP manager still sends me resources which are only
available for a subtractive-decode bridge. This apparently ends up in a crash
and possibly is a bug in PnP/PCI driver(?).
As a workaround, Iâ??m trying to get the device object of the underlying PCI
bridge (which is on a different stack) and use it to read the PCI config
space of the bridge and verify if the programming interface (in class code)
is 01.
How could this be done? Are there any other ways of achieving this?
Thanks,
DaveH