Messages in this thread | | | From | "Stephen C. Tweedie" <> | Date | Thu, 19 Aug 1999 17:43:00 +0100 (BST) | Subject | Re: [bigmem-patch] 4GB with Linux on IA32 |
| |
Hi,
On Wed, 18 Aug 1999 13:54:40 -0400, Peter Desnoyers <pjd@giganet.com> said:
> With a bit of work I think my driver might be bigmem-safe, as although > it walks the page table, it only translates to DMA-able bus addresses, > and never to kernel virtual memory addresses. The mmap() solution > doesn't work here, at least in a way that conforms with the API we're > trying to implement, because it doesn't allow the application to > register its own buffers. Physical contiguousness isn't an issue, > because the hardware can do per-page scatter/gather.
Use kiobufs --- that's what they are there for. Look at the way the raw IO code works when doing IO to existing user addresses: it creates a kiobuf and does a map_user_kiobuf() to map the user's virtual address range into the kiobuf. You can then do any processing you want on the kiobuf using plain, pinned, normal, clean kernel virtual addresses.
--Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |