1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * include/asm-parisc/pdc_chassis.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 2002 Laurent Canet <canetl@esiee.fr> 6*4882a593Smuzhiyun * Copyright (C) 2002 Thibaut Varene <varenet@parisc-linux.org> 7*4882a593Smuzhiyun * 8*4882a593Smuzhiyun * TODO: - handle processor number on SMP systems (Reporting Entity ID) 9*4882a593Smuzhiyun * - handle message ID 10*4882a593Smuzhiyun * - handle timestamps 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #ifndef _PARISC_PDC_CHASSIS_H 15*4882a593Smuzhiyun #define _PARISC_PDC_CHASSIS_H 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* 18*4882a593Smuzhiyun * ---------- 19*4882a593Smuzhiyun * Prototypes 20*4882a593Smuzhiyun * ---------- 21*4882a593Smuzhiyun */ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun int pdc_chassis_send_status(int message); 24*4882a593Smuzhiyun void parisc_pdc_chassis_init(void); 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* 28*4882a593Smuzhiyun * ----------------- 29*4882a593Smuzhiyun * Direct call names 30*4882a593Smuzhiyun * ----------------- 31*4882a593Smuzhiyun * They setup everything for you, the Log message and the corresponding LED state 32*4882a593Smuzhiyun */ 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_BSTART 0 35*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_BCOMPLETE 1 36*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_SHUTDOWN 2 37*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_PANIC 3 38*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_HPMC 4 39*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_LPMC 5 40*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_DUMP 6 /* not yet implemented */ 41*4882a593Smuzhiyun #define PDC_CHASSIS_DIRECT_OOPS 7 /* not yet implemented */ 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* 45*4882a593Smuzhiyun * ------------ 46*4882a593Smuzhiyun * LEDs control 47*4882a593Smuzhiyun * ------------ 48*4882a593Smuzhiyun * Set the three LEDs -- Run, Attn, and Fault. 49*4882a593Smuzhiyun */ 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* Old PDC LED control */ 52*4882a593Smuzhiyun #define PDC_CHASSIS_DISP_DATA(v) ((unsigned long)(v) << 17) 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun /* 55*4882a593Smuzhiyun * Available PDC PAT LED states 56*4882a593Smuzhiyun */ 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #define PDC_CHASSIS_LED_RUN_OFF (0ULL << 4) 59*4882a593Smuzhiyun #define PDC_CHASSIS_LED_RUN_FLASH (1ULL << 4) 60*4882a593Smuzhiyun #define PDC_CHASSIS_LED_RUN_ON (2ULL << 4) 61*4882a593Smuzhiyun #define PDC_CHASSIS_LED_RUN_NC (3ULL << 4) 62*4882a593Smuzhiyun #define PDC_CHASSIS_LED_ATTN_OFF (0ULL << 6) 63*4882a593Smuzhiyun #define PDC_CHASSIS_LED_ATTN_FLASH (1ULL << 6) 64*4882a593Smuzhiyun #define PDC_CHASSIS_LED_ATTN_NC (3ULL << 6) /* ATTN ON is invalid */ 65*4882a593Smuzhiyun #define PDC_CHASSIS_LED_FAULT_OFF (0ULL << 8) 66*4882a593Smuzhiyun #define PDC_CHASSIS_LED_FAULT_FLASH (1ULL << 8) 67*4882a593Smuzhiyun #define PDC_CHASSIS_LED_FAULT_ON (2ULL << 8) 68*4882a593Smuzhiyun #define PDC_CHASSIS_LED_FAULT_NC (3ULL << 8) 69*4882a593Smuzhiyun #define PDC_CHASSIS_LED_VALID (1ULL << 10) 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun /* 72*4882a593Smuzhiyun * Valid PDC PAT LED states combinations 73*4882a593Smuzhiyun */ 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun /* System running normally */ 76*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_RUN_NORMAL (PDC_CHASSIS_LED_RUN_ON | \ 77*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 78*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 79*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 80*4882a593Smuzhiyun /* System crashed and rebooted itself successfully */ 81*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_RUN_CRASHREC (PDC_CHASSIS_LED_RUN_ON | \ 82*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 83*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_FLASH | \ 84*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 85*4882a593Smuzhiyun /* There was a system interruption that did not take the system down */ 86*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_RUN_SYSINT (PDC_CHASSIS_LED_RUN_ON | \ 87*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 88*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 89*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 90*4882a593Smuzhiyun /* System running and unexpected reboot or non-critical error detected */ 91*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_RUN_NCRIT (PDC_CHASSIS_LED_RUN_ON | \ 92*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 93*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_FLASH | \ 94*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 95*4882a593Smuzhiyun /* Executing non-OS code */ 96*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_NONOS (PDC_CHASSIS_LED_RUN_FLASH | \ 97*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 98*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 99*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 100*4882a593Smuzhiyun /* Boot failed - Executing non-OS code */ 101*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_NONOS_BFAIL (PDC_CHASSIS_LED_RUN_FLASH | \ 102*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 103*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_ON | \ 104*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 105*4882a593Smuzhiyun /* Unexpected reboot occurred - Executing non-OS code */ 106*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_NONOS_UNEXP (PDC_CHASSIS_LED_RUN_FLASH | \ 107*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 108*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_FLASH | \ 109*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 110*4882a593Smuzhiyun /* Executing non-OS code - Non-critical error detected */ 111*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_NONOS_NCRIT (PDC_CHASSIS_LED_RUN_FLASH | \ 112*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 113*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 114*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 115*4882a593Smuzhiyun /* Boot failed - Executing non-OS code - Non-critical error detected */ 116*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_BFAIL_NCRIT (PDC_CHASSIS_LED_RUN_FLASH | \ 117*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 118*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_ON | \ 119*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 120*4882a593Smuzhiyun /* Unexpected reboot/recovering - Executing non-OS code - Non-critical error detected */ 121*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_UNEXP_NCRIT (PDC_CHASSIS_LED_RUN_FLASH | \ 122*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 123*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_FLASH | \ 124*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 125*4882a593Smuzhiyun /* Cannot execute PDC */ 126*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_CANNOT_PDC (PDC_CHASSIS_LED_RUN_OFF | \ 127*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 128*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 129*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 130*4882a593Smuzhiyun /* Boot failed - OS not up - PDC has detected a failure that prevents boot */ 131*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_FATAL_BFAIL (PDC_CHASSIS_LED_RUN_OFF | \ 132*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_OFF | \ 133*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_ON | \ 134*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 135*4882a593Smuzhiyun /* No code running - Non-critical error detected (double fault situation) */ 136*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_NOCODE_NCRIT (PDC_CHASSIS_LED_RUN_OFF | \ 137*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 138*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_OFF | \ 139*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 140*4882a593Smuzhiyun /* Boot failed - OS not up - Fatal failure detected - Non-critical error detected */ 141*4882a593Smuzhiyun #define PDC_CHASSIS_LSTATE_FATAL_NCRIT (PDC_CHASSIS_LED_RUN_OFF | \ 142*4882a593Smuzhiyun PDC_CHASSIS_LED_ATTN_FLASH | \ 143*4882a593Smuzhiyun PDC_CHASSIS_LED_FAULT_ON | \ 144*4882a593Smuzhiyun PDC_CHASSIS_LED_VALID ) 145*4882a593Smuzhiyun /* All other states are invalid */ 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun /* 149*4882a593Smuzhiyun * -------------- 150*4882a593Smuzhiyun * PDC Log events 151*4882a593Smuzhiyun * -------------- 152*4882a593Smuzhiyun * Here follows bits needed to fill up the log event sent to PDC_CHASSIS 153*4882a593Smuzhiyun * The log message contains: Alert level, Source, Source detail, 154*4882a593Smuzhiyun * Source ID, Problem detail, Caller activity, Activity status, 155*4882a593Smuzhiyun * Caller subactivity, Reporting entity type, Reporting entity ID, 156*4882a593Smuzhiyun * Data type, Unique message ID and EOM. 157*4882a593Smuzhiyun */ 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun /* Alert level */ 160*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_FORWARD (0ULL << 36) /* no failure detected */ 161*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_SERPROC (1ULL << 36) /* service proc - no failure */ 162*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_NURGENT (2ULL << 36) /* non-urgent operator attn */ 163*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_BLOCKED (3ULL << 36) /* system blocked */ 164*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_CONF_CHG (4ULL << 36) /* unexpected configuration change */ 165*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_ENV_PB (5ULL << 36) /* boot possible, environmental pb */ 166*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_PENDING (6ULL << 36) /* boot possible, pending failure */ 167*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_PERF_IMP (8ULL << 36) /* boot possible, performance impaired */ 168*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_FUNC_IMP (10ULL << 36) /* boot possible, functionality impaired */ 169*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_SOFT_FAIL (12ULL << 36) /* software failure */ 170*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_HANG (13ULL << 36) /* system hang */ 171*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_ENV_FATAL (14ULL << 36) /* fatal power or environmental pb */ 172*4882a593Smuzhiyun #define PDC_CHASSIS_ALERT_HW_FATAL (15ULL << 36) /* fatal hardware problem */ 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun /* Source */ 175*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_NONE (0ULL << 28) /* unknown, no source stated */ 176*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PROC (1ULL << 28) /* processor */ 177*4882a593Smuzhiyun /* For later use ? */ 178*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PROC_CACHE (2ULL << 28) /* processor cache*/ 179*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PDH (3ULL << 28) /* processor dependent hardware */ 180*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PWR (4ULL << 28) /* power */ 181*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_FAB (5ULL << 28) /* fabric connector */ 182*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PLATi (6ULL << 28) /* platform */ 183*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_MEM (7ULL << 28) /* memory */ 184*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_IO (8ULL << 28) /* I/O */ 185*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_CELL (9ULL << 28) /* cell */ 186*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_PD (10ULL << 28) /* protected domain */ 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun /* Source detail field */ 189*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_D_PROC (1ULL << 24) /* processor general */ 190*4882a593Smuzhiyun 191*4882a593Smuzhiyun /* Source ID - platform dependent */ 192*4882a593Smuzhiyun #define PDC_CHASSIS_SRC_ID_UNSPEC (0ULL << 16) 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun /* Problem detail - problem source dependent */ 195*4882a593Smuzhiyun #define PDC_CHASSIS_PB_D_PROC_NONE (0ULL << 32) /* no problem detail */ 196*4882a593Smuzhiyun #define PDC_CHASSIS_PB_D_PROC_TIMEOUT (4ULL << 32) /* timeout */ 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun /* Caller activity */ 199*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_BL (7ULL << 12) /* Boot Loader */ 200*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_PD (8ULL << 12) /* SAL_PD activities */ 201*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_EVENT (9ULL << 12) /* SAL_EVENTS activities */ 202*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_IO (10ULL << 12) /* SAL_IO activities */ 203*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_PANIC (11ULL << 12) /* System panic */ 204*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_INIT (12ULL << 12) /* System initialization */ 205*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_SHUT (13ULL << 12) /* System shutdown */ 206*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_WARN (14ULL << 12) /* System warning */ 207*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_ACT_HPUX_DU (15ULL << 12) /* Display_Activity() update */ 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun /* Activity status - implementation dependent */ 210*4882a593Smuzhiyun #define PDC_CHASSIS_ACT_STATUS_UNSPEC (0ULL << 0) 211*4882a593Smuzhiyun 212*4882a593Smuzhiyun /* Caller subactivity - implementation dependent */ 213*4882a593Smuzhiyun /* FIXME: other subactivities ? */ 214*4882a593Smuzhiyun #define PDC_CHASSIS_CALL_SACT_UNSPEC (0ULL << 4) /* implementation dependent */ 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun /* Reporting entity type */ 217*4882a593Smuzhiyun #define PDC_CHASSIS_RET_GENERICOS (12ULL << 52) /* generic OSes */ 218*4882a593Smuzhiyun #define PDC_CHASSIS_RET_IA64_NT (13ULL << 52) /* IA-64 NT */ 219*4882a593Smuzhiyun #define PDC_CHASSIS_RET_HPUX (14ULL << 52) /* HP-UX */ 220*4882a593Smuzhiyun #define PDC_CHASSIS_RET_DIAG (15ULL << 52) /* offline diagnostics & utilities */ 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun /* Reporting entity ID */ 223*4882a593Smuzhiyun #define PDC_CHASSIS_REID_UNSPEC (0ULL << 44) 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun /* Data type */ 226*4882a593Smuzhiyun #define PDC_CHASSIS_DT_NONE (0ULL << 59) /* data field unused */ 227*4882a593Smuzhiyun /* For later use ? Do we need these ? */ 228*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PHYS_ADDR (1ULL << 59) /* physical address */ 229*4882a593Smuzhiyun #define PDC_CHASSIS_DT_DATA_EXPECT (2ULL << 59) /* expected data */ 230*4882a593Smuzhiyun #define PDC_CHASSIS_DT_ACTUAL (3ULL << 59) /* actual data */ 231*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PHYS_LOC (4ULL << 59) /* physical location */ 232*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PHYS_LOC_EXT (5ULL << 59) /* physical location extension */ 233*4882a593Smuzhiyun #define PDC_CHASSIS_DT_TAG (6ULL << 59) /* tag */ 234*4882a593Smuzhiyun #define PDC_CHASSIS_DT_SYNDROME (7ULL << 59) /* syndrome */ 235*4882a593Smuzhiyun #define PDC_CHASSIS_DT_CODE_ADDR (8ULL << 59) /* code address */ 236*4882a593Smuzhiyun #define PDC_CHASSIS_DT_ASCII_MSG (9ULL << 59) /* ascii message */ 237*4882a593Smuzhiyun #define PDC_CHASSIS_DT_POST (10ULL << 59) /* POST code */ 238*4882a593Smuzhiyun #define PDC_CHASSIS_DT_TIMESTAMP (11ULL << 59) /* timestamp */ 239*4882a593Smuzhiyun #define PDC_CHASSIS_DT_DEV_STAT (12ULL << 59) /* device status */ 240*4882a593Smuzhiyun #define PDC_CHASSIS_DT_DEV_TYPE (13ULL << 59) /* device type */ 241*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PB_DET (14ULL << 59) /* problem detail */ 242*4882a593Smuzhiyun #define PDC_CHASSIS_DT_ACT_LEV (15ULL << 59) /* activity level/timeout */ 243*4882a593Smuzhiyun #define PDC_CHASSIS_DT_SER_NUM (16ULL << 59) /* serial number */ 244*4882a593Smuzhiyun #define PDC_CHASSIS_DT_REV_NUM (17ULL << 59) /* revision number */ 245*4882a593Smuzhiyun #define PDC_CHASSIS_DT_INTERRUPT (18ULL << 59) /* interruption information */ 246*4882a593Smuzhiyun #define PDC_CHASSIS_DT_TEST_NUM (19ULL << 59) /* test number */ 247*4882a593Smuzhiyun #define PDC_CHASSIS_DT_STATE_CHG (20ULL << 59) /* major changes in system state */ 248*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PROC_DEALLOC (21ULL << 59) /* processor deallocate */ 249*4882a593Smuzhiyun #define PDC_CHASSIS_DT_RESET (30ULL << 59) /* reset type and cause */ 250*4882a593Smuzhiyun #define PDC_CHASSIS_DT_PA_LEGACY (31ULL << 59) /* legacy PA hex chassis code */ 251*4882a593Smuzhiyun 252*4882a593Smuzhiyun /* System states - part of major changes in system state data field */ 253*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_BSTART (0ULL << 0) /* boot start */ 254*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_BCOMP (1ULL << 0) /* boot complete */ 255*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_CHANGE (2ULL << 0) /* major change */ 256*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_LED (3ULL << 0) /* LED change */ 257*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_PANIC (9ULL << 0) /* OS Panic */ 258*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_DUMP (10ULL << 0) /* memory dump */ 259*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_HPMC (11ULL << 0) /* processing HPMC */ 260*4882a593Smuzhiyun #define PDC_CHASSIS_SYSTATE_HALT (15ULL << 0) /* system halted */ 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun /* Message ID */ 263*4882a593Smuzhiyun #define PDC_CHASSIS_MSG_ID (0ULL << 40) /* we do not handle msg IDs atm */ 264*4882a593Smuzhiyun 265*4882a593Smuzhiyun /* EOM - separates log entries */ 266*4882a593Smuzhiyun #define PDC_CHASSIS_EOM_CLEAR (0ULL << 43) 267*4882a593Smuzhiyun #define PDC_CHASSIS_EOM_SET (1ULL << 43) 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun /* 270*4882a593Smuzhiyun * Preformated well known messages 271*4882a593Smuzhiyun */ 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun /* Boot started */ 274*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_BSTART (PDC_CHASSIS_ALERT_SERPROC | \ 275*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 276*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 277*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 278*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 279*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_INIT | \ 280*4882a593Smuzhiyun PDC_CHASSIS_ACT_STATUS_UNSPEC | \ 281*4882a593Smuzhiyun PDC_CHASSIS_CALL_SACT_UNSPEC | \ 282*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 283*4882a593Smuzhiyun PDC_CHASSIS_REID_UNSPEC | \ 284*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 285*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_BSTART | \ 286*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 287*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun /* Boot complete */ 290*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_BCOMPLETE (PDC_CHASSIS_ALERT_SERPROC | \ 291*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 292*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 293*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 294*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 295*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_INIT | \ 296*4882a593Smuzhiyun PDC_CHASSIS_ACT_STATUS_UNSPEC | \ 297*4882a593Smuzhiyun PDC_CHASSIS_CALL_SACT_UNSPEC | \ 298*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 299*4882a593Smuzhiyun PDC_CHASSIS_REID_UNSPEC | \ 300*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 301*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_BCOMP | \ 302*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 303*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun /* Shutdown */ 306*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_SHUTDOWN (PDC_CHASSIS_ALERT_SERPROC | \ 307*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 308*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 309*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 310*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 311*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_SHUT | \ 312*4882a593Smuzhiyun PDC_CHASSIS_ACT_STATUS_UNSPEC | \ 313*4882a593Smuzhiyun PDC_CHASSIS_CALL_SACT_UNSPEC | \ 314*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 315*4882a593Smuzhiyun PDC_CHASSIS_REID_UNSPEC | \ 316*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 317*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_HALT | \ 318*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 319*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun /* Panic */ 322*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_PANIC (PDC_CHASSIS_ALERT_SOFT_FAIL | \ 323*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 324*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 325*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 326*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 327*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_PANIC| \ 328*4882a593Smuzhiyun PDC_CHASSIS_ACT_STATUS_UNSPEC | \ 329*4882a593Smuzhiyun PDC_CHASSIS_CALL_SACT_UNSPEC | \ 330*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 331*4882a593Smuzhiyun PDC_CHASSIS_REID_UNSPEC | \ 332*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 333*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_PANIC | \ 334*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 335*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun // FIXME: extrapolated data 338*4882a593Smuzhiyun /* HPMC */ 339*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_HPMC (PDC_CHASSIS_ALERT_CONF_CHG /*?*/ | \ 340*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 341*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 342*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 343*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 344*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_WARN | \ 345*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 346*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 347*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_HPMC | \ 348*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 349*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 350*4882a593Smuzhiyun 351*4882a593Smuzhiyun /* LPMC */ 352*4882a593Smuzhiyun #define PDC_CHASSIS_PMSG_LPMC (PDC_CHASSIS_ALERT_BLOCKED /*?*/| \ 353*4882a593Smuzhiyun PDC_CHASSIS_SRC_PROC | \ 354*4882a593Smuzhiyun PDC_CHASSIS_SRC_D_PROC | \ 355*4882a593Smuzhiyun PDC_CHASSIS_SRC_ID_UNSPEC | \ 356*4882a593Smuzhiyun PDC_CHASSIS_PB_D_PROC_NONE | \ 357*4882a593Smuzhiyun PDC_CHASSIS_CALL_ACT_HPUX_WARN | \ 358*4882a593Smuzhiyun PDC_CHASSIS_ACT_STATUS_UNSPEC | \ 359*4882a593Smuzhiyun PDC_CHASSIS_CALL_SACT_UNSPEC | \ 360*4882a593Smuzhiyun PDC_CHASSIS_RET_HPUX | \ 361*4882a593Smuzhiyun PDC_CHASSIS_REID_UNSPEC | \ 362*4882a593Smuzhiyun PDC_CHASSIS_DT_STATE_CHG | \ 363*4882a593Smuzhiyun PDC_CHASSIS_SYSTATE_CHANGE | \ 364*4882a593Smuzhiyun PDC_CHASSIS_MSG_ID | \ 365*4882a593Smuzhiyun PDC_CHASSIS_EOM_SET ) 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun #endif /* _PARISC_PDC_CHASSIS_H */ 368*4882a593Smuzhiyun /* vim: set ts=8 */ 369