ddi_put64(9F)




NAME

     ddi_put8,   ddi_put16,   ddi_put32,   ddi_put64,   ddi_putb,
     ddi_putl,  ddi_putll,  ddi_putw  -  write data to the mapped
     memory address, device  register  or  allocated  DMA  memory
     address


SYNOPSIS

     #include <sys/ddi.h>
     #include <sys/sunddi.h>

     void ddi_put8(ddi_acc_handle_t  handle,  uint8_t  *dev_addr,
     uint8_t value);

     void ddi_put16(ddi_acc_handle_t handle, uint16_t  *dev_addr,
     uint16_t value);

     void ddi_put32(ddi_acc_handle_t handle, uint32_t  *dev_addr,
     uint32_t value);

     void ddi_put64(ddi_acc_handle_t handle, uint64_t  *dev_addr,
     uint64_t value);


INTERFACE LEVEL

     Solaris DDI specific (Solaris DDI).


PARAMETERS

      handle
           The data access handle returned from setup calls, such
           as ddi_regs_map_setup(9F).

     value The data to be written to the device.

     dev_addr
           Base device address.


DESCRIPTION

     These routines generate a write  of  various  sizes  to  the
     mapped   memory   or   device   register.   The  ddi_put8(),
     ddi_put16(), ddi_put32(), and ddi_put64() functions write  8
     bits, 16 bits, 32 bits and 64 bits of data, respectively, to
     the device address, dev_addr.

     Each individual datum will automatically  be  translated  to
     maintain  a  consistent view between the host and the device
     based on the encoded information in the data access  handle.
     The  translation  may  involve byte-swapping if the host and
     the device have incompatible endian characteristics.

     For certain bus types, you can call these DDI functions from
     a   high-interrupt  context.  These types include ISA, EISA,
     and SBus buses.  See sysbus(4), isa(4), eisa(4), and sbus(4)
     for  details.   For  the  PCI  bus,  you  can, under certain
     conditions, call these DDI functions from  a  high-interrupt
     context. See pci(4).


CONTEXT

     These functions can be called from user, kernel,  or  inter-
     rupt context.


SEE ALSO

     ddi_get8(9F), ddi_regs_map_free(9F), ddi_regs_map_setup(9F),
     ddi_rep_get8(9F), ddi_rep_put8(9F), ddi_device_acc_attr(9S)


NOTES

     The functions described in this manual page previously  used
     symbolic  names  which specified their data access size; the
     function names have been  changed  so  they  now  specify  a
     fixed-width  data size.  See the following table for the new
     name equivalents:

     Previous Name                    New Name
     ddi_putb                         ddi_put8
     ddi_putw                         ddi_put16
     ddi_putl                         ddi_put32
     ddi_putll                        ddi_put64


Man(1) output converted with man2html