~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to hw/intc/gicv3_internal.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
138
138
#define ICC_CTLR_EL1_EOIMODE        (1U << 1)
139
139
#define ICC_CTLR_EL1_PMHE           (1U << 6)
140
140
#define ICC_CTLR_EL1_PRIBITS_SHIFT 8
 
141
#define ICC_CTLR_EL1_PRIBITS_MASK   (7U << ICC_CTLR_EL1_PRIBITS_SHIFT)
141
142
#define ICC_CTLR_EL1_IDBITS_SHIFT 11
142
143
#define ICC_CTLR_EL1_SEIS           (1U << 14)
143
144
#define ICC_CTLR_EL1_A3V            (1U << 15)
159
160
#define ICC_CTLR_EL3_A3V (1U << 15)
160
161
#define ICC_CTLR_EL3_NDS (1U << 17)
161
162
 
 
163
#define ICH_VMCR_EL2_VENG0_SHIFT 0
 
164
#define ICH_VMCR_EL2_VENG0 (1U << ICH_VMCR_EL2_VENG0_SHIFT)
 
165
#define ICH_VMCR_EL2_VENG1_SHIFT 1
 
166
#define ICH_VMCR_EL2_VENG1 (1U << ICH_VMCR_EL2_VENG1_SHIFT)
 
167
#define ICH_VMCR_EL2_VACKCTL (1U << 2)
 
168
#define ICH_VMCR_EL2_VFIQEN (1U << 3)
 
169
#define ICH_VMCR_EL2_VCBPR_SHIFT 4
 
170
#define ICH_VMCR_EL2_VCBPR (1U << ICH_VMCR_EL2_VCBPR_SHIFT)
 
171
#define ICH_VMCR_EL2_VEOIM_SHIFT 9
 
172
#define ICH_VMCR_EL2_VEOIM (1U << ICH_VMCR_EL2_VEOIM_SHIFT)
 
173
#define ICH_VMCR_EL2_VBPR1_SHIFT 18
 
174
#define ICH_VMCR_EL2_VBPR1_LENGTH 3
 
175
#define ICH_VMCR_EL2_VBPR1_MASK (0x7U << ICH_VMCR_EL2_VBPR1_SHIFT)
 
176
#define ICH_VMCR_EL2_VBPR0_SHIFT 21
 
177
#define ICH_VMCR_EL2_VBPR0_LENGTH 3
 
178
#define ICH_VMCR_EL2_VBPR0_MASK (0x7U << ICH_VMCR_EL2_VBPR0_SHIFT)
 
179
#define ICH_VMCR_EL2_VPMR_SHIFT 24
 
180
#define ICH_VMCR_EL2_VPMR_LENGTH 8
 
181
#define ICH_VMCR_EL2_VPMR_MASK (0xffU << ICH_VMCR_EL2_VPMR_SHIFT)
 
182
 
 
183
#define ICH_HCR_EL2_EN (1U << 0)
 
184
#define ICH_HCR_EL2_UIE (1U << 1)
 
185
#define ICH_HCR_EL2_LRENPIE (1U << 2)
 
186
#define ICH_HCR_EL2_NPIE (1U << 3)
 
187
#define ICH_HCR_EL2_VGRP0EIE (1U << 4)
 
188
#define ICH_HCR_EL2_VGRP0DIE (1U << 5)
 
189
#define ICH_HCR_EL2_VGRP1EIE (1U << 6)
 
190
#define ICH_HCR_EL2_VGRP1DIE (1U << 7)
 
191
#define ICH_HCR_EL2_TC (1U << 10)
 
192
#define ICH_HCR_EL2_TALL0 (1U << 11)
 
193
#define ICH_HCR_EL2_TALL1 (1U << 12)
 
194
#define ICH_HCR_EL2_TSEI (1U << 13)
 
195
#define ICH_HCR_EL2_TDIR (1U << 14)
 
196
#define ICH_HCR_EL2_EOICOUNT_SHIFT 27
 
197
#define ICH_HCR_EL2_EOICOUNT_LENGTH 5
 
198
#define ICH_HCR_EL2_EOICOUNT_MASK (0x1fU << ICH_HCR_EL2_EOICOUNT_SHIFT)
 
199
 
 
200
#define ICH_LR_EL2_VINTID_SHIFT 0
 
201
#define ICH_LR_EL2_VINTID_LENGTH 32
 
202
#define ICH_LR_EL2_VINTID_MASK (0xffffffffULL << ICH_LR_EL2_VINTID_SHIFT)
 
203
#define ICH_LR_EL2_PINTID_SHIFT 32
 
204
#define ICH_LR_EL2_PINTID_LENGTH 10
 
205
#define ICH_LR_EL2_PINTID_MASK (0x3ffULL << ICH_LR_EL2_PINTID_SHIFT)
 
206
/* Note that EOI shares with the top bit of the pINTID field */
 
207
#define ICH_LR_EL2_EOI (1ULL << 41)
 
208
#define ICH_LR_EL2_PRIORITY_SHIFT 48
 
209
#define ICH_LR_EL2_PRIORITY_LENGTH 8
 
210
#define ICH_LR_EL2_PRIORITY_MASK (0xffULL << ICH_LR_EL2_PRIORITY_SHIFT)
 
211
#define ICH_LR_EL2_GROUP (1ULL << 60)
 
212
#define ICH_LR_EL2_HW (1ULL << 61)
 
213
#define ICH_LR_EL2_STATE_SHIFT 62
 
214
#define ICH_LR_EL2_STATE_LENGTH 2
 
215
#define ICH_LR_EL2_STATE_MASK (3ULL << ICH_LR_EL2_STATE_SHIFT)
 
216
/* values for the state field: */
 
217
#define ICH_LR_EL2_STATE_INVALID 0
 
218
#define ICH_LR_EL2_STATE_PENDING 1
 
219
#define ICH_LR_EL2_STATE_ACTIVE 2
 
220
#define ICH_LR_EL2_STATE_ACTIVE_PENDING 3
 
221
#define ICH_LR_EL2_STATE_PENDING_BIT (1ULL << ICH_LR_EL2_STATE_SHIFT)
 
222
#define ICH_LR_EL2_STATE_ACTIVE_BIT (2ULL << ICH_LR_EL2_STATE_SHIFT)
 
223
 
 
224
#define ICH_MISR_EL2_EOI (1U << 0)
 
225
#define ICH_MISR_EL2_U (1U << 1)
 
226
#define ICH_MISR_EL2_LRENP (1U << 2)
 
227
#define ICH_MISR_EL2_NP (1U << 3)
 
228
#define ICH_MISR_EL2_VGRP0E (1U << 4)
 
229
#define ICH_MISR_EL2_VGRP0D (1U << 5)
 
230
#define ICH_MISR_EL2_VGRP1E (1U << 6)
 
231
#define ICH_MISR_EL2_VGRP1D (1U << 7)
 
232
 
 
233
#define ICH_VTR_EL2_LISTREGS_SHIFT 0
 
234
#define ICH_VTR_EL2_TDS (1U << 19)
 
235
#define ICH_VTR_EL2_NV4 (1U << 20)
 
236
#define ICH_VTR_EL2_A3V (1U << 21)
 
237
#define ICH_VTR_EL2_SEIS (1U << 22)
 
238
#define ICH_VTR_EL2_IDBITS_SHIFT 23
 
239
#define ICH_VTR_EL2_PREBITS_SHIFT 26
 
240
#define ICH_VTR_EL2_PRIBITS_SHIFT 29
 
241
 
162
242
/* Special interrupt IDs */
163
243
#define INTID_SECURE 1020
164
244
#define INTID_NONSECURE 1021
328
408
    }
329
409
}
330
410
 
 
411
void gicv3_set_gicv3state(CPUState *cpu, GICv3CPUState *s);
 
412
 
331
413
#endif /* QEMU_ARM_GICV3_INTERNAL_H */