Kernel Functions for Drivers ddi_fm_init(9F)
NAME
ddi_fm_init, ddi_fm_fini, ddi_fm_capable - initialize and
get the FM capabilities for a device instanceSYNOPSIS
#include
void ddi_fm_init(dev_info_t *dip, int *fm_capability,
ddi_iblock_cookie_t *ibcp);
void ddi_fm_fini(dev_info_t *dip);
int ddi_fm_capable(dev_info_t *dip, int *fm_capability);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI)PARAMETERS
ddi_fm_init()
dip Pointer to the dev_info structure
fm_capability Fault Management capability bit mask
ibcp Pointer to where the interrupt block cookie should be returned.DESCRIPTION
A device driver can declare its fault management capabili-
ties to the I/O Fault Management framework by calling
ddi_fm_init(). The ddi_fm_init() function allocates and ini-
tializes resources according to the bitwise-inclusive-OR of
the fault management capabilities, described in the follow-
ing and supported by the driver's immediate nexus parent.DDI_FM_NOT_CAPABLE The driver does not support any
FMA features. This is the default value assigned to device drivers.DDI_FM_EREPORT_CAPABLE The driver generates FMA protocol
error events (ereports) upon the detection of an error condition.SunOS 5.11 Last change: 14 May 2007 1
Kernel Functions for Drivers ddi_fm_init(9F)
DDI_FM_ACCCHK_CAPABLE The driver checks for errors upon
the completion of one or moreaccess I/O transactions.
DDI_FM_DMACHK_CAPABLE The driver checks for errors upon
the completion of one or more DMAI/O transactions.
DDI_FM_ERRCB_CAPABLE The driver is capable of error
handler callback registration. If the parent nexus is not capable of supporting any one of the requested capabilities, the associated bit will not be set and returned as such to the driver. Before returningfrom ddi_fm_init(), the I/O Fault Management framework
creates a set of fault management capability properties:fm-ereport-capable, fm-errcb-capable, fm-accchk-capable, and
fm-dmachk-capable. The current supported fault management
capability levels are observable via prtconf(1M). A driver can support the administrative selection of fault management capabilities by exporting and setting a fault management capability level property in its driver.conf(4)file to the values described above. The fm_capable proper-
ties must be set and read prior to calling ddi_fm_init()
with the desired capability list.ddi_fm_fini() This function cleans up resources allocated
to support fault management for the dip structure.ddi_fm_capable() This function returns the capability bit
mask currently set for the dip struc-
ture.CONTEXT
These functions can be called from kernel context in a driver attach(9E) or detach(9E) operation.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 14 May 2007 2
Kernel Functions for Drivers ddi_fm_init(9F)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
prtconf(1M), driver.conf(4), attributes(5), attach(9E), detach(9E) Writing Device DriversSunOS 5.11 Last change: 14 May 2007 3