devmap_callback_ctl(9s) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

devmap_callback_ctl(9s)

devmap_callback_ctl(9S) Kernel & Driver Data Structuresdevmap_callback_ctl(9S)

NAME
       devmap_callback_ctl - device mapping-control structure

SYNOPSIS
       #include <sys/ddidevmap.h>

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

DESCRIPTION
       A  devmap_callback_ctl  structure  describes a set of callback routines
       that are called by the system to  notify  a  device  driver  to  manage
       events  on  the  device mappings created by devmap_setup(9F) or ddi_de‐
       vmap_segmap(9F).


       Device drivers pass the initialized  devmap_callback_ctl  structure  to
       either  devmap_devmem_setup(9F)  or  devmap_umem_setup(9F)  in  the de‐
       vmap(9E) entry point during the mapping setup. The system makes a  pri‐
       vate  copy  of  the structure for later use. Device drivers can specify
       different devmap_callback_ctl for different mappings.


       A device driver should allocate the device  mapping  control  structure
       and  initialize  the  following  fields,  if the driver wants the entry
       points to be called by the system:

       devmap_rev       Version number. Set this to DEVMAP_OPS_REV.


       devmap_map       Set to the address of the devmap_map(9E)  entry  point
                        or  to  NULL if the driver does not support this call‐
                        back. If set, the system calls the devmap_map(9E)  en‐
                        try  point during the mmap(2) system call. The drivers
                        typically allocate driver private  data  structure  in
                        this  function  and  return the pointer to the private
                        data structure to the system for later use.


       devmap_access    Set to the  address  of  the  devmap_access(9E)  entry
                        point  or  to NULL if the driver does not support this
                        callback. If set, the system calls  the  driver's  de‐
                        vmap_access(9E)  entry point during memory access. The
                        system expects devmap_access(9E) to  call  either  de‐
                        vmap_do_ctxmgt(9F)   or  devmap_default_access(9F)  to
                        load the memory address translations before it returns
                        to the system.


       devmap_dup       Set to the address of the devmap_dup(9E)  entry  point
                        or  to  NULL if the driver does not support this call.
                        If set, the  system  calls  the  devmap_dup(9E)  entry
                        point during the fork(2) system call.


       devmap_unmap     Set to the address of the devmap_unmap(9E) entry point
                        or  to  NULL if the driver does not support this call.
                        If set, the system will call the devmap_unmap(9E)  en‐
                        try  point  during  the  munmap(2)  or  exit(2) system
                        calls.


STRUCTURE MEMBERS
         int  devmap_rev;
         int  (*devmap_map)(devmap_cookie_t dhp, dev_t dev,
              uint_t flags,offset_t off, size_t len, void **pvtp);
         int  (*devmap_access)(devmap_cookie_t dhp, void *pvtp,
              offset_t off, size_t len, uint_t type, uint_t rw);
         int  (*devmap_dup)(devmap_cookie_t dhp, void *pvtp,
                      devmap_cookie_t new_dhp, void **new_pvtp);
         void (*devmap_unmap)(devmap_cookie_t dhp, void *pvtp,
              offset_t off, size_t len, devmap_cookie_t new_dhp1,
              void **new_pvtp1, devmap_cookie_t new_dhp2, void **new_pvtp2);


SEE ALSO
       exit(2), fork(2), mmap(2),  munmap(2),  devmap(9E),  devmap_access(9E),
       devmap_dup(9E),      devmap_map(9E),      devmap_unmap(9E),     ddi_de‐
       vmap_segmap(9F),  devmap_default_access(9F),   devmap_devmem_setup(9F),
       devmap_do_ctxmgt(9F), devmap_setup(9F), devmap_umem_setup(9F)


       Writing Device Drivers in Oracle Solaris 11.4

Oracle Solaris 11.4               24 Jul 1996          devmap_callback_ctl(9S)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3