| 
					
				 | 
			
			
				@@ -416,3 +416,98 @@ typedef struct pal_process_state_info_s { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 * processor to run in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 * degraded mode. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tl		: 1,	/* 1 => MC occurred 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * after an instr was 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * executed but before 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * the trap that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * resulted from instr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * execution was 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * generated. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * (Trap Lost ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mi		: 1,	/* More information available 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * call PAL_MC_ERROR_INFO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pi		: 1,	/* Precise instruction pointer */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pm		: 1,	/* Precise min-state save area */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dy		: 1,	/* Processor dynamic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * state valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			in		: 1,	/* 0 = MC, 1 = INIT */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rs		: 1,	/* RSE valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cm		: 1,	/* MC corrected */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ex		: 1,	/* MC is expected */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cr		: 1,	/* Control regs valid*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pc		: 1,	/* Perf cntrs valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dr		: 1,	/* Debug regs valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tr		: 1,	/* Translation regs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rr		: 1,	/* Region regs valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ar		: 1,	/* App regs valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			br		: 1,	/* Branch regs valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			pr		: 1,	/* Predicate registers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			fp		: 1,	/* fp registers valid*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			b1		: 1,	/* Preserved bank one 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * general registers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * are valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			b0		: 1,	/* Preserved bank zero 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * general registers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * are valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			gr		: 1,	/* General registers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * are valid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * (excl. banked regs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dsize		: 16,	/* size of dynamic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * state returned 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * by the processor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			se		: 1,	/* Shared error.  MCA in a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						   shared structure */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			reserved2	: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			cc		: 1,	/* Cache check */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tc		: 1,	/* TLB check */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			bc		: 1,	/* Bus check */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rc		: 1,	/* Register file check */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			uc		: 1;	/* Uarch check */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} pal_processor_state_info_t; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+typedef struct pal_cache_check_info_s { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	u64		op		: 4,	/* Type of cache 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * operation that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * caused the machine 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * check. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			level		: 2,	/* Cache level */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			reserved1	: 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dl		: 1,	/* Failure in data part 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * of cache line 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tl		: 1,	/* Failure in tag part 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * of cache line 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dc		: 1,	/* Failure in dcache */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ic		: 1,	/* Failure in icache */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mesi		: 3,	/* Cache line state */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mv		: 1,	/* mesi valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			way		: 5,	/* Way in which the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 * error occurred 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			wiv		: 1,	/* Way field valid */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			reserved2	: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			dp		: 1,	/* Data poisoned on MBE */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			reserved3	: 6, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			hlth		: 2,	/* Health indicator */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			index		: 20,	/* Cache line index */ 
			 |