This appendix discusses the interfaces provided by the Solaris 9 DDI/DKI. These descriptions should not be considered complete or definitive, nor do they provide a thorough guide to usage. The descriptions are intended to describe what the functions do in general terms. See man pages section 9F: DDI and DKI Kernel Functions for more detailed information. The categories are:
This appendix does not discuss STREAMS interfaces; to learn more about network drivers, see the STREAMS Programming Guide.
Function Name |
Description |
---|---|
query a loadable module |
|
mod_install |
add a loadable module |
mod_remove |
remove a loadable module |
Function Name |
Description |
---|---|
return driver binding name |
|
ddi_dev_is_sid |
tell whether a device is self-identifying |
ddi_driver_major |
return driver major device number |
ddi_driver_name |
return normalized driver name |
ddi_node_name |
return the devinfo node name |
ddi_get_devstate |
check device state |
ddi_get_instance |
get device instance number |
ddi_get_name |
return driver binding name |
ddi_get_parent |
find the parent of a device information structure |
ddi_root_node |
get the root of the dev_info tree |
Function Name |
Description |
---|---|
create a minor node for a device |
|
ddi_getiminor |
get kernel internal minor number from an external dev_t |
ddi_remove_minor_node |
remove a minor mode for a device |
getmajor |
get major device number |
getminor |
get minor device number |
makedevice |
make device number from major and minor numbers |
Function Name |
Description |
---|---|
check for the existence of a property |
|
ddi_prop_free |
free resources consumed by property lookup |
ddi_prop_get_int |
look up integer property |
ddi_prop_get_int64 |
look up 64–bit integer property |
ddi_prop_lookup_byte_array |
look up byte array property |
ddi_prop_lookup_int_array |
look up integer array property |
ddi_prop_lookup_int64_array |
look up 64–bit integer array property |
ddi_prop_lookup_string |
look up string property |
ddi_prop_lookup_string_array |
look up string array property |
ddi_prop_remove |
remove a property of a device |
ddi_prop_remove_all |
remove all properties of a device |
ddi_prop_undefine |
hide a property of a device |
ddi_prop_update_byte_array |
create or update byte array property |
ddi_prop_update_int |
create or update integer property |
ddi_prop_update_int64 |
create or update 64–bit integer property |
ddi_prop_update_int_array |
create or update integer array property |
ddi_prop_update_int64_array |
create or update 64–bit integer array property |
ddi_prop_update_string |
create or update string property |
ddi_prop_update_string_array |
create or update string array property |
Table B–5 Deprecated Property Functions
Deprecated Functions |
Replacements |
---|---|
see ddi_prop_lookup |
|
ddi_getlongprop_buf |
see ddi_prop_lookup |
ddi_getprop |
ddi_prop_get_int |
ddi_getproplen |
see ddi_prop_lookup |
ddi_prop_create |
see ddi_prop_lookup |
ddi_prop_modify |
see ddi_prop_lookup |
ddi_prop_op |
see ddi_prop_lookup |
Function Name |
Description |
---|---|
get the address of the device's private data area |
|
ddi_get_soft_state |
get pointer to instance soft state structure |
ddi_set_driver_private |
set the address of the device's private data area |
ddi_soft_state_fini |
destroy driver soft state structure |
ddi_soft_state_free |
free instance soft state structure |
ddi_soft_state_init |
initialize driver soft state structure |
ddi_soft_state_zalloc |
allocate instance soft state structure |
Function Name |
Description |
---|---|
allocate kernel memory |
|
kmem_free |
free kernel memory |
kmem_zalloc |
allocate zero-filled kernel memory |
These functions allocate and free memory intended to be used for DMA. See Direct Memory Access (DMA) Functions.
Table B–8
Function Name |
Description |
---|---|
allocate memory for DMA transfer |
|
ddi_dma_mem_free |
free previously allocated DMA memory |
These functions allocate and free memory intended to be exported to user space. See User Space Access Functions.
Table B–9
Function Name |
Description |
---|---|
ddi_umem_alloc |
allocate page-aligned kernel memory |
ddi_umem_free |
free page-aligned kernel memory |
Table B–10 Deprecated Memory Allocation and Deallocation Functions
Deprecated Functions |
Replacement |
---|---|
ddi_dma_mem_alloc |
|
ddi_iopb_free |
ddi_dma_mem_free |
ddi_mem_alloc |
ddi_dma_mem_alloc |
ddi_mem_free |
ddi_dma_mem_free |
Function Name |
Description |
---|---|
wakeup all waiting threads |
|
cv_destroy |
free an allocated condition variable |
cv_init |
allocate a condition variable |
cv_signal |
wakeup one waiting thread |
cv_timedwait |
await an event with timeout |
cv_timedwait_sig |
await an event or signal with timeout |
cv_wait |
await an event |
cv_wait_sig |
await an event or signal |
ddi_enter_critical |
enter a critical region of control |
ddi_exit_critical |
exit a critical region of control |
mutex_destroy |
destroy mutual exclusion lock |
mutex_enter |
acquire mutual exclusion lock |
mutex_exit |
release mutual exclusion lock |
mutex_init |
initialize mutual exclusion lock |
mutex_owned |
determine if current thread is holding mutual exclusion lock |
mutex_tryenter |
attempt to acquire mutual exclusion lock without waiting |
rw_destroy |
destroy a readers/writer lock |
rw_downgrade |
downgrade a readers/writer lock holding from writer to reader |
rw_enter |
acquire a readers/writer lock |
rw_exit |
release a readers/writer lock |
rw_init |
initialize a readers/writer lock |
rw_read_locked |
determine whether readers/writer lock is held for read or write |
rw_tryenter |
attempt to acquire a readers/writer lock without waiting |
rw_tryupgrade |
attempt to upgrade readers/writer lock holding from reader to writer |
sema_destroy |
destroy a semaphore |
sema_init |
initialize a semaphore |
sema_p |
decrement semaphore and possibly block |
sema_p_sig |
decrement semaphore, but do not block if signal is pending |
sema_tryp |
attempt to decrement semaphore, but do not block |
sema_v |
increment semaphore and possibly unblock waiter |
Function Name |
Description |
---|---|
register a hardware interrupt handler |
|
ddi_add_softintr |
register a software interrupt handler |
ddi_dev_nintrs |
return the number of interrupt specifications a device has |
ddi_get_iblock_cookie |
get a hardware interrupt block cookie |
ddi_get_soft_iblock_cookie |
get a software interrupt block cookie |
ddi_intr_hilevel |
indicate interrupt type |
ddi_remove_intr |
unregister a hardware interrupt handler |
ddi_remove_softintr |
unregister a software interrupt handler |
ddi_trigger_softintr |
trigger a software interrupt |
Function Name |
Description |
---|---|
return the number of register sets a device has |
|
ddi_dev_regsize |
return the size of a device's register |
ddi_regs_map_setup |
set up a mapping for a register address space |
ddi_regs_map_free |
free a previously mapped register address space |
ddi_device_copy |
copy data from one device register to another device register |
ddi_device_zero |
zero fill the device |
ddi_check_acc_handle |
check data access handle |
ddi_get8 |
read 8–bit data from mapped memory, device register or DMA memory |
ddi_get16 |
read 16–bit data from mapped memory, device register or DMA memory |
ddi_get32 |
read 32–bit data from mapped memory, device register or DMA memory |
ddi_get64 |
read 64–bit data from mapped memory, device register or DMA memory |
ddi_put8 |
write 8–bit data to mapped memory, device register or DMA memory |
ddi_put16 |
write 16–bit data to mapped memory, device register or DMA memory |
ddi_put32 |
write 32–bit data to mapped memory, device register or DMA memory |
ddi_put64 |
write 64–bit data to mapped memory, device register or DMA memory |
ddi_rep_get8 |
read multiple 8–bit data from mapped memory, device register or DMA memory |
ddi_rep_get16 |
read multiple 16–bit data from mapped memory, device register or DMA memory |
ddi_rep_get32 |
read multiple 32–bit data from mapped memory, device register or DMA memory |
ddi_rep_get64 |
read multiple 64–bit data from mapped memory, device register or DMA memory |
ddi_rep_put8 |
write multiple 8–bit data to mapped memory, device register or DMA memory |
ddi_rep_put16 |
write multiple 16–bit data to mapped memory, device register or DMA memory |
ddi_rep_put32 |
write multiple 32–bit data to mapped memory, device register or DMA memory |
ddi_rep_put64 |
write multiple 64–bit data to mapped memory, device register or DMA memory |
ddi_peek8 |
cautiously read an 8–bit value from a location |
ddi_peek16 |
cautiously read a 16–bit value from a location |
ddi_peek32 |
cautiously read a 32–bit value from a location |
ddi_peek64 |
cautiously read a 64–bit value from a location |
ddi_poke8 |
cautiously write an 8–bit value to a location |
ddi_poke16 |
cautiously write a 16–bit value to a location |
ddi_poke32 |
cautiously write a 32–bit value to a location |
ddi_poke64 |
cautiously write a 64–bit value to a location |
The general programmed I/O functions above can always be used rather than the mem, io, and pci_config functions below. However, the below functions may be used as alternatives in cases where the type of access is known at compile time.
Table B–14 Alternate Access Mechanisms
Function Name |
Description |
---|---|
read 8-bit data from mapped device register in I/O space |
|
ddi_io_get16 |
read 16-bit data from mapped device register in I/O space |
ddi_io_get32 |
read 32-bit data from mapped device register in I/O space |
ddi_io_put8 |
write 8-bit data to mapped device register in I/O space |
ddi_io_put16 |
write 16-bit data to mapped device register in I/O space |
ddi_io_put32 |
write 32-bit data to mapped device register in I/O space |
ddi_io_rep_get8 |
read multiple 8-bit data from mapped device register in I/O space |
ddi_io_rep_get16 |
read multiple 16-bit data from mapped device register in I/O space |
ddi_io_rep_get32 |
read multiple 32-bit data from mapped device register in I/O space |
ddi_io_rep_put8 |
write multiple 8-bit data to mapped device register in I/O space |
ddi_io_rep_put16 |
write multiple 16-bit data to mapped device register in I/O space |
ddi_io_rep_put32 |
write multiple 32-bit data to mapped device register in I/O space |
ddi_mem_get8 |
read 8-bit data from mapped device in memory space or DMA memory |
ddi_mem_get16 |
read 16-bit data from mapped device in memory space or DMA memory |
ddi_mem_get32 |
read 32-bit data from mapped device in memory space or DMA memory |
ddi_mem_get64 |
read 64-bit data from mapped device in memory space or DMA memory |
ddi_mem_put8 |
write 8-bit data to mapped device in memory space or DMA memory |
ddi_mem_put16 |
write 16-bit data to mapped device in memory space or DMA memory |
ddi_mem_put32 |
write 32-bit data to mapped device in memory space or DMA memory |
ddi_mem_put64 |
write 64-bit data to mapped device in memory space or DMA memory |
ddi_mem_rep_get8 |
read multiple 8-bit data from mapped device in memory space or DMA memory |
ddi_mem_rep_get16 |
read multiple 16-bit data from mapped device in memory space or DMA memory |
ddi_mem_rep_get32 |
read multiple 32-bit data from mapped device in memory space or DMA memory |
ddi_mem_rep_get64 |
read multiple 64-bit data from mapped device in memory space or DMA memory |
ddi_mem_rep_put8 |
write multiple 8-bit data to mapped device in memory space or DMA memory |
ddi_mem_rep_put16 |
write multiple 16-bit data to mapped device in memory space or DMA memory |
ddi_mem_rep_put32 |
write multiple 32-bit data to mapped device in memory space or DMA memory |
ddi_mem_rep_put64 |
write multiple 64-bit data to mapped device in memory space or DMA memory |
pci_config_setup |
setup access to PCI Local Bus Configuration space |
pci_config_teardown |
tear down access to PCI Local Bus Configuration space |
pci_config_get8 |
read 8-bit data from the PCI Local Bus Configuration space |
pci_config_get16 |
read 16-bit data from the PCI Local Bus Configuration space |
pci_config_get32 |
read 32-bit data from the PCI Local Bus Configuration space |
pci_config_get64 |
read 64-bit data from the PCI Local Bus Configuration space |
pci_config_put8 |
write 8-bit data to the PCI Local Bus Configuration space |
pci_config_put16 |
write 16-bit data to the PCI Local Bus Configuration space |
pci_config_put32 |
write 32-bit data to the PCI Local Bus Configuration space |
pci_config_put64 |
write 64-bit data to the PCI Local Bus Configuration space |
Table B–15 Deprecated Programmed I/O Functions
Deprecated Function |
Replacement |
---|---|
ddi_get8 |
|
ddi_getl |
ddi_get32 |
ddi_getll |
ddi_get64 |
ddi_getw |
ddi_get16 |
ddi_io_getb |
ddi_io_get8 |
ddi_io_getl |
ddi_io_get32 |
ddi_io_getw |
ddi_io_get16 |
ddi_io_putb |
ddi_io_put8 |
ddi_io_putl |
ddi_io_put32 |
ddi_io_putw |
ddi_io_put16 |
ddi_io_rep_getb |
ddi_io_rep_get8 |
ddi_io_rep_getl |
ddi_io_rep_get32 |
ddi_io_rep_getw |
ddi_io_rep_get16 |
ddi_io_rep_putb |
ddi_io_rep_put8 |
ddi_io_rep_putl |
ddi_io_rep_put32 |
ddi_io_rep_putw |
ddi_io_rep_put16 |
ddi_map_regs |
ddi_regs_map_setup |
ddi_mem_getb |
ddi_mem_get8 |
ddi_mem_getl |
ddi_mem_get32 |
ddi_mem_getll |
ddi_mem_get64 |
ddi_mem_getw |
ddi_mem_get16 |
ddi_mem_putb |
ddi_mem_put8 |
ddi_mem_putl |
ddi_mem_put32 |
ddi_mem_putll |
ddi_mem_put64 |
ddi_mem_putw |
ddi_mem_put16 |
ddi_mem_rep_getb |
ddi_mem_rep_get8 |
ddi_mem_rep_getl |
ddi_mem_rep_get32 |
ddi_mem_rep_getll |
ddi_mem_rep_get64 |
ddi_mem_rep_getw |
ddi_mem_rep_get16 |
ddi_mem_rep_putb |
ddi_mem_rep_put8 |
ddi_mem_rep_putl |
ddi_mem_rep_put32 |
ddi_mem_rep_putll |
ddi_mem_rep_put64 |
ddi_mem_rep_putw |
ddi_mem_rep_put16 |
ddi_peekc |
ddi_peek8 |
ddi_peekd |
ddi_peek64 |
ddi_peekl |
ddi_peek32 |
ddi_peeks |
ddi_peek16 |
ddi_pokec |
ddi_poke8 |
ddi_poked |
ddi_poke64 |
ddi_pokel |
ddi_poke32 |
ddi_pokes |
ddi_poke16 |
ddi_putb |
ddi_put8 |
ddi_putl |
ddi_put32 |
ddi_putll |
ddi_put64 |
ddi_putw |
ddi_put16 |
ddi_rep_getb |
ddi_rep_get8 |
ddi_rep_getl |
ddi_rep_get32 |
ddi_rep_getll |
ddi_rep_get64 |
ddi_rep_getw |
ddi_rep_get16 |
ddi_rep_putb |
ddi_rep_put8 |
ddi_rep_putl |
ddi_rep_put32 |
ddi_rep_putll |
ddi_rep_put64 |
ddi_rep_putw |
ddi_rep_put16 |
ddi_unmap_regs |
ddi_regs_map_free |
inb |
ddi_io_get8 |
inl |
ddi_io_get32 |
inw |
ddi_io_get16 |
outb |
ddi_io_put8 |
outl |
ddi_io_put32 |
outw |
ddi_io_put16 |
pci_config_getb |
pci_config_get8 |
pci_config_getl |
pci_config_get32 |
pci_config_getll |
pci_config_get64 |
pci_config_getw |
pci_config_get16 |
pci_config_putb |
pci_config_put8 |
pci_config_putl |
pci_config_put32 |
pci_config_putll |
pci_config_put64 |
pci_config_putw |
pci_config_put16 |
repinsb |
ddi_io_rep_get8 |
repinsd |
ddi_io_rep_get32 |
repinsw |
ddi_io_rep_get16 |
repoutsb |
ddi_io_rep_put8 |
repoutsd |
ddi_io_rep_put32 |
repoutsw |
ddi_io_rep_put16 |
Function Name |
Description |
---|---|
allocate a DMA handle |
|
ddi_dma_free_handle |
free DMA handle |
ddi_dma_mem_alloc |
allocate memory for DMA transfer |
ddi_dma_mem_free |
free previously allocated DMA memory |
ddi_dma_addr_bind_handle |
bind an address to a DMA handle |
ddi_dma_buf_bind_handle |
bind a system buffer to a DMA handle |
ddi_dma_unbind_handle |
unbind the address in a DMA handle |
ddi_dma_nextcookie |
retrieve subsequent DMA cookie |
ddi_dma_getwin |
activate a new DMA window |
ddi_dma_numwin |
retrieve number of DMA windows |
ddi_dma_sync |
synchronize CPU and I/O views of memory |
ddi_check_dma_handle |
check DMA handle |
ddi_dma_set_sbus64 |
allow 64-bit transfers on SBus |
ddi_slaveonly |
tell if a device is installed in a slave access only location |
ddi_iomin |
find minimum alignment and transfer size for DMA |
ddi_dma_burstsizes |
find out the allowed burst sizes for a DMA mapping |
ddi_dma_devalign |
find DMA mapping alignment and minimum transfer size |
ddi_dmae_alloc |
acquire a DMA channel |
ddi_dmae_release |
release a DMA channel |
ddi_dmae_getattr |
get DMA engine attributes |
ddi_dmae_prog |
program a DMA channel |
ddi_dmae_stop |
terminate DMA engine operation |
ddi_dmae_disable |
disable a DMA channel |
ddi_dmae_enable |
enable a DMA channel |
ddi_dmae_getcnt |
get DMA engine count remaining |
ddi_dmae_1stparty |
configure DMA channel cascade mode |
ddi_dma_coff |
convert a DMA cookie to an offset within a DMA handle |
Table B–17 Deprecated Direct Memory Access (DMA) Functions
Deprecated Function |
Replacement |
---|---|
ddi_dma_alloc_handle, ddi_dma_addr_bind_handle |
|
ddi_dma_buf_setup |
ddi_dma_alloc_handle, ddi_dma_buf_bind_handle |
ddi_dma_curwin |
ddi_dma_getwin |
ddi_dma_free |
ddi_dma_free_handle |
ddi_dma_htoc |
ddi_dma_addr_bind_handle, ddi_dma_buf_bind_handle |
ddi_dma_movwin |
ddi_dma_getwin |
ddi_dma_nextseg |
ddi_dma_nextcookie |
ddi_dma_segtocookie |
ddi_dma_nextcookie |
ddi_dma_setup |
ddi_dma_alloc_handle, ddi_dma_addr_bind_handle, ddi_dma_buf_bind_handle |
ddi_dmae_getlim |
ddi_dmae_getattr |
ddi_iopb_alloc |
ddi_dma_mem_alloc |
ddi_iopb_free |
ddi_dma_mem_free |
ddi_mem_alloc |
ddi_dma_mem_alloc |
ddi_mem_free |
ddi_dma_mem_free |
hat_getkpfnum |
ddi_dma_addr_bind_handle, ddi_dma_buf_bind_handle, ddi_dma_nextcookie |
Table B–19 Deprecated User Space Access Functions
Deprecated Functions |
Replacement |
---|---|
ddi_copyin |
|
copyout |
ddi_copyout |
Function Name |
Description |
---|---|
returns a pointer to the credential structure of the caller |
|
drv_priv |
determine process credentials privilege |
ddi_get_pid |
return the process ID |
Table B–22 Deprecated User Process Information Functions
Deprecated Functions |
Replacement |
---|---|
ddi_get_pid, ddi_get_cred |
Function Name |
Description |
---|---|
return the number of register sets a device has |
|
ddi_dev_regsize |
return the size of a device's register |
ddi_devmap_segmap |
set up a user mapping to device memory |
devmap_setup |
set up a user mapping to device memory |
devmap_devmem_setup |
export device memory to user space |
devmap_load |
control validation of memory address translations |
devmap_unload |
control validation of memory address translations |
devmap_do_ctxmgt |
perform device context switching on a mapping |
devmap_set_ctx_timeout |
set the timeout value for the context management callback |
devmap_default_access |
default driver memory access function |
ddi_umem_alloc |
allocate page-aligned kernel memory |
ddi_umem_free |
free page-aligned kernel memory |
ddi_umem_lock |
lock memory pages |
ddi_umem_unlock |
unlock memory pages |
ddi_umem_iosetup |
setup I/O requests to application memory |
devmap_umem_setup |
export kernel memory to user space |
ddi_model_convert_from |
determine data model type mismatch |
Table B–24 Deprecated User Application Kernel and Device Access Functions
Deprecated Functions |
Replacement |
---|---|
devmap_setup |
|
ddi_mapdev_intercept |
devmap_load |
ddi_mapdev_nointercept |
devmap_unload |
ddi_mapdev_set_device_acc_attr |
see devmap(9e) |
ddi_segmap |
see devmap(9e) |
ddi_segmap_setup |
devmap_setup |
hat_getkpfnum |
see devmap(9e) |
ddi_mmap_get_model |
see devmap(9e) |
Function Name |
Description |
---|---|
returns clock ticks since reboot |
|
ddi_get_time |
return the current time in seconds |
delay |
delay execution for a specified number of clock ticks |
drv_hztousec |
convert clock ticks to microseconds |
drv_usectohz |
convert microseconds to clock ticks |
drv_usecwait |
busy-wait for specified interval |
gethrtime |
get high-resolution time |
gethrvtime |
get high-resolution LWP virtual time |
timeout |
execute a function after a specified length of time |
untimeout |
cancel previous timeout function call |
drv_getparm |
ddi_get_lbolt, ddi_get_time |
Table B–26 Deprecated Time-Related Functions
Deprecated Function |
Replacement |
---|---|
ddi_get_lbolt, ddi_get_time |
Function Name |
Description |
---|---|
check if device loses power with DDI_SUSPEND |
|
pci_report_pmcap |
report power management capability of a PCI device |
pm_busy_component |
mark component as busy |
pm_idle_component |
mark component as idle |
pm_raise_power |
raise the power level of a component |
pm_lower_power |
lower the power level of a component |
pm_power_has_changed |
notify power management framework of autonomous power level change |
pm_trans_check |
device power cycle advisory check |
Table B–28 Deprecated Power Management Functions
Function Name |
Description |
---|---|
inform the system that a device's component is required |
|
pm_create_components | |
pm_destroy_components | |
pm_get_normal_power | |
pm_set_normal_power |
Function Name |
Description |
---|---|
create and initialize a new kstat |
|
kstat_delete |
remove a kstat from the system |
kstat_install |
add a fully initialized kstat to the system |
kstat_named_init |
initialize a named kstat |
kstat_runq_back_to_waitq |
record transaction migration from run queue to wait queue |
kstat_runq_enter |
record transaction add to run queue |
kstat_runq_exit |
record transaction removal from run queue |
kstat_waitq_enter |
record transaction add to wait queue |
kstat_waitq_exit |
record transaction removal from wait queue |
kstat_waitq_to_runq |
record transaction migration from wait queue to run queue |
Function Name |
Description |
---|---|
display an error message |
|
vcmn_err |
display an error message |
ddi_report_dev |
announce a device |
strlog |
submit messages to the log driver |
ddi_dev_report_fault |
report a hardware failure |
scsi_errmsg |
display a SCSI request sense message |
scsi_log |
display a SCSI-device-related message |
scsi_vu_errmsg |
display a SCSI request sense message |
Function Name |
Description |
---|---|
perform physical I/O |
|
aphysio |
perform asynchronous physical I/O |
anocancel |
prevent cancellation of asynchronous I/O request |
minphys |
limit physio buffer size |
biowait |
suspend processes pending completion of block I/O |
biodone |
release buffer after buffer I/O transfer and notify blocked threads |
bioerror |
indicate error in buffer header |
geterror |
return I/O error |
bp_mapin |
allocate virtual address space |
bp_mapout |
deallocate virtual address space |
disksort |
single direction elevator seek sort for buffers |
getrbuf |
get a raw buffer header |
freerbuf |
free a raw buffer header |
biosize |
returns size of a buffer structure |
bioinit |
initialize a buffer structure |
biofini |
uninitialize a buffer structure |
bioreset |
reuse a private buffer header after I/O is complete |
bioclone |
clone another buffer |
biomodified |
check if a buffer is modified |
clrbuf |
erase the contents of a buffer |
Function Name |
Description |
---|---|
convert device bytes to pages (round down) |
|
ddi_btopr |
convert device bytes to pages (round up) |
ddi_ptob |
convert device pages to bytes |
btop |
convert size in bytes to size in pages (round down) |
btopr |
convert size in bytes to size in pages (round up) |
ptob |
convert size in pages to size in bytes |
Table B–33 Deprecated Virtual Memory Functions
Deprecated Functions |
Replacement |
---|---|
see devmap(9e), ddi_dma_*_bind_handle, ddi_dma_nextcookie |
Function Name |
Description |
---|---|
allocate a device id structure |
|
ddi_devid_free |
free a device id structure |
ddi_devid_register |
register a device id |
ddi_devid_unregister |
unregister a device id |
ddi_devid_compare |
compare two device ids |
ddi_devid_sizeof |
return the size of a device id |
ddi_devid_valid |
validate a device id |
ddi_devid_str_encode |
encode a device id and minor_name into a null-terminated ASCII string; return a pointer to that string |
ddi_devid_str_decode |
decode the device id and minor_name from a previously encoded string; allocate and return pointers to the extracted parts |
ddi_devid_str_free |
free all strings returned by the ddi_devid functions |
Function Name |
Description |
---|---|
probe a SCSI device |
|
scsi_unprobe |
free resources allocated during initial probing |
scsi_alloc_consistent_buf |
allocate an I/O buffer for SCSI DMA |
scsi_free_consistent_buf |
free a previously allocated SCSI DMA I/O buffer |
scsi_init_pkt |
prepare a complete SCSI packet |
scsi_destroy_pkt |
free an allocated SCSI packet and its DMA resource |
scsi_setup_cdb |
setup SCSI command descriptor block (CDB) |
scsi_transport |
start a SCSI command |
scsi_poll |
run a polled SCSI command |
scsi_ifgetcap |
get SCSI transport capability |
scsi_ifsetcap |
set SCSI transport capability |
scsi_sync_pkt |
synchronize CPU and I/O views of memory |
scsi_abort |
abort a SCSI command |
scsi_reset |
reset a SCSI bus or target |
scsi_reset_notify |
notify target driver of bus resets |
scsi_cname |
decode a SCSI command |
scsi_dname |
decode a SCSI peripheral device type |
scsi_mname |
decode a SCSI message |
scsi_rname |
decode a SCSI packet completion reason |
scsi_sname |
decode a SCSI sense key |
scsi_errmsg |
display a SCSI request sense message |
scsi_log |
display a SCSI-device-related message |
scsi_vu_errmsg |
display a SCSI request sense message |
scsi_hba_init |
SCSI HBA system initialization routine |
scsi_hba_fini |
SCSI HBA system completion routine |
scsi_hba_attach_setup |
SCSI HBA attach routine |
scsi_hba_detach |
SCSI HBA detach routine |
scsi_hba_probe |
default SCSI HBA probe function |
scsi_hba_tran_alloc |
allocate a transport structure |
scsi_hba_tran_free |
free a transport structure |
scsi_hba_pkt_alloc |
allocate a scsi_pkt structure |
scsi_hba_pkt_free |
free a scsi_pkt structure |
scsi_hba_lookup_capstr |
return index matching capability string |
Table B–36 Deprecated SCSI Functions
Deprecated Functions |
Replacement |
---|---|
scsi_free_consistent_buf |
|
get_pktiopb |
scsi_alloc_consistent_buf |
makecom_g0 |
scsi_setup_cdb |
makecom_g0_s |
scsi_setup_cdb |
makecom_g1 |
scsi_setup_cdb |
makecom_g5 |
scsi_setup_cdb |
scsi_dmafree |
scsi_destroy_pkt |
scsi_dmaget |
scsi_init_pkt |
scsi_hba_attach |
scsi_hba_attach_setup |
scsi_pktalloc |
scsi_init_pkt |
scsi_pktfree |
scsi_destroy_pkt |
scsi_resalloc |
scsi_init_pkt |
scsi_resfree |
scsi_destroy_pkt |
scsi_slave |
scsi_probe |
scsi_unslave |
scsi_unprobe |
Function Name |
Description |
---|---|
allocate resource map |
|
rmallocmap_wait |
allocate resource map, wait if necessary |
rmfreemap |
free resource map |
rmalloc |
allocate space from a resource map |
rmalloc_wait |
allocate space from a resource map, wait if necessary |
rmfree |
free space back into a resource map |
Function Name |
Description |
---|---|
determine if system is in panic state |
Function Name |
Description |
---|---|
zero return function |
|
nodev |
error return function |
nochpoll |
error return function for non-pollable devices |
ASSERT |
expression verification |
bcopy |
copy data between address locations in the kernel |
bzero |
clear memory for a given number of bytes |
bcmp |
compare two byte arrays |
ddi_ffs |
find first bit set in a long integer |
ddi_fls |
find last bit set in a long integer |
swab |
swap bytes in 16-bit halfwords |
strcmp |
compare two null-terminated strings |
strncmp |
compare two null-terminated strings, with length limit |
strlen |
determine the number of non-null bytes in a string |
strcpy |
copy a string from one location to another |
strncpy |
copy a string from one location to another, with length limit |
strchr |
find a character in a string |
sprintf |
format characters in memory |
vsprintf |
format characters in memory |
numtos |
convert integer to decimal string |
stoi |
convert decimal string to an integer |
max |
return the larger of two integers |
min |
return the lesser of two integers |
va_arg |
handle variable argument list |
va_copy |
handle variable argument list |
va_end |
handle variable argument list |
va_start |
handle variable argument list |