> 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/
