KVM: arm/arm64: Introduce an allocator for in-kernel irq lines
Having multiple devices being able to signal the same interrupt line is very confusing and almost certainly guarantees a configuration error. Therefore, introduce a very simple allocator which allows a device to claim an interrupt line from the vgic for a given VM. Signed-off-by: Christoffer Dall <cdall@linaro.org> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
This commit is contained in:
@@ -121,6 +121,9 @@ struct vgic_irq {
|
||||
u8 source; /* GICv2 SGIs only */
|
||||
u8 priority;
|
||||
enum vgic_irq_config config; /* Level or edge */
|
||||
|
||||
void *owner; /* Opaque pointer to reserve an interrupt
|
||||
for in-kernel devices. */
|
||||
};
|
||||
|
||||
struct vgic_register_region;
|
||||
@@ -340,4 +343,6 @@ int kvm_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi);
|
||||
*/
|
||||
int kvm_vgic_setup_default_irq_routing(struct kvm *kvm);
|
||||
|
||||
int kvm_vgic_set_owner(struct kvm_vcpu *vcpu, unsigned int intid, void *owner);
|
||||
|
||||
#endif /* __KVM_ARM_VGIC_H */
|
||||
|
Reference in New Issue
Block a user