arch/parisc/include/asm/pdc_chassis.h

Source file repositories/reference/linux-study-clean/arch/parisc/include/asm/pdc_chassis.h

File Facts

System
Linux kernel
Corpus path
arch/parisc/include/asm/pdc_chassis.h
Extension
.h
Size
14745 bytes
Lines
368
Domain
Architecture Layer
Bucket
arch/parisc
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _PARISC_PDC_CHASSIS_H
#define _PARISC_PDC_CHASSIS_H

/*
 * ----------
 * Prototypes
 * ----------
 */

int pdc_chassis_send_status(int message);
void parisc_pdc_chassis_init(void);


/*
 * -----------------
 * Direct call names
 * -----------------
 * They setup everything for you, the Log message and the corresponding LED state
 */

#define PDC_CHASSIS_DIRECT_BSTART	0
#define PDC_CHASSIS_DIRECT_BCOMPLETE	1
#define PDC_CHASSIS_DIRECT_SHUTDOWN	2
#define PDC_CHASSIS_DIRECT_PANIC	3
#define PDC_CHASSIS_DIRECT_HPMC		4
#define PDC_CHASSIS_DIRECT_LPMC		5
#define PDC_CHASSIS_DIRECT_DUMP		6	/* not yet implemented */
#define PDC_CHASSIS_DIRECT_OOPS		7	/* not yet implemented */


/*
 * ------------
 * LEDs control
 * ------------
 * Set the three LEDs -- Run, Attn, and Fault.
 */

/* Old PDC LED control */
#define PDC_CHASSIS_DISP_DATA(v)	((unsigned long)(v) << 17)

/* 
 * Available PDC PAT LED states
 */

#define PDC_CHASSIS_LED_RUN_OFF		(0ULL << 4)
#define PDC_CHASSIS_LED_RUN_FLASH	(1ULL << 4)
#define PDC_CHASSIS_LED_RUN_ON		(2ULL << 4)
#define PDC_CHASSIS_LED_RUN_NC		(3ULL << 4)
#define PDC_CHASSIS_LED_ATTN_OFF	(0ULL << 6)
#define PDC_CHASSIS_LED_ATTN_FLASH	(1ULL << 6)
#define PDC_CHASSIS_LED_ATTN_NC		(3ULL << 6)	/* ATTN ON is invalid */
#define PDC_CHASSIS_LED_FAULT_OFF	(0ULL << 8)
#define PDC_CHASSIS_LED_FAULT_FLASH	(1ULL << 8)
#define PDC_CHASSIS_LED_FAULT_ON	(2ULL << 8)
#define PDC_CHASSIS_LED_FAULT_NC	(3ULL << 8)
#define PDC_CHASSIS_LED_VALID		(1ULL << 10)

/* 
 * Valid PDC PAT LED states combinations
 */

/* System running normally */
#define PDC_CHASSIS_LSTATE_RUN_NORMAL	(PDC_CHASSIS_LED_RUN_ON		| \
					 PDC_CHASSIS_LED_ATTN_OFF	| \
					 PDC_CHASSIS_LED_FAULT_OFF	| \
					 PDC_CHASSIS_LED_VALID		)
/* System crashed and rebooted itself successfully */
#define PDC_CHASSIS_LSTATE_RUN_CRASHREC	(PDC_CHASSIS_LED_RUN_ON		| \
					 PDC_CHASSIS_LED_ATTN_OFF	| \
					 PDC_CHASSIS_LED_FAULT_FLASH	| \
					 PDC_CHASSIS_LED_VALID		)
/* There was a system interruption that did not take the system down */
#define PDC_CHASSIS_LSTATE_RUN_SYSINT	(PDC_CHASSIS_LED_RUN_ON		| \
					 PDC_CHASSIS_LED_ATTN_FLASH	| \
					 PDC_CHASSIS_LED_FAULT_OFF	| \
					 PDC_CHASSIS_LED_VALID		)
/* System running and unexpected reboot or non-critical error detected */
#define PDC_CHASSIS_LSTATE_RUN_NCRIT	(PDC_CHASSIS_LED_RUN_ON		| \
					 PDC_CHASSIS_LED_ATTN_FLASH	| \
					 PDC_CHASSIS_LED_FAULT_FLASH	| \
					 PDC_CHASSIS_LED_VALID		)
/* Executing non-OS code */
#define PDC_CHASSIS_LSTATE_NONOS	(PDC_CHASSIS_LED_RUN_FLASH	| \
					 PDC_CHASSIS_LED_ATTN_OFF	| \
					 PDC_CHASSIS_LED_FAULT_OFF	| \
					 PDC_CHASSIS_LED_VALID		)
/* Boot failed - Executing non-OS code */
#define PDC_CHASSIS_LSTATE_NONOS_BFAIL	(PDC_CHASSIS_LED_RUN_FLASH	| \
					 PDC_CHASSIS_LED_ATTN_OFF	| \
					 PDC_CHASSIS_LED_FAULT_ON	| \

Annotation

Implementation Notes