1ddi_fm_error(9S) Data Structures for Drivers ddi_fm_error(9S)
2
3
4
6 ddi_fm_error - I/O error status structure
7
9 #include <sys/ddifm.h>
10
11
13 Solaris DDI specific (Solaris DDI)
14
16 A ddi_fm_error_t structure contains common data necessary for I/O error
17 handling. A pointer to a ddi_fm_error_t structure is passed to error
18 handling callbacks where it can then be used in a call to pci_ere‐
19 port_post(). The same structure is also returned to callers of
20 ddi_fm_acc_err_get() and ddi_fm_dma_err_get().
21
23 int fme_version;
24 uint64_t fme_ena;
25 int fme_status;
26 int fme_flag;
27 ddi_acc_handle_t fme_acc_handle;
28 ddi_dma_handle_t fme_dma_handle;
29
30
31
32 The fme_version is the current version of ddi_fm_error_t. Valid values
33 for the version are: DDI_FME_VER0 and DDI_FME_VER1.
34
35
36 The fme_ena is the FMA event protocol Format 1 Error Numeric Associa‐
37 tion (ENA) for this error condition.
38
39
40 The fme_flag field is set to DDI_FM_ERR_EXPECTED if the error is the
41 result of a DDI_ACC_CAUTIOUS protected operation. In this case,
42 fme_acc_handle is valid and the driver should check for and report only
43 errors not associated with the DDI_ACC_CAUTIOUS protected access opera‐
44 tion. This field can also be set to DDI_FM_ERR_POKE or DDI_FM_ERR_PEEK
45 if the error is the result of a ddi_peek(9F) or ddi_poke(9F) operation.
46 The driver should handle these in a similar way to DDI_FM_ERR_EXPECTED.
47 Otherwise, ddi_flag is set to DDI_FM_ERR_UNEXPECTED and the driver must
48 perform the full range of error handling tasks.
49
50
51 The fme_status indicates current status of an error handler callback or
52 resource handle:
53
54 DDI_FM_OK No errors were detected.
55
56
57 DDI_FM_FATAL An error which is considered fatal to the opera‐
58 tional state of the system was detected.
59
60
61 DDI_FM_NONFATAL An error which is not considered fatal to the opera‐
62 tional state of the system was detected.
63
64
65 DDI_FM_UNKNOWN An error was detected, but the driver was unable to
66 determine the impact of the error on the operational
67 state of the system.
68
69
70
71 The fme_acc_handle is the valid access handle associated with the error
72 that can be returned from pci_ereport_post()
73
74
75 The fme_dma_handle is the valid DMA handle associated with the error
76 that can be returned from pci_ereport_post()
77
79 See attributes(5) for descriptions of the following attributes:
80
81
82
83
84 ┌─────────────────────────────┬─────────────────────────────┐
85 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
86 ├─────────────────────────────┼─────────────────────────────┤
87 │Interface Stability │Committed │
88 └─────────────────────────────┴─────────────────────────────┘
89
91 attributes(5), ddi_fm_acc_err_get(9F), ddi_fm_dma_err_get(9F),
92 ddi_fm_handler_register(9F), ddi_peek(9F), ddi_poke(9F), pci_ere‐
93 port_post(9F)
94
95
96 Writing Device Drivers
97
98
99
100SunOS 5.11 13 May 2007 ddi_fm_error(9S)