How to gain access to the PLX 8311 PCI Epress registers

Discussion in 'Windows Vista Drivers' started by Francois Champs, Mar 23, 2007.

  1. Dear All,
    This is maybe a dummy question but anyway...:

    I'm trying to gain access to the PCI configuration space and BARs of the bus
    under my PCI device.

    I can't find any clean way for that. The only thing I found out is to use
    the Halxxxx apis and read the ACPI tables by hand...

    The context is the following:
    We're using the 8311 PLX chip that is made of a 9056 (PCI bridge) and a 8111
    (PCI Express to PCI bridge). The thing is that both chipsets are seen by the
    device manager. My driver addresses the 9056 and the 8111 is managed by
    Windows native PCI bus driver.

    I'm trying to gain access to the 8111 CPI Epress registers to make
    additionnal (non default) configuration.

    By the way, I can't either find any apis to manage PCI Epress Enhanced
    Configuration Space (ECAM, the chip is PCI Express 1.0) and nothing for the
    PCI Epress Trusted Configuration Space (TCAM for 2.0...??).

    Any hint about those 2 points?
    Many thanks in advance,
    Francois.
     
    Francois Champs, Mar 23, 2007
    #1
    1. Advertisements

  2. Francois Champs

    Calvin Guan Guest

    I'm trying to gain access to the PCI configuration space and BARs of the
    if ((Offset>256)&& (NTVER<6.0)) {
    // No easy way
    return;
    }
    if ((Offset<256)|| (NTVER>=6.0)) {
    use IRP_MN_R/W config or PCI interface standard
    }

    --
    Calvin Guan (expiring DDK MVP)
    Sr. Staff Engineer
    NetXtreme NTX Miniport
    Broadcom Corporation
    Connecting Everything(r)
     
    Calvin Guan, Mar 24, 2007
    #2
    1. Advertisements

  3. Dear Calvin, Dear All,
    Thank you for your answser.

    The real question is that I can't find any mean to get the ptr on the DO for
    PDO of the bus under my device and walk along the stacks. I did not realize
    that this can be done easily in user mode (CM_XXX apis) but not in kernel
    mode. Am I right...?

    Do mean that this can be done with Vista?

    The only solution I see at this stage is to add an upper bus filter to gain
    access to its PCI registers. That's the solution I'm working on. The other
    one would be to rewrite the PCI bus driver.... Do you agree?

    From a upper level, is this PLX 8311 chipset so exotic....? Is this the only
    context where we should gain access on custom registers on a device handled
    by MS native driver for the standard part...???

    Have nice day all!!!!
    Francois.
     
    Francois Champs, Mar 28, 2007
    #3
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.