1ddi_fm_ereport_post(9F)  Kernel Functions for Drivers  ddi_fm_ereport_post(9F)
2
3
4

NAME

6       ddi_fm_ereport_post - post an FMA Protocol Error Report Event
7

SYNOPSIS

9       #include <sys/ddifm.h>
10
11       void ddi_fm_ereport_post(dev_info_t *dip, char *ereport_class,
12            uint64_t ena, int *sflag, ... /* name-value pair args */);
13
14

INTERFACE LEVEL

16       Solaris DDI specific (Solaris DDI)
17

PARAMETERS

19       dip              Pointer to the dev_info structure
20
21
22       ereport_class    FMA Event Protocol error class
23
24
25       ena              Error Numeric Association
26
27
28       sflag            Determines  whether  caller  can  sleep  for memory or
29                        other event resources.
30
31

DESCRIPTION

33       The ddi_fm_ereport_post() function causes an encoded  fault  management
34       error  report  name-value  pair  list  to be queued for delivery to the
35       Fault Manager daemon, fmd(1M). The sflag parameter indicates whether or
36       not  the  caller is willing to wait for system memory and event channel
37       resources to become available.
38
39
40       The following ereport_class strings are available for use by  any  leaf
41       device driver:
42
43       device.inval_state      A  leaf  driver discovers that the device is in
44                               an invalid or inconsistent state. For  example,
45                               the  driver  might  detect that receive or send
46                               ring descriptor indices are corrupted. It might
47                               also  find  an invalid value in a register or a
48                               driver-to-device protocol violation.
49
50
51       device.no_response      A leaf driver times out waiting for a  response
52                               from  the  device.  For  example,  timeouts can
53                               occur when no confirmation is seen after reset‐
54                               ting,   enabling,  or  disabling  part  of  the
55                               device.
56
57
58       device.badint_limit     A leaf device sends too many consecutive inter‐
59                               rupts with no work to do.
60
61
62       device.intern_corr      A leaf device reports to the driver that it has
63                               itself detected an internal correctable error.
64
65
66       device.intern_uncorr    A leaf device reports to the driver that it has
67                               itself   detected   an  internal  uncorrectable
68                               error.
69
70
71       device.stall            A leaf driver determines that data transmission
72                               has stalled indefinitely.
73
74
75
76       The ena indicates the Format 1 Error Numeric Association for this error
77       report. It might have already been initialized by another error-detect‐
78       ing  software  module.  For example, if ddi_fm_ereport_post() is called
79       from an error handler callback function, the  fme_ena  field  from  the
80       passed-in  ddi_fm_error argument should be used. Otherwise it should be
81       set to 0 and will be initialized by ddi_fm_ereport_post().
82
83
84       The name-value pair args variable argument list contains  one  or  more
85       (names,  type,  value  pointer) nvpair tuples for non-array data_type_t
86       types or one or more (name, type, number of  elements,  value  pointer)
87       tuples  for  data_type_t  array  types. There is one mandatory tuple to
88       describe the ereport version. This should contain the following values:
89
90           o      name - FM_VERSION
91
92           o      type - DATA_TYPE_UINT8
93
94           o      value - FM_EREPORT_VERS0
95
96
97       Additional nvpair tuples can describe error conditions for logging pur‐
98       poses,  but  are not interpreted by the I/O framework or fault manager.
99       The end of the argument list is specified by NULL.
100

CONTEXT

102       The ddi_fm_ereport_post() function can be called from user, kernel,  or
103       high-level interrupt context.
104

ATTRIBUTES

106       See attributes(5) for descriptions of the following attributes:
107
108
109
110
111       ┌─────────────────────────────┬─────────────────────────────┐
112       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
113       ├─────────────────────────────┼─────────────────────────────┤
114       │Interface Stability          │Committed                    │
115       └─────────────────────────────┴─────────────────────────────┘
116

SEE ALSO

118       fmd(1M), attributes(5), ddi_fm_service_impact(9F)
119
120
121
122SunOS 5.11                        14 May 2007          ddi_fm_ereport_post(9F)
Impressum