DDI_PUT8(9F) Kernel Functions for Drivers DDI_PUT8(9F)
NAME
ddi_put8, ddi_put16, ddi_put32, ddi_put64, - 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
illumos DDI specific (illumos 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(5),
isa(5), and
sbus(5) for details. For the PCI bus, you can,
under certain conditions, call these
DDI functions from a high-interrupt
context. See
pci(5).
CONTEXT
These functions can be called from user, kernel, or interrupt context.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
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) November 1, 2005
DDI_PUT8(9F)