[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
How to map system physical address to PCI logical address?
- To: pci-sig@znyx.com
- Subject: How to map system physical address to PCI logical address?
- From: hicks <hicks@kgk.co.jp>
- Date: Sun, 01 Sep 2002 12:03:30 +0900
- Resent-Date: Sat, 31 Aug 2002 20:03:53 -0700
- Resent-From: pci-sig@znyx.com
- Resent-Message-ID: <1u_7hC.A.qgG.PKYc9@electra>
- Resent-Sender: pci-sig-request@znyx.com
- User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; ja-JP; rv:0.9.2) Gecko/20010726 Netscape6/6.1
How to map system physical address to PCI logical address?
------------------------------------------------------------
We have a board which writes directly to main memory via PCI bus.
Until recently we have used onlly single PCI bus systems,
but in upgrading to 66 MHz. 64bit are using a motherbord
with 2 buses. (MB is Super micro PT3TDLE, north bridge CNB30LE).
DMA is contiguous (not scatter/gather).
O/S is NT, and we allocate non-paged pool memory at boot time.
(One big buffer of about 100 MB) for PCI to mmeory DMA.
Previously, the physical system memory address returned by NT kernel
when allocating this memory could be used as is for PCI
DMA transfer destination address. With 2 PCI buses there appears
to be another address translation involved.
Is this second translation (system->pci) available in a standard way?
(Perhaps in some PCI config register of a PCI bridge chip?)
It doesn't have to be available in software.
It is sufficient (at this point) that to be able to deduce by "hand"
for a particular type of motherboard/chipset.
Thanks
Craig Hicks
hicks@kgk.co.jp
KGK Tokyo Japan