|
@@ -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 */
|