MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Kernel Functions for Drivers                    scsisyncpkt(9F)



NAME
     scsisyncpkt - synchronize CPU and I/O views of memory

SYNOPSIS
     #include 



     void scsisyncpkt(struct scsipkt *pktp);


INTERFACE LEVEL
     Solaris DI specific (Solaris DI).

PARAMETERS
     pktp    Pointer to a scsipkt(9S) structure.


DESCRIPTION
     The scsisyncpkt() function is  used  to  selectively  syn-
     chronize  a  CPU's  or  device's view of the data associated
     with the SCSI packet that has been mapped for I/O. This  may
     involve  operations such as flushes of CPU or I/O caches, as
     well as other more complex operations such as stalling until
     hardware write buffers have drained.


     This  function  need  only  be  called  under  certain  cir-
     cumstances.  When  a  SCSI  packet  is  mapped for I/O using
     scsiinitpkt(9F) and destroyed using  scsidestroypkt(9F),
     then an implicit scsisyncpkt() will be performed. However,
     if the memory object has been modified by either the  device
     or a CPU after the mapping by scsiinitpkt(9F), then a call
     to scsisyncpkt() is required.


     If the same scsipkt is reused  for  a  data  transfer  from
     memory  to  a  device,  then  scsisyncpkt() must be called
     before calling scsitransport(9F). If  the  same  packet  is
     reused   for  a  data  transfer  from  a  device  to  memory
     scsisyncpkt() must be called after the completion  of  the
     packet but before accessing the data in memory.

CONTEXT
     The scsisyncpkt() function may be called from user, inter-
     rupt, or kernel context.

SEE ALSO
     transyncpkt(9E),  ddidmasync(9F),  scsidestroypkt(9F),
     scsiinitpkt(9F), scsitransport(9F), scsipkt(9S)





SunOS 5.11          Last change: 16 Jan 2006                    1






Kernel Functions for Drivers                    scsisyncpkt(9F)



     Writing Device Drivers






















































SunOS 5.11          Last change: 16 Jan 2006                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™