17aec1d6eScindi /* 27aec1d6eScindi * CDDL HEADER START 37aec1d6eScindi * 47aec1d6eScindi * The contents of this file are subject to the terms of the 58a40a695Sgavinm * Common Development and Distribution License (the "License"). 68a40a695Sgavinm * You may not use this file except in compliance with the License. 77aec1d6eScindi * 87aec1d6eScindi * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97aec1d6eScindi * or http://www.opensolaris.org/os/licensing. 107aec1d6eScindi * See the License for the specific language governing permissions 117aec1d6eScindi * and limitations under the License. 127aec1d6eScindi * 137aec1d6eScindi * When distributing Covered Code, include this CDDL HEADER in each 147aec1d6eScindi * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157aec1d6eScindi * If applicable, add the following below this CDDL HEADER, with the 167aec1d6eScindi * fields enclosed by brackets "[]" replaced with your own identifying 177aec1d6eScindi * information: Portions Copyright [yyyy] [name of copyright owner] 187aec1d6eScindi * 197aec1d6eScindi * CDDL HEADER END 207aec1d6eScindi */ 217aec1d6eScindi 227aec1d6eScindi /* 23*20c794b3Sgavinm * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 247aec1d6eScindi * Use is subject to license terms. 257aec1d6eScindi */ 267aec1d6eScindi 277aec1d6eScindi #ifndef _SYS_FM_CPU_AMD_H 287aec1d6eScindi #define _SYS_FM_CPU_AMD_H 297aec1d6eScindi 307aec1d6eScindi #pragma ident "%Z%%M% %I% %E% SMI" 317aec1d6eScindi 327aec1d6eScindi #ifdef __cplusplus 337aec1d6eScindi extern "C" { 347aec1d6eScindi #endif 357aec1d6eScindi 36*20c794b3Sgavinm /* 37*20c794b3Sgavinm * AMD model-specific ereports. These supplement the generic ereport 38*20c794b3Sgavinm * members specified in GMCA.h. 39*20c794b3Sgavinm */ 40*20c794b3Sgavinm 417aec1d6eScindi /* Ereport class subcategory for AMD processors */ 427aec1d6eScindi #define FM_EREPORT_CPU_AMD "amd" 437aec1d6eScindi 447aec1d6eScindi /* 457aec1d6eScindi * Ereport payload definitions 467aec1d6eScindi */ 477aec1d6eScindi #define FM_EREPORT_PAYLOAD_NAME_SYND "syndrome" 487aec1d6eScindi #define FM_EREPORT_PAYLOAD_NAME_SYND_TYPE "syndrome-type" 497aec1d6eScindi #define FM_EREPORT_PAYLOAD_NAME_RESOURCE "resource" 507aec1d6eScindi 51*20c794b3Sgavinm #define FM_EREPORT_PAYLOAD_FLAG_SYND 0x0000000000000001 52*20c794b3Sgavinm #define FM_EREPORT_PAYLOAD_FLAG_SYND_TYPE 0x0000000000000002 53*20c794b3Sgavinm #define FM_EREPORT_PAYLOAD_FLAG_RESOURCE 0x0000000000000004 54*20c794b3Sgavinm #define FM_EREPORT_PAYLOAD_FLAG_STACK 0x0000000000000008 557aec1d6eScindi 56*20c794b3Sgavinm /* 57*20c794b3Sgavinm * Model specific payload for each ereport type is specified using the 58*20c794b3Sgavinm * following groupings of the individual flag values above. 59*20c794b3Sgavinm */ 60*20c794b3Sgavinm #define FM_EREPORT_PAYLOAD_FLAGS_COMMON 0x0ULL /* empty */ 61*20c794b3Sgavinm 627aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_SYND \ 637aec1d6eScindi (FM_EREPORT_PAYLOAD_FLAG_SYND | FM_EREPORT_PAYLOAD_FLAG_SYND_TYPE) 647aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_RESOURCE \ 657aec1d6eScindi (FM_EREPORT_PAYLOAD_FLAG_RESOURCE) 667aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_NB \ 67*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAG_STACK 687aec1d6eScindi 697aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_1(f1) \ 707aec1d6eScindi (FM_EREPORT_PAYLOAD_FLAGS_COMMON | FM_EREPORT_PAYLOAD_FLAGS_##f1) 717aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_2(f1, f2) \ 727aec1d6eScindi (FM_EREPORT_PAYLOAD_FLAGS_COMMON | FM_EREPORT_PAYLOAD_FLAGS_##f1 | \ 737aec1d6eScindi FM_EREPORT_PAYLOAD_FLAGS_##f2) 747aec1d6eScindi 757aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_INF_SYS_ECC1 \ 76*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 777aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_INF_L2_ECC1 \ 78*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 797aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_INF_SYS_ECCM \ 80*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 817aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_INF_L2_ECCM \ 82*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 837aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_DATA_ECC1 \ 84*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 857aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_DATA_ECC1_UC \ 86*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 877aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_DATA_ECCM \ 88*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 897aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_TAG_PAR \ 90*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 917aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_STAG_PAR \ 92*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 937aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_L1TLB_PAR \ 94*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 957aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_DC_L2TLB_PAR \ 96*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 977aec1d6eScindi 987aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_INF_SYS_ECC1 \ 99*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1007aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_INF_L2_ECC1 \ 101*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1027aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_INF_SYS_ECCM \ 103*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1047aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_INF_L2_ECCM \ 105*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1067aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_DATA_PAR \ 107*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1087aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_TAG_PAR \ 109*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1107aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_STAG_PAR \ 111*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1127aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_L1TLB_PAR \ 113*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1147aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_L2TLB_PAR \ 115*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1167aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_IC_RDDE \ 1177aec1d6eScindi FM_EREPORT_PAYLOAD_FLAGS_COMMON 1187aec1d6eScindi 1197aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_L2D_ECC1 \ 120*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 1217aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_L2D_ECCM \ 122*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 1237aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_L2T_PAR \ 124*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1257aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_L2T_ECC1 \ 126*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 1277aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_L2T_ECCM \ 128*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(SYND) 1297aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_S_RDE \ 130*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1317aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_S_ECC1 \ 132*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 1337aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_BU_S_ECCM \ 134*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 1357aec1d6eScindi 1367aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_LS_S_RDE \ 1377aec1d6eScindi FM_EREPORT_PAYLOAD_FLAGS_COMMON 1387aec1d6eScindi 1397aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_MEM_CE \ 140*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 1417aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_MEM_UE \ 142*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_2(SYND, RESOURCE) 1437aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_HT_CRC \ 1447aec1d6eScindi FM_EREPORT_PAYLOAD_FLAGS_COMMON 1457aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_HT_SYNC \ 1467aec1d6eScindi FM_EREPORT_PAYLOAD_FLAGS_COMMON 1477aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_MA \ 148*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(NB) 1497aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_TA \ 150*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_1(NB) 1517aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_GART_WALK \ 152*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1537aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_RMW \ 154*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1557aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_WDOG \ 156*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1578a40a695Sgavinm #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_NB_DRAMADDR_PAR \ 1588a40a695Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1598a40a695Sgavinm #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_MC_TESTFAIL \ 1608a40a695Sgavinm FM_EREPORT_PAYLOAD_FLAG_RESOURCE 1617aec1d6eScindi 1627aec1d6eScindi #define FM_EREPORT_PAYLOAD_FLAGS_CPU_AMD_UNKNOWN \ 163*20c794b3Sgavinm FM_EREPORT_PAYLOAD_FLAGS_COMMON 1647aec1d6eScindi 1657aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_INF_SYS_ECC1 "dc.inf_sys_ecc1" 1667aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_INF_SYS_ECCM "dc.inf_sys_eccm" 1677aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_INF_L2_ECC1 "dc.inf_l2_ecc1" 1687aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_INF_L2_ECCM "dc.inf_l2_eccm" 1697aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_DATA_ECC1 "dc.data_ecc1" 1707aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_DATA_ECC1_UC "dc.data_ecc1_uc" 1717aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_DATA_ECCM "dc.data_eccm" 1727aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_TAG_PAR "dc.tag_par" 1737aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_STAG_PAR "dc.stag_par" 1747aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_L1TLB_PAR "dc.l1tlb_par" 1757aec1d6eScindi #define FM_EREPORT_CPU_AMD_DC_L2TLB_PAR "dc.l2tlb_par" 1767aec1d6eScindi 1777aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_INF_SYS_ECC1 "ic.inf_sys_ecc1" 1787aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_INF_SYS_ECCM "ic.inf_sys_eccm" 1797aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_INF_L2_ECC1 "ic.inf_l2_ecc1" 1807aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_INF_L2_ECCM "ic.inf_l2_eccm" 1817aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_DATA_PAR "ic.data_par" 1827aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_TAG_PAR "ic.tag_par" 1837aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_STAG_PAR "ic.stag_par" 1847aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_L1TLB_PAR "ic.l1tlb_par" 1857aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_L2TLB_PAR "ic.l2tlb_par" 1867aec1d6eScindi #define FM_EREPORT_CPU_AMD_IC_RDDE "ic.rdde" 1877aec1d6eScindi 1887aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_L2D_ECC1 "bu.l2d_ecc1" 1897aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_L2D_ECCM "bu.l2d_eccm" 1907aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_L2T_PAR "bu.l2t_par" 1917aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_L2T_ECC1 "bu.l2t_ecc1" 1927aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_L2T_ECCM "bu.l2t_eccm" 1937aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_S_RDE "bu.s_rde" 1947aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_S_ECC1 "bu.s_ecc1" 1957aec1d6eScindi #define FM_EREPORT_CPU_AMD_BU_S_ECCM "bu.s_eccm" 1967aec1d6eScindi 1977aec1d6eScindi #define FM_EREPORT_CPU_AMD_LS_S_RDE "ls.s_rde" 1987aec1d6eScindi 1997aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_MEM_CE "nb.mem_ce" 2007aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_MEM_UE "nb.mem_ue" 2017aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_HT_CRC "nb.ht_crc" 2027aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_HT_SYNC "nb.ht_sync" 2037aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_MA "nb.ma" 2047aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_TA "nb.ta" 2057aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_GART_WALK "nb.gart_walk" 2067aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_RMW "nb.rmw" 2077aec1d6eScindi #define FM_EREPORT_CPU_AMD_NB_WDOG "nb.wdog" 2088a40a695Sgavinm #define FM_EREPORT_CPU_AMD_NB_DRAMADDR_PAR "nb.dramaddr_par" 2098a40a695Sgavinm 2108a40a695Sgavinm #define FM_EREPORT_CPU_AMD_MC_TESTFAIL "mc.cs_testfail" 2117aec1d6eScindi 2127aec1d6eScindi #define FM_EREPORT_CPU_AMD_UNKNOWN "unknown" 2137aec1d6eScindi 2147aec1d6eScindi #ifdef __cplusplus 2157aec1d6eScindi } 2167aec1d6eScindi #endif 2177aec1d6eScindi 2187aec1d6eScindi #endif /* _SYS_FM_CPU_AMD_H */ 219