Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

powerpc/pseries: Add RTAS event log v6 definition

This patch adds definitions of non-IBM specific v6 extended log
definitions to rtas.h.

Signed-off-by: Tseng-Hui (Frank) Lin <tsenglin@us.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

authored by

Tseng-Hui (Frank) Lin and committed by
Benjamin Herrenschmidt
4cb46380 79af2187

+44 -1
+44 -1
arch/powerpc/include/asm/rtas.h
··· 158 158 unsigned long target:4; /* Target of failed operation */ 159 159 unsigned long type:8; /* General event or error*/ 160 160 unsigned long extended_log_length:32; /* length in bytes */ 161 - unsigned char buffer[1]; 161 + unsigned char buffer[1]; /* Start of extended log */ 162 + /* Variable length. */ 163 + }; 164 + 165 + #define RTAS_V6EXT_LOG_FORMAT_EVENT_LOG 14 166 + 167 + #define RTAS_V6EXT_COMPANY_ID_IBM (('I' << 24) | ('B' << 16) | ('M' << 8)) 168 + 169 + /* RTAS general extended event log, Version 6. The extended log starts 170 + * from "buffer" field of struct rtas_error_log defined above. 171 + */ 172 + struct rtas_ext_event_log_v6 { 173 + /* Byte 0 */ 174 + uint32_t log_valid:1; /* 1:Log valid */ 175 + uint32_t unrecoverable_error:1; /* 1:Unrecoverable error */ 176 + uint32_t recoverable_error:1; /* 1:recoverable (correctable */ 177 + /* or successfully retried) */ 178 + uint32_t degraded_operation:1; /* 1:Unrecoverable err, bypassed*/ 179 + /* - degraded operation (e.g. */ 180 + /* CPU or mem taken off-line) */ 181 + uint32_t predictive_error:1; 182 + uint32_t new_log:1; /* 1:"New" log (Always 1 for */ 183 + /* data returned from RTAS */ 184 + uint32_t big_endian:1; /* 1: Big endian */ 185 + uint32_t :1; /* reserved */ 186 + /* Byte 1 */ 187 + uint32_t :8; /* reserved */ 188 + /* Byte 2 */ 189 + uint32_t powerpc_format:1; /* Set to 1 (indicating log is */ 190 + /* in PowerPC format */ 191 + uint32_t :3; /* reserved */ 192 + uint32_t log_format:4; /* Log format indicator. Define */ 193 + /* format used for byte 12-2047 */ 194 + /* Byte 3 */ 195 + uint32_t :8; /* reserved */ 196 + /* Byte 4-11 */ 197 + uint8_t reserved[8]; /* reserved */ 198 + /* Byte 12-15 */ 199 + uint32_t company_id; /* Company ID of the company */ 200 + /* that defines the format for */ 201 + /* the vendor specific log type */ 202 + /* Byte 16-end of log */ 203 + uint8_t vendor_log[1]; /* Start of vendor specific log */ 204 + /* Variable length. */ 162 205 }; 163 206 164 207 /*