[openib-general] [ANNOUNCE] GSI Implementation Candidate
Roland Dreier
roland at topspin.com
Mon Aug 2 08:39:32 PDT 2004
Grant> How does that work on ia64? I think I'm being confused by
Grant> "all of lowmem" when maybe only kernel bits are meant. Is
Grant> that right?
Grant> To be clear, we only want to call DMA mapping services for
Grant> pages that are pinned (can't be swapped out). I'm pretty
Grant> sure (Roland) you know that already though.
Right now what we do is a little ugly. But we tell the HCA to create
a memory region covering memory from address 0 up to (high_memory-PAGE_OFFSET)
where address 0 is translated to address 0 (ie the identity mapping).
This works OK on the vast majority of systems but will break if we
encounter systems with physical memory starting somewhere other than
0, discontiguous memory, a crazy PCI mapping that uses some other
range of addresses, etc...
In any case, yes you are right, the pci_map call should be on DMA-able
memory (kmalloced memory or the like).
Once we have the basic verbs API all squared away, I would like to add
an extension to get an L_Key with translation turned off. This is
almost like 'default L_Key' from the verbs extensions, but Tavor will
require a protection domain as well. This will let the HCA use any
address returned from pci_map_xxx().
- Roland
More information about the general
mailing list