cvs commit: src/sys/kern kern_syslink.c src/sys/sys syslink.h syslink_msg.h syslink_msg2.h
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun May 27 13:37:16 PDT 2007
dillon 2007/05/27 13:35:43 PDT
DragonFly src repository
Modified files:
sys/kern kern_syslink.c
sys/sys syslink.h syslink_msg.h syslink_msg2.h
Log:
Syslink API work - greatly simplify the syslink_msg structure. Reimplement
the user API (NOTE: DMA buffers not yet implemented) and start working on
a kernel backend API.
Get rid of the inband DMA buffer fields and physical routing fields.
Replace the 32 bit message id with a 64 bit message id.
The 64 bit msgid allows guarenteed unique ids to be synthesized without
requiring the end points to actually track message ids.
Add a RPC protocol field (sm_proto) and move the command/reply bit and
endian detect bits from sm_msgid to sm_proto. This allows the exact same
sm_msgid supplied in a command to be used in the reply and frees up bits
in the msgid that were previously going to be used for the protocol.
A separate protocol field also makes it a lot easier for the recipient
to check that the protocol is compatible with its expectations.
Implement a message based userland API and implement a syslink pair feature
so userland can get descriptors for both sides, for testing. Implement
buffering limits, non-blocking I/O (but not select support yet), check
for duplicate message ids in active commands and match replies to commands.
Implement endian conversion to native endianess for the syslink message
header and any structured message elements.
Begin work on an out-of-band dma buffer API.
Revision Changes Path
1.11 +915 -1036 src/sys/kern/kern_syslink.c
1.9 +78 -136 src/sys/sys/syslink.h
1.8 +222 -185 src/sys/sys/syslink_msg.h
1.2 +59 -100 src/sys/sys/syslink_msg2.h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_syslink.c.diff?r1=1.10&r2=1.11&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syslink.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syslink_msg.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/syslink_msg2.h.diff?r1=1.1&r2=1.2&f=u
More information about the Commits
mailing list