ddi_fm_init man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

DDI_FM_INIT(9F)						       DDI_FM_INIT(9F)

NAME
       ddi_fm_init,  ddi_fm_fini,  ddi_fm_capable  - initialize and get the FM
       capabilities for a device instance

SYNOPSIS
       #include <sys/ddifm.h>

       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 capabilities to the
       I/O  Fault  Management  framework   by	calling	  ddi_fm_init().   The
       ddi_fm_init() function allocates and initializes resources according to
       the  bitwise-inclusive-OR  of  the   fault   management	 capabilities,
       described  in  the  following  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.

       DDI_FM_ACCCHK_CAPABLE
				 The driver checks for errors upon the comple‐
				 tion of one or more access I/O transactions.

       DDI_FM_DMACHK_CAPABLE
				 The driver checks for errors upon the comple‐
				 tion of one or more DMA I/O transactions.

       DDI_FM_ERRCB_CAPABLE
				 The driver is capable of error handler	 call‐
				 back 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 returning from 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  capabil‐
       ity 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 properties 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  cur‐
			   rently set for the dip structure.

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 attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       prtconf(1M), driver.conf(4), attributes(5), attach(9E), detach(9E)

       Writing Device Drivers

				 May 14, 2007		       DDI_FM_INIT(9F)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net