xref: /illumos-gate/usr/src/uts/common/sys/sysevent/pcie.h (revision b3d69c05)
1*b3d69c05SRobert Mustacchi /*
2*b3d69c05SRobert Mustacchi  * This file and its contents are supplied under the terms of the
3*b3d69c05SRobert Mustacchi  * Common Development and Distribution License ("CDDL"), version 1.0.
4*b3d69c05SRobert Mustacchi  * You may only use this file in accordance with the terms of version
5*b3d69c05SRobert Mustacchi  * 1.0 of the CDDL.
6*b3d69c05SRobert Mustacchi  *
7*b3d69c05SRobert Mustacchi  * A full copy of the text of the CDDL should have accompanied this
8*b3d69c05SRobert Mustacchi  * source.  A copy of the CDDL is also available via the Internet at
9*b3d69c05SRobert Mustacchi  * http://www.illumos.org/license/CDDL.
10*b3d69c05SRobert Mustacchi  */
11*b3d69c05SRobert Mustacchi 
12*b3d69c05SRobert Mustacchi /*
13*b3d69c05SRobert Mustacchi  * Copyright 2019 Joyent, Inc.
14*b3d69c05SRobert Mustacchi  */
15*b3d69c05SRobert Mustacchi 
16*b3d69c05SRobert Mustacchi #ifndef _SYS_SYSEVENT_PCIE_H
17*b3d69c05SRobert Mustacchi #define	_SYS_SYSEVENT_PCIE_H
18*b3d69c05SRobert Mustacchi 
19*b3d69c05SRobert Mustacchi /*
20*b3d69c05SRobert Mustacchi  * PCIe System Event payloads
21*b3d69c05SRobert Mustacchi  */
22*b3d69c05SRobert Mustacchi 
23*b3d69c05SRobert Mustacchi #ifdef __cplusplus
24*b3d69c05SRobert Mustacchi extern "C" {
25*b3d69c05SRobert Mustacchi #endif
26*b3d69c05SRobert Mustacchi 
27*b3d69c05SRobert Mustacchi /*
28*b3d69c05SRobert Mustacchi  * Event schema for ESC_PCIE_LINK_STATE
29*b3d69c05SRobert Mustacchi  *
30*b3d69c05SRobert Mustacchi  *	Event Class	- EC_PCIE
31*b3d69c05SRobert Mustacchi  *	Event Sub-Class	- ESC_PCIE_LINK_STATE
32*b3d69c05SRobert Mustacchi  *
33*b3d69c05SRobert Mustacchi  *	Attribute Name	- PCIE_EV_DETECTOR_PATH
34*b3d69c05SRobert Mustacchi  *	Attribute Type	- SE_DATA_TYPE_STRING
35*b3d69c05SRobert Mustacchi  *	Attribute Value	- [devfs path of the node that detected the change]
36*b3d69c05SRobert Mustacchi  *
37*b3d69c05SRobert Mustacchi  *	Attribute Name	- PCIE_EV_CHILD_PATH
38*b3d69c05SRobert Mustacchi  *	Attribute Type	- SE_DATA_TYPE_STRING
39*b3d69c05SRobert Mustacchi  *	Attribute Value	- [devfs path of the updated child]
40*b3d69c05SRobert Mustacchi  *
41*b3d69c05SRobert Mustacchi  *	Attribute Name	- PCIE_EV_DETECTOR_FLAGS
42*b3d69c05SRobert Mustacchi  *	Attribute Type	- SE_DATA_TYPE_UINT64
43*b3d69c05SRobert Mustacchi  *	Attribute Value	- [PCIe flags that indicate the type of change]
44*b3d69c05SRobert Mustacchi  */
45*b3d69c05SRobert Mustacchi 
46*b3d69c05SRobert Mustacchi #define	PCIE_EV_DETECTOR_PATH	"detector_path"
47*b3d69c05SRobert Mustacchi #define	PCIE_EV_CHILD_PATH	"child_path"
48*b3d69c05SRobert Mustacchi #define	PCIE_EV_DETECTOR_FLAGS	"detector_flags"
49*b3d69c05SRobert Mustacchi 
50*b3d69c05SRobert Mustacchi #define	PCIE_EV_DETECTOR_FLAGS_LBMS	0x01
51*b3d69c05SRobert Mustacchi #define	PCIE_EV_DETECTOR_FLAGS_LABS	0x02
52*b3d69c05SRobert Mustacchi 
53*b3d69c05SRobert Mustacchi #ifdef __cplusplus
54*b3d69c05SRobert Mustacchi }
55*b3d69c05SRobert Mustacchi #endif
56*b3d69c05SRobert Mustacchi 
57*b3d69c05SRobert Mustacchi #endif /* _SYS_SYSEVENT_PCIE_H */
58