NdisMAllocateSharedMemory, Bus logical address and Physical addre

Discussion in 'Windows Vista Drivers' started by suu-n-soup, Feb 8, 2006.

  1. suu-n-soup

    suu-n-soup Guest

    Hi

    We're developing a cardbus (dma master) NIC.

    I'm allocating shared memory in the Ndis driver using
    NdisMAllocateSahredMemory(). This call, gives me the virtuall address and
    physicall adress of the buffer.

    Now, How do I translate the returned physical address to a Bus logical
    address,
    which I can pass to my device.?

    Or Can the physical address reurned by the NdisMAllocateSharedMemory()
    be directly given to the dma master?

    Can a dma master use the physical address and access the system memory
    even if it has to go through PCI bridges.

    Thanks inAdance.
    ~suu_n_soup
     
    suu-n-soup, Feb 8, 2006
    #1
    1. Advertisements

  2. Or Can the physical address reurned by the NdisMAllocateSharedMemory()
    Yes. The doc should be updated to say Logical Address instead of Physical
    address. If you read the NdisMAllocateSharedMemory, it does say the
    following in the comment section:

    "That is, a "physical" address range described by the value at
    PhysicalAddress and Length can be a range of mapped logical addresses that
    do not match the host physical addresses for the allocation in every
    possible platform."

    -Eliyas
     
    Eliyas Yakub [MSFT], Feb 8, 2006
    #2
    1. Advertisements

  3. I'm allocating shared memory in the Ndis driver using
    Being the wrapper around ->AllocateCommonBuffer, it returns the bus logical
    address.
     
    Maxim S. Shatskih, Feb 9, 2006
    #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.