On Thu, Nov 17, 2005 at 03:13:10PM -0500, Shuang Liang wrote: > Thanks for your reply! > I am trying to write a gen2 based kernel module here. Basically, what > I am trying to do is to send a one byte kernel buffer to a remote user > process. I used get_dma_mr to get the mr before hand at the sender side, > so that I don't have to bother to register when sending the kernel > buffer. Since I am working on IA-32 machine, so I assume bus addr and > phys addr are the same(I tried both virt_to_phys and dma_map_single() > for addresss translation actually).
dma_map_single() is the correct interface to get a bus address. > What I noticed was that if the buffer is above in high memory, the > data was not received correctly; while if in low memory, things work. > Does this mean HCA is not able to address high memory or maybe I am > missing sth here? Are you using a dma_addr_t (a 64-bit type) to store the return value? oh...you have CONFIG_HIGHMEM64G enabled? (See include/asm-i386/types.h and look for dma_addr_t) grant _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
