xref: /illumos-gate/usr/src/uts/intel/sys/fm/cpu/GENAMD.h (revision 2d6eb4a5)
1*20c794b3Sgavinm /*
2*20c794b3Sgavinm  * CDDL HEADER START
3*20c794b3Sgavinm  *
4*20c794b3Sgavinm  * The contents of this file are subject to the terms of the
5*20c794b3Sgavinm  * Common Development and Distribution License (the "License").
6*20c794b3Sgavinm  * You may not use this file except in compliance with the License.
7*20c794b3Sgavinm  *
8*20c794b3Sgavinm  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*20c794b3Sgavinm  * or http://www.opensolaris.org/os/licensing.
10*20c794b3Sgavinm  * See the License for the specific language governing permissions
11*20c794b3Sgavinm  * and limitations under the License.
12*20c794b3Sgavinm  *
13*20c794b3Sgavinm  * When distributing Covered Code, include this CDDL HEADER in each
14*20c794b3Sgavinm  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*20c794b3Sgavinm  * If applicable, add the following below this CDDL HEADER, with the
16*20c794b3Sgavinm  * fields enclosed by brackets "[]" replaced with your own identifying
17*20c794b3Sgavinm  * information: Portions Copyright [yyyy] [name of copyright owner]
18*20c794b3Sgavinm  *
19*20c794b3Sgavinm  * CDDL HEADER END
20*20c794b3Sgavinm  */
21*20c794b3Sgavinm 
22*20c794b3Sgavinm /*
23*20c794b3Sgavinm  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24*20c794b3Sgavinm  * Use is subject to license terms.
25*20c794b3Sgavinm  */
26*20c794b3Sgavinm 
27*20c794b3Sgavinm #ifndef	_SYS_FM_CPU_GENAMD_H
28*20c794b3Sgavinm #define	_SYS_FM_CPU_GENAMD_H
29*20c794b3Sgavinm 
30*20c794b3Sgavinm /* Ereport class subcategory - same as in GMCA.h */
31*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENAMD	"generic-x86"
32*20c794b3Sgavinm 
33*20c794b3Sgavinm /* Ereport leaf classes */
34*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENAMD_MEM_CE		"mem_ce"
35*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENAMD_MEM_UE		"mem_ue"
36*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENAMD_CKMEM_CE		"mem_ce"
37*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENAMD_CKMEM_UE		"mem_ue"
38*20c794b3Sgavinm #define	FM_EREPORT_CPU_GENADM_GARTTBLWLK	"gart_tbl_walk"
39*20c794b3Sgavinm 
40*20c794b3Sgavinm #define	_FM_EREPORT_FLAG(n) (1ULL << (n))
41*20c794b3Sgavinm 
42*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_NAME_SYND		"syndrome"
43*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYND		_FM_EREPORT_FLAG(1)
44*20c794b3Sgavinm 
45*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_NAME_CKSYND		"syndrome"
46*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAG_CKSYND		_FM_EREPORT_FLAG(2)
47*20c794b3Sgavinm 
48*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_NAME_SYNDTYPE		"syndrome-type"
49*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYNDTYPE		_FM_EREPORT_FLAG(3)
50*20c794b3Sgavinm 
51*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_NAME_RESOURCE		"resource"
52*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCE		_FM_EREPORT_FLAG(4)
53*20c794b3Sgavinm 
54*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_NAME_RESOURCECNT	"resource_counts"
55*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCECNT	_FM_EREPORT_FLAG(5)
56*20c794b3Sgavinm 
57*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAGS_MEM_CE \
58*20c794b3Sgavinm 	(FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYND | \
59*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYNDTYPE | \
60*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCE | \
61*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCECNT)
62*20c794b3Sgavinm 
63*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAGS_MEM_UE \
64*20c794b3Sgavinm 	(FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYND | \
65*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYNDTYPE | \
66*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCE | \
67*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCECNT)
68*20c794b3Sgavinm 
69*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAGS_CKMEM_CE \
70*20c794b3Sgavinm 	(FM_EREPORT_GENAMD_PAYLOAD_FLAG_CKSYND | \
71*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYNDTYPE | \
72*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCE | \
73*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCECNT)
74*20c794b3Sgavinm 
75*20c794b3Sgavinm #define	FM_EREPORT_GENAMD_PAYLOAD_FLAGS_CKMEM_UE \
76*20c794b3Sgavinm 	(FM_EREPORT_GENAMD_PAYLOAD_FLAG_CKSYND | \
77*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_SYNDTYPE | \
78*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCE | \
79*20c794b3Sgavinm 	FM_EREPORT_GENAMD_PAYLOAD_FLAG_RESOURCECNT)
80*20c794b3Sgavinm 
81*20c794b3Sgavinm #ifdef __cplusplus
82*20c794b3Sgavinm extern "C" {
83*20c794b3Sgavinm #endif
84*20c794b3Sgavinm 
85*20c794b3Sgavinm #ifdef __cplusplus
86*20c794b3Sgavinm }
87*20c794b3Sgavinm #endif
88*20c794b3Sgavinm 
89*20c794b3Sgavinm #endif /* _SYS_FM_CPU_GENAMD_H */
90