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>
This commit is contained in:
Tseng-Hui (Frank) Lin 2011-05-03 18:28:43 +00:00 committed by Benjamin Herrenschmidt
parent 79af2187fa
commit 4cb4638079
1 changed files with 44 additions and 1 deletions

View File

@ -158,7 +158,50 @@ struct rtas_error_log {
unsigned long target:4; /* Target of failed operation */
unsigned long type:8; /* General event or error*/
unsigned long extended_log_length:32; /* length in bytes */
unsigned char buffer[1];
unsigned char buffer[1]; /* Start of extended log */
/* Variable length. */
};
#define RTAS_V6EXT_LOG_FORMAT_EVENT_LOG 14
#define RTAS_V6EXT_COMPANY_ID_IBM (('I' << 24) | ('B' << 16) | ('M' << 8))
/* RTAS general extended event log, Version 6. The extended log starts
* from "buffer" field of struct rtas_error_log defined above.
*/
struct rtas_ext_event_log_v6 {
/* Byte 0 */
uint32_t log_valid:1; /* 1:Log valid */
uint32_t unrecoverable_error:1; /* 1:Unrecoverable error */
uint32_t recoverable_error:1; /* 1:recoverable (correctable */
/* or successfully retried) */
uint32_t degraded_operation:1; /* 1:Unrecoverable err, bypassed*/
/* - degraded operation (e.g. */
/* CPU or mem taken off-line) */
uint32_t predictive_error:1;
uint32_t new_log:1; /* 1:"New" log (Always 1 for */
/* data returned from RTAS */
uint32_t big_endian:1; /* 1: Big endian */
uint32_t :1; /* reserved */
/* Byte 1 */
uint32_t :8; /* reserved */
/* Byte 2 */
uint32_t powerpc_format:1; /* Set to 1 (indicating log is */
/* in PowerPC format */
uint32_t :3; /* reserved */
uint32_t log_format:4; /* Log format indicator. Define */
/* format used for byte 12-2047 */
/* Byte 3 */
uint32_t :8; /* reserved */
/* Byte 4-11 */
uint8_t reserved[8]; /* reserved */
/* Byte 12-15 */
uint32_t company_id; /* Company ID of the company */
/* that defines the format for */
/* the vendor specific log type */
/* Byte 16-end of log */
uint8_t vendor_log[1]; /* Start of vendor specific log */
/* Variable length. */
};
/*