KVM: selftests: Add kvm_irq_line library function
Add an architecture independent wrapper function for the KVM_IRQ_LINE ioctl. Signed-off-by: Ricardo Koller <ricarkol@google.com> Acked-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20211109023906.1091208-5-ricarkol@google.com
This commit is contained in:
parent
17ce617bf7
commit
227895ed6d
@ -240,6 +240,8 @@ int _kvm_device_access(int dev_fd, uint32_t group, uint64_t attr,
|
||||
void *val, bool write);
|
||||
int kvm_device_access(int dev_fd, uint32_t group, uint64_t attr,
|
||||
void *val, bool write);
|
||||
void kvm_irq_line(struct kvm_vm *vm, uint32_t irq, int level);
|
||||
int _kvm_irq_line(struct kvm_vm *vm, uint32_t irq, int level);
|
||||
|
||||
int _vcpu_has_device_attr(struct kvm_vm *vm, uint32_t vcpuid, uint32_t group,
|
||||
uint64_t attr);
|
||||
|
@ -2086,6 +2086,27 @@ int vcpu_access_device_attr(struct kvm_vm *vm, uint32_t vcpuid, uint32_t group,
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* IRQ related functions.
|
||||
*/
|
||||
|
||||
int _kvm_irq_line(struct kvm_vm *vm, uint32_t irq, int level)
|
||||
{
|
||||
struct kvm_irq_level irq_level = {
|
||||
.irq = irq,
|
||||
.level = level,
|
||||
};
|
||||
|
||||
return _vm_ioctl(vm, KVM_IRQ_LINE, &irq_level);
|
||||
}
|
||||
|
||||
void kvm_irq_line(struct kvm_vm *vm, uint32_t irq, int level)
|
||||
{
|
||||
int ret = _kvm_irq_line(vm, irq, level);
|
||||
|
||||
TEST_ASSERT(ret >= 0, "KVM_IRQ_LINE failed, rc: %i errno: %i", ret, errno);
|
||||
}
|
||||
|
||||
/*
|
||||
* VM Dump
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user