aboutsummaryrefslogtreecommitdiffstats
path: root/include/kvm/arm_vgic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/kvm/arm_vgic.h')
-rw-r--r--include/kvm/arm_vgic.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h
index f738e5a69ee9..17bbe51b79a1 100644
--- a/include/kvm/arm_vgic.h
+++ b/include/kvm/arm_vgic.h
@@ -68,6 +68,24 @@ struct vgic_bytemap {
68 u32 shared[VGIC_NR_SHARED_IRQS / 4]; 68 u32 shared[VGIC_NR_SHARED_IRQS / 4];
69}; 69};
70 70
71struct kvm_vcpu;
72
73#define LR_STATE_PENDING (1 << 0)
74#define LR_STATE_ACTIVE (1 << 1)
75#define LR_STATE_MASK (3 << 0)
76#define LR_EOI_INT (1 << 2)
77
78struct vgic_lr {
79 u16 irq;
80 u8 source;
81 u8 state;
82};
83
84struct vgic_ops {
85 struct vgic_lr (*get_lr)(const struct kvm_vcpu *, int);
86 void (*set_lr)(struct kvm_vcpu *, int, struct vgic_lr);
87};
88
71struct vgic_dist { 89struct vgic_dist {
72#ifdef CONFIG_KVM_ARM_VGIC 90#ifdef CONFIG_KVM_ARM_VGIC
73 spinlock_t lock; 91 spinlock_t lock;