This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PCI Address Mapping


Hi,

I am writing a HAL for a PCI based development board and I have
a question about mapping.  First let me say what I think I know.

1.  HAL_PCI_ALLOC_BASE_xxx is the address in PCI space
that we begin assigning space to each device found.  This
indicates where in PCI space that device will reside, either
IO or MEM.

2. HAL_PCI_PHYSICAL_xxx_BASE is where in CPU space
these devices will now be seen.  This implies a mapping from
local space at HAL_PCI_PHYSICAL_xxx_BASE to PCI space
at HAL_PCI_ALLOC_BASE_xxx that must be setup inside the
PCI bridge device.

Ok, assuming that what I think I know is correct, what I need to
know is how to assign to a PCI master device an address that
it can use to access local memory.  That is, if I have SDRAM
at address x in local space, what address in PCI space do I
tell the device to use?   Obviously it can't be the same as
HAL_PCI_ALLOC_BASE_xxx since that would cause a clash.

This is the info I need to setup the PCI to Local Mapping in the
bridge device.  Also I need this in order to insure that I setup
my MMU to disable caching for the correct local address

Sorry this is so long, but any help would be most appreciated.
Regards,
Michael


Michael J. Kelly
VP Engineering/Marketing
Cogent Computer Systems, Inc.
1130 Ten Rod Road
Suite A-201
North Kingstown, RI 02852
tel:401-295-6505 fax:401-295-6507
www.cogcomp.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]