summaryrefslogtreecommitdiffstats
path: root/include/linux/errinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/errinfo.h')
-rw-r--r--include/linux/errinfo.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/include/linux/errinfo.h b/include/linux/errinfo.h
index 074208918..5053919b3 100644
--- a/include/linux/errinfo.h
+++ b/include/linux/errinfo.h
@@ -20,9 +20,7 @@ enum err_reason {
20 REASON_ASYNC_MC, 20 REASON_ASYNC_MC,
21 REASON_ASYNC_MC_T19X, 21 REASON_ASYNC_MC_T19X,
22 REASON_ASYNC_CBB, 22 REASON_ASYNC_CBB,
23 REASON_SYNC_INSTR_ABORT, 23 REASON_SYNC,
24 REASON_SYNC_DATA_ABORT,
25 REASON_SYNC_OTHER,
26 REASON_ENUM_SIZE 24 REASON_ENUM_SIZE
27}; 25};
28 26
@@ -123,15 +121,20 @@ struct __attribute__((__packed__)) async_mc_err_t19x_t {
123 unsigned int write; 121 unsigned int write;
124}; 122};
125 123
126struct __attribute__((__packed__)) sync_data_abort_t { 124struct __attribute__((__packed__)) sync_t {
127 bool is_filled; /* metadata field per vcpu */ 125 bool is_filled; /* metadata field per vcpu */
128 bool is_write;
129 uint8_t access_size;
130 unsigned int offending_vcpu_id; 126 unsigned int offending_vcpu_id;
131 unsigned int esr_el2; 127 uint32_t esr_el2;
132 uint64_t fault_addr; 128 uint64_t elr_el2;
129 uint64_t far_el2;
130 uint64_t hpfar_el2;
131 uint64_t par_hpfar_el2;
133 uint64_t spsr_el2; 132 uint64_t spsr_el2;
134 uint64_t elr_el1; 133 uint64_t elr_el1;
134 uint64_t far_el1;
135 uint64_t spsr_el1;
136 uint32_t esr_el1;
137 uint32_t fault_instr;
135 uint64_t gpr_array[31]; 138 uint64_t gpr_array[31];
136}; 139};
137 140
@@ -147,7 +150,7 @@ struct __attribute__((__packed__)) err_data_t {
147 struct async_cbb_err_t async_cbb_err; 150 struct async_cbb_err_t async_cbb_err;
148 struct async_mc_err_t19x_t async_mc_err_t19x; 151 struct async_mc_err_t19x_t async_mc_err_t19x;
149 /* Synchronous */ 152 /* Synchronous */
150 struct sync_data_abort_t sync_data_abort; 153 struct sync_t sync;
151 }; 154 };
152}; 155};
153 156