This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: PCI Address Mapping
- From: Jonathan Larmour <jlarmour at redhat dot com>
- To: Michael Kelly <mike at cogcomp dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Fri, 18 Jan 2002 17:45:54 +0000
- Subject: Re: [ECOS] PCI Address Mapping
- Organization: Red Hat UK Ltd.
- References: <5.1.0.14.2.20020118094641.00b3dcd8@mail.cedata.com>
Michael Kelly wrote:
>
> Hi,
>
> Well I found my answer, and it's a bit ugly!
>
> We have a hard coded window defined in the .mlt file as
> pci_window. This insures that malloc won't take it. Then
> for the 82559 driver, we simply use the following defines
> in the .inl file:
>
> #define CYGHWR_INTEL_I82559_PCI_MEM_MAP_BASE 0x01F00000
> #define CYGHWR_INTEL_I82559_PCI_MEM_MAP_SIZE 0x0010000
>
> This means that one driver eats up all of the local memory
> space assigned for PCI accesses. If you have a second
> PCI device you're out of luck. Unless you want to write your
> own heap manager.
>
> Is the correct? Is their any chance of a real heap manager
> for PCI bus mastering devices?
We've been talking about this internally - there is certainly a need for
it, and the allocator can be very simple (it never needs to free[1]). I
don't believe anyone is working on it though.
Jifl
[1] uh, well, probably :-)
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine