This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: bugs in AT91 Ethernet driver
On Sat, May 31, 2008 at 03:49:24PM +0400, I-Yanaslov wrote:
>
>> However, you are wrong about the TX buffers being on the heap. The
>> buffer is inside the at91_eth_priv_t structure. This is allocated at
>> the end of if_at91.c. It will be placed in the data segment.
>
> at91_eth_priv structure is contains only RX buffers, RX buffer
> descriptors and "TX buffer descriptors". No contains "TX buffers".
>
> at91_eth_send() shows " priv->tbd[priv->curr_tbd_idx].addr =
> sg_list[i].buf; " - no memory copy, only address assigment.
> But, sg_list[] it is mbuf, dynamically allocated in TCP/IP stack.
Ah, OK. My error. That makes it more messy.
How big is the SRAM on these ARM9 devices? 32K, 64K? If it is big
enough maybe we can move net_mbufs_area[] into the SRAM. Otherwise a
copy is needed for every packet to be transmitted.
Andrew
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss