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