Get out-of-band DMA buffers working for user<->user syslinks. This
commitd317cbb6a409a3640f0dca3c2655ff9f097fba4a
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Jun 2007 00:18:05 +0000 (29 00:18 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 29 Jun 2007 00:18:05 +0000 (29 00:18 +0000)
treeae6dc1aabec462c0944b53e41d30deeb7278459e
parent2239399cb8b349b2d1ad04b48ff669ed39c81e8f
Get out-of-band DMA buffers working for user<->user syslinks.  This
allows the syslink protocol to operate in a manner very similar to the
way sophisticated DMA hardware works, where you have a DMA buffer attached
to a command.

Augment the syslink protocol to implement read, write, and read-modify-write
style commands.

Obtain the MP lock in places where needed because fileops are called without
it held now.  Our VM ops are not MP safe yet.

Use an XIO to map VM pages between userland processes.  Add additional
XIO functions to aid in copying data to and from a userland context.  This
removes an extra buffer copy from the path and allows us to manipulate pure
vm_page_t's for just about everything.
sys/kern/kern_syslink.c
sys/kern/kern_xio.c
sys/sys/syslink.h
sys/sys/syslink_msg.h
sys/sys/xio.h