man pages section 9: DDI and DKI Kernel Functions
  Search only this book
Download this book in PDF (3618 KB)

ddi_put16(9F)

Name | Synopsis | Interface Level | Parameters | Description | Context | Attributes | See Also

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). The ddi_putb(), ddi_putl(), ddi_putll(), and ddi_putw() functions are obsolete. The ddi_put8() function replaces ddi_putb(). The ddi_put32() function replaces ddi_putl(). The ddi_put64() function replaces ddi_putll(). The ddi_put16() function replaces ddi_putw().

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 and SBus buses. See sysbus(4), isa(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 interrupt context.

Attributes

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPE 

    ATTRIBUTE VALUE 

    Interface Stability 

    ddi_putb(), ddi_putl(), ddi_putll(), and ddi_putw() are Obsolete

    ddi_put8(), ddi_put16(), ddi_put32(), ddi_put64() are Committed

See Also

SunOS 5.11  Last Revised 1 Nov 2005

Name | Synopsis | Interface Level | Parameters | Description | Context | Attributes | See Also