diff options
author | Tseng-Hui (Frank) Lin <thlin@linux.vnet.ibm.com> | 2011-05-03 14:28:43 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-05-05 23:18:59 -0400 |
commit | 4cb4638079a487627232ffee5b48ca19c127aed8 (patch) | |
tree | ab961e470c2cbfc6a60875dc264d9eac42f895d6 /arch | |
parent | 79af2187fa27442e89437d8ee637578cdb1a036c (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/include/asm/rtas.h | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h index 9a1193e30f26..58625d1e7802 100644 --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h | |||
@@ -158,7 +158,50 @@ struct rtas_error_log { | |||
158 | unsigned long target:4; /* Target of failed operation */ | 158 | unsigned long target:4; /* Target of failed operation */ |
159 | unsigned long type:8; /* General event or error*/ | 159 | unsigned long type:8; /* General event or error*/ |
160 | unsigned long extended_log_length:32; /* length in bytes */ | 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 | /* |