Hello, i am trying to set PLX9054 and MPC860 to be able to write from
Local to PCI address space.
In my handle start device routine i allocate a common buffer and i get
the physical address (lets say is 0x03981000).
I want to instruct PLX so every local access in space address 0x5FFFFFFF
be addressed in to PCI memory space.
So i write in PLX registers the following values.
reg(0x1C) = 0x40000000
reg(0x20) = 0x50000000
reg(0x28) = 0x00000001
The range is about 512MB
Now all my accesses from the MPC are at 0x50000000 + 0x03981000 + offset.
when i check the values of the virtual address returned from
AllocateCommonBuffer nothing is written.
Any ideas?
Thank you in advance.
If I read you correctly, you are trying to mapped
certain local address space into host memory address?
Now all my accesses from the MPC are at 0x50000000 +
0x03981000 + offset.
The key is to make sure when your onboard MPC making
access to 0x50000000 + 0x03981000:
- The PLX (as initiator) must correctly assert
address 0x03981000 on the bus,
- The NB (or the Root Complex in the case of PCI-E)
must claim it and feed correct data.
I don’t remember how 9054 works but this can be easily
verified by hooking a bus analyzer and watching the
PCI cycles.
HTH
Calvin Guan (Windows DDK MVP)
NetXtreme Longhorn Miniport Prime
Broadcom Corp. www.broadcom.com
Find your next car at http://autos.yahoo.ca