DMA mapping on sparc64 (was Re: [openib-general] [ANNOUNCE] tvflash: userspace-only Mellanox HCA flash tool)

Michael S. Tsirkin mst at mellanox.co.il
Tue Sep 14 21:00:34 PDT 2004


Hello!
Quoting r. Roland Dreier (roland at topspin.com) "DMA mapping on sparc64 (was Re: [openib-general] [ANNOUNCE] tvflash: userspace-only Mellanox?HCA flash tool)":
>     Tom> high_memory - PAGE_OFFSET = 0x000000007fecc000
> 
>     Tom> scatter_list.addr = 0x00000000c3b7a360 through 00000000c3f96d80
> 
> Yup, that's the problem.
> 
> As a quick hack you can change the .size in ib_mad_register_memory to
> (1ULL << 32).  There's some similar code in ipoib_transport_dev_init()
> that needs the same treatment too.  That should make things work.
> 
> The correct fix is to add a new operation to return an L_Key that
> covers any DMA address.  I'll post some patches to do that soon (I
> hope this week).
> 
>  - R.

I think this is going to break anyway when you actually have more than 4G
memory that you can DMA into.
I think its more portable to allocate mads out of some pool, registering this
pool with an lkey.

MST



More information about the general mailing list