Re: [bigmem-patch] 4GB with Linux on IA32

Stephen C. Tweedie (sct@redhat.com)
Thu, 19 Aug 1999 17:43:00 +0100 (BST)


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/