diff options
Diffstat (limited to 'include/kvm')
-rw-r--r-- | include/kvm/arm_vgic.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index 7d8e61fa9928..f074539c6ac5 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h | |||
@@ -140,9 +140,23 @@ struct vgic_dist { | |||
140 | /* Interrupt enabled (one bit per IRQ) */ | 140 | /* Interrupt enabled (one bit per IRQ) */ |
141 | struct vgic_bitmap irq_enabled; | 141 | struct vgic_bitmap irq_enabled; |
142 | 142 | ||
143 | /* Interrupt state is pending on the distributor */ | 143 | /* Level-triggered interrupt external input is asserted */ |
144 | struct vgic_bitmap irq_level; | ||
145 | |||
146 | /* | ||
147 | * Interrupt state is pending on the distributor | ||
148 | */ | ||
144 | struct vgic_bitmap irq_pending; | 149 | struct vgic_bitmap irq_pending; |
145 | 150 | ||
151 | /* | ||
152 | * Tracks writes to GICD_ISPENDRn and GICD_ICPENDRn for level-triggered | ||
153 | * interrupts. Essentially holds the state of the flip-flop in | ||
154 | * Figure 4-10 on page 4-101 in ARM IHI 0048B.b. | ||
155 | * Once set, it is only cleared for level-triggered interrupts on | ||
156 | * guest ACKs (when we queue it) or writes to GICD_ICPENDRn. | ||
157 | */ | ||
158 | struct vgic_bitmap irq_soft_pend; | ||
159 | |||
146 | /* Level-triggered interrupt queued on VCPU interface */ | 160 | /* Level-triggered interrupt queued on VCPU interface */ |
147 | struct vgic_bitmap irq_queued; | 161 | struct vgic_bitmap irq_queued; |
148 | 162 | ||