diff options
author | Marc Zyngier <marc.zyngier@arm.com> | 2013-06-04 06:02:10 -0400 |
---|---|---|
committer | Christoffer Dall <christoffer.dall@linaro.org> | 2014-07-11 07:57:32 -0400 |
commit | 495dd859f304689a7cd5ef413c439cb090dc25e6 (patch) | |
tree | efeaef9196b6b31c93edfa83607c58dcc7913104 /include/kvm | |
parent | 8d6a0313c125c3c7b208b75695fe6ab00afab4c5 (diff) |
KVM: ARM: vgic: abstract MISR decoding
Instead of directly dealing with the GICH_MISR bits, move the code to
its own function and use a couple of public flags to represent the
actual state.
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'include/kvm')
-rw-r--r-- | include/kvm/arm_vgic.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index ccb9b59818f4..4857508b12e7 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h | |||
@@ -87,6 +87,7 @@ struct vgic_ops { | |||
87 | void (*sync_lr_elrsr)(struct kvm_vcpu *, int, struct vgic_lr); | 87 | void (*sync_lr_elrsr)(struct kvm_vcpu *, int, struct vgic_lr); |
88 | u64 (*get_elrsr)(const struct kvm_vcpu *vcpu); | 88 | u64 (*get_elrsr)(const struct kvm_vcpu *vcpu); |
89 | u64 (*get_eisr)(const struct kvm_vcpu *vcpu); | 89 | u64 (*get_eisr)(const struct kvm_vcpu *vcpu); |
90 | u32 (*get_interrupt_status)(const struct kvm_vcpu *vcpu); | ||
90 | }; | 91 | }; |
91 | 92 | ||
92 | struct vgic_dist { | 93 | struct vgic_dist { |
@@ -165,6 +166,9 @@ struct vgic_cpu { | |||
165 | 166 | ||
166 | #define LR_EMPTY 0xff | 167 | #define LR_EMPTY 0xff |
167 | 168 | ||
169 | #define INT_STATUS_EOI (1 << 0) | ||
170 | #define INT_STATUS_UNDERFLOW (1 << 1) | ||
171 | |||
168 | struct kvm; | 172 | struct kvm; |
169 | struct kvm_vcpu; | 173 | struct kvm_vcpu; |
170 | struct kvm_run; | 174 | struct kvm_run; |