>       Hi, Wolfgang:
> 
> You wrote:
> 
> >You don't allocate space and  assign  it  a  physical
> >address,  it's exactly the other way round:
> >
> >There is some physical memory starting at phys_addr  
> >with  a  certain size,  and  you  use  ioremap()  
> >resp. ioremap_nocache() to get it's virtual start 
> >address.
> 
>       Really, there are two problems:
> 
>       1.- I have to allocate memory inside the PPC860T
> dual-port RAM for the buffer descriptors. I have
> seen in the Linux kernel source that it uses
> 
>       m8xx_cpm_dpalloc()
> 
> function.
> 
>       2.- I have to allocate memory somewhere else in 
> RAM in order for the DMA to handle the communication
> data from/to the controller. Linux kernel uses
> 
>       m8xx_cpm_hostalloc()
> 
> to get some space from RAM, and then
> 
>       _pa()
> 
> to translate virtual into physical address for the
> buffer descriptor field "Buffer Pointer".
>

give the enet driever for mpc860 a look in 
arch/ppc/8xx_io/enet.c this should clarify how this is done.

you allocate the dual ported ram in the cpm first and then 
allocate the host memory and make in uncached.

hofrat
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/

Reply via email to