Writing Device Drivers
    
D
 
 data alignment for SPARC ( Index Term Link )
 
 data corruption
  detecting ( Index Term Link ) ( Index Term Link )
 
 data storage classes ( Index Term Link )
 
 data structures
  dev_ops(9S) ( Index Term Link )
  modldrv(9S) ( Index Term Link )
 
 data transfers, character drivers ( Index Term Link )
 
 DDI, access mechanism ( Index Term Link )
 
 ddi_ functions
  ddi_add_intr(9F)() ( Index Term Link )
  ddi_create_minor_node(9F)() ( Index Term Link )
  ddi_dev_is_needed(9F)() ( Index Term Link )
  ddi_dma_getwin(9F)() ( Index Term Link )
  ddi_dma_nextseg(9F)() ( Index Term Link )
  ddi_enter_critical(9F)() ( Index Term Link )
  ddi_prop_get_int(9F)() ( Index Term Link )
  ddi_prop_lookup(9F)() ( Index Term Link )
  ddi_prop_op(9F)() ( Index Term Link )
  ddi_regs_map_setup(9F)() ( Index Term Link )
  ddi_umem_alloc(9F)() ( Index Term Link )
  ddi_umem_free(9F)() ( Index Term Link )
 
 ddi_check_acc_handle() ( Index Term Link )
 
 ddi_check_dma_handle() ( Index Term Link )
 
 DDI-compliant drivers
  byte ordering ( Index Term Link )
  compliance testing ( Index Term Link )
 
 DDI/DKI
  and disk performance ( Index Term Link )
  overview ( Index Term Link )
 
 ddi_dma_attr structure ( Index Term Link )
 
 ddi_dma_sync() ( Index Term Link )
 
 ddi_get() ( Index Term Link )
 
 DDI_INFO_DEVT2DEVINFO ( Index Term Link )
 
 DDI_INFO_DEVT2INSTANCE ( Index Term Link )
 
 DDI_INTR_UNCLAIMED ( Index Term Link )
 
 ddi_peek() ( Index Term Link )
 
 ddi_poke() ( Index Term Link )
 
 ddi_put() ( Index Term Link )
 
 ddi_regs_map_setup() ( Index Term Link )
 
 ddi_rep_get() ( Index Term Link )
 
 ddi_rep_put() ( Index Term Link )
 
 DDI_RESUME command ( Index Term Link )
 
 DDI_SUSPEND command ( Index Term Link )
 
 debugging
  ASSERT(9F) macro ( Index Term Link )
  booting an alternate kernel ( Index Term Link )
  coding hints ( Index Term Link )
  conditional compilation ( Index Term Link )
  kadb(1) ( Index Term Link )
  SCSI target driver ( Index Term Link )
  setting breakpoints ( Index Term Link ) ( Index Term Link )
  setting up a tip(1) connection ( Index Term Link )
  tools ( Index Term Link )
  using the SPARC PROM for device debugging ( Index Term Link )
 
 detach(9E) entry point ( Index Term Link )
 
 dev_ops(9S) structure ( Index Term Link )
 
 devfsadm(1M) command ( Index Term Link )
 
 device, hung ( Index Term Link )
 
 device access
  system calls ( Index Term Link ) ( Index Term Link )
 
 device configuration, entry points ( Index Term Link )
 
 device context management ( Index Term Link )
  entry points ( Index Term Link )
  model ( Index Term Link )
  operation ( Index Term Link )
 
 device driver
  See also loading drivers
  64-bit drivers
   See also 64-bit device drivers
  64-bit drivers ( Index Term Link ) ( Index Term Link )
  binding to device node ( Index Term Link )
  block driver ( Index Term Link )
  context ( Index Term Link )
  debugging ( Index Term Link )
   coding hints ( Index Term Link )
   setting up a tip(1) connection ( Index Term Link )
   tools ( Index Term Link )
   using the PROM ( Index Term Link )
  definition of ( Index Term Link )
  entry points ( Index Term Link )
  error handling ( Index Term Link )
  header files ( Index Term Link )
  instances ( Index Term Link )
  loadable interface ( Index Term Link )
  module configuration ( Index Term Link )
  overview ( Index Term Link )
  packaging ( Index Term Link )
  printing messages ( Index Term Link )
  source files ( Index Term Link )
  standard character driver ( Index Term Link )
  testing ( Index Term Link )
  types of ( Index Term Link )
 
 device information
  binding a driver to a device ( Index Term Link )
  self-identifying ( Index Term Link )
  tree structure ( Index Term Link ) ( Index Term Link )
 
 device interrupt handling
  See interrupt handling
 
 device interrupts
  See interrupts
 
 device memory
  D_DEVMAP flag in cb_ops(9S) ( Index Term Link )
  mapping ( Index Term Link ) ( Index Term Link )
 
 device number ( Index Term Link )
 
 device polling
  in character drivers ( Index Term Link )
  chpoll(9E) entry point ( Index Term Link )
  poll(2) system call ( Index Term Link )
 
 device power management
  components ( Index Term Link )
  definition of ( Index Term Link )
  dependency ( Index Term Link )
  entry points ( Index Term Link )
  interfaces ( Index Term Link )
  model ( Index Term Link )
  power levels ( Index Term Link )
  state transitions ( Index Term Link )
 
 device power management functions
  pm_busy_component(9F)() ( Index Term Link )
  pm_idle_component(9F)() ( Index Term Link )
  power(9E) ( Index Term Link )
 
 device registers, mapping ( Index Term Link )
 
 device state in power management ( Index Term Link )
 
 device tree ( Index Term Link )
 
 devmap_ entry points
  devmap(9E) ( Index Term Link )
  devmap_access(9E) ( Index Term Link ) ( Index Term Link )
  devmap_contextmgt(9E) ( Index Term Link )
  devmap_dup(9E) ( Index Term Link )
  devmap_map(9E) ( Index Term Link )
  devmap_unmap(9E) ( Index Term Link )
 
 devmap_ functions
  devmap_devmem_setup(9F)() ( Index Term Link )
  devmap_load(9F)() ( Index Term Link )
  devmap_umem_setup(9F)() ( Index Term Link )
  devmap_unload(9F)() ( Index Term Link )
 
 disk
  I/O controls ( Index Term Link )
  performance ( Index Term Link )
 
 disk drivers, testing ( Index Term Link )
 
 DKI
  See DDI/DKI
 
 DMA ( Index Term Link )
  buffer allocation ( Index Term Link )
  burst sizes ( Index Term Link )
  callbacks ( Index Term Link )
  cookie ( Index Term Link ) ( Index Term Link )
  freeing handle ( Index Term Link )
  freeing resources ( Index Term Link )
  handle ( Index Term Link ) ( Index Term Link ) ( Index Term Link )
  isolating ( Index Term Link )
  object ( Index Term Link )
  object locking ( Index Term Link )
  operations ( Index Term Link )
  physical addresses ( Index Term Link )
  private buffer allocation ( Index Term Link )
  register structure ( Index Term Link )
  resource allocation ( Index Term Link )
  restrictions ( Index Term Link )
  transfers ( Index Term Link ) ( Index Term Link )
  types of ( Index Term Link )
  virtual addresses ( Index Term Link )
  windows ( Index Term Link ) ( Index Term Link )
 
 driver binding name ( Index Term Link )
 
 driver.conf files ( Index Term Link )
 
 driver entry points
  attach(9E) ( Index Term Link ) ( Index Term Link )
  for block drivers ( Index Term Link )
  for character drivers ( Index Term Link )
  detach(9E) ( Index Term Link ) ( Index Term Link )
  ioctl(9E) ( Index Term Link )
  power(9E) ( Index Term Link )
  probe(9E) ( Index Term Link )
 
 driver module entry points, definition of ( Index Term Link )
 
 drv_usecwait(9F) ( Index Term Link )
 
 dump(9E) entry point ( Index Term Link )
 
 DVMA
  SBus slots supporting ( Index Term Link )
  virtual addresses ( Index Term Link )
 
 dynamic memory allocation ( Index Term Link )