8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man9s / ddi_fm_error.9s
blobfd2297e635738f7d62ad1dfc2ce4b3275dfd7b76
1 '\" te
2 .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH DDI_FM_ERROR 9S "May 13, 2007"
7 .SH NAME
8 ddi_fm_error \- I/O error status structure
9 .SH SYNOPSIS
10 .LP
11 .nf
12 #include <sys/ddifm.h>
13 .fi
15 .SH INTERFACE LEVEL
16 .sp
17 .LP
18 Solaris DDI specific (Solaris DDI)
19 .SH DESCRIPTION
20 .sp
21 .LP
22 A \fBddi_fm_error_t\fR structure contains common data necessary for \fBI/O\fR
23 error handling. A pointer to a \fBddi_fm_error_t\fR structure is passed to
24 error handling callbacks where it can then be used in a call to
25 \fBpci_ereport_post()\fR. The same structure is also returned to callers of
26 \fBddi_fm_acc_err_get()\fR and \fBddi_fm_dma_err_get()\fR.
27 .SH STRUCTURE MEMBERS
28 .sp
29 .in +2
30 .nf
31 int                 fme_version;
32 uint64_t            fme_ena;
33 int                 fme_status;
34 int                 fme_flag;
35 ddi_acc_handle_t    fme_acc_handle;
36 ddi_dma_handle_t    fme_dma_handle;
37 .fi
38 .in -2
40 .sp
41 .LP
42 The \fBfme_version\fR is the current version of \fBddi_fm_error_t\fR. Valid
43 values for the version are: \fBDDI_FME_VER0\fR and \fBDDI_FME_VER1\fR.
44 .sp
45 .LP
46 The \fBfme_ena\fR is the \fBFMA\fR event protocol Format 1 Error Numeric
47 Association (\fBENA\fR) for this error condition.
48 .sp
49 .LP
50 The \fBfme_flag\fR field is set to \fBDDI_FM_ERR_EXPECTED\fR if the error is
51 the result of a \fBDDI_ACC_CAUTIOUS\fR protected operation. In this case,
52 \fBfme_acc_handle\fR is valid and the driver should check for and report only
53 errors not associated with the \fBDDI_ACC_CAUTIOUS\fR protected access
54 operation. This field can also be set to \fBDDI_FM_ERR_POKE\fR or
55 \fBDDI_FM_ERR_PEEK\fR if the error is the result of a \fBddi_peek\fR(9F) or
56 \fBddi_poke\fR(9F) operation. The driver should handle these in a similar way
57 to \fBDDI_FM_ERR_EXPECTED\fR. Otherwise, \fBddi_flag\fR is set to
58 \fBDDI_FM_ERR_UNEXPECTED\fR and the driver must perform the full range of error
59 handling tasks.
60 .sp
61 .LP
62 The \fBfme_status\fR indicates current status of an error handler callback or
63 resource handle:
64 .sp
65 .ne 2
66 .na
67 \fB\fBDDI_FM_OK\fR\fR
68 .ad
69 .RS 19n
70 No errors were detected.
71 .RE
73 .sp
74 .ne 2
75 .na
76 \fB\fBDDI_FM_FATAL\fR\fR
77 .ad
78 .RS 19n
79 An error which is considered fatal to the operational state of the system was
80 detected.
81 .RE
83 .sp
84 .ne 2
85 .na
86 \fB\fBDDI_FM_NONFATAL\fR\fR
87 .ad
88 .RS 19n
89 An error which is not considered fatal to the operational state of the system
90 was detected.
91 .RE
93 .sp
94 .ne 2
95 .na
96 \fB\fBDDI_FM_UNKNOWN\fR\fR
97 .ad
98 .RS 19n
99 An error was detected, but the driver was unable to determine the impact of the
100 error on the operational state of the system.
105 The \fBfme_acc_handle\fR is the valid access handle associated with the error
106 that can be returned from \fBpci_ereport_post()\fR
109 The \fBfme_dma_handle\fR is the valid \fBDMA\fR handle associated with the
110 error that can be returned from \fBpci_ereport_post()\fR
111 .SH ATTRIBUTES
114 See \fBattributes\fR(5) for descriptions of the following attributes:
119 box;
120 c | c
121 l | l .
122 ATTRIBUTE TYPE  ATTRIBUTE VALUE
124 Interface Stability     Committed
127 .SH SEE ALSO
130 \fBattributes\fR(5), \fBddi_fm_acc_err_get\fR(9F),
131 \fBddi_fm_dma_err_get\fR(9F), \fBddi_fm_handler_register\fR(9F),
132 \fBddi_peek\fR(9F), \fBddi_poke\fR(9F), \fBpci_ereport_post\fR(9F)
135 \fIWriting Device Drivers\fR