From 43c38e0d7802b96b354fef84da5d209f91a3abf6 Mon Sep 17 00:00:00 2001 From: Xiong Zhang Date: Fri, 1 Nov 2019 10:38:43 +0800 Subject: kvm: Fix build_test error on register_irqfd Cargo test fail on register_irqfd, irqfd_resample, and unregister_irqfd. The reason is KVM_IRQFD() ioctl will return EINVAL if vm doesn't have irq chip device. This patch add IrqChip creation before KVM_IRQFD() ioctl. BUG=None TEST=build_test Change-Id: Ida48dd364186e64f86d17e533a9d7e812354b0db Signed-off-by: Xiong Zhang Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1893790 Reviewed-by: Daniel Verkamp Tested-by: kokoro --- kvm/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) (limited to 'kvm') diff --git a/kvm/src/lib.rs b/kvm/src/lib.rs index 8c10704..17b22c9 100644 --- a/kvm/src/lib.rs +++ b/kvm/src/lib.rs @@ -2105,6 +2105,7 @@ mod tests { let evtfd1 = EventFd::new().unwrap(); let evtfd2 = EventFd::new().unwrap(); let evtfd3 = EventFd::new().unwrap(); + vm.create_irq_chip().unwrap(); vm.register_irqfd(&evtfd1, 4).unwrap(); vm.register_irqfd(&evtfd2, 8).unwrap(); vm.register_irqfd(&evtfd3, 4).unwrap(); @@ -2119,6 +2120,7 @@ mod tests { let evtfd1 = EventFd::new().unwrap(); let evtfd2 = EventFd::new().unwrap(); let evtfd3 = EventFd::new().unwrap(); + vm.create_irq_chip().unwrap(); vm.register_irqfd(&evtfd1, 4).unwrap(); vm.register_irqfd(&evtfd2, 8).unwrap(); vm.register_irqfd(&evtfd3, 4).unwrap(); @@ -2134,6 +2136,7 @@ mod tests { let vm = Vm::new(&kvm, gm).unwrap(); let evtfd1 = EventFd::new().unwrap(); let evtfd2 = EventFd::new().unwrap(); + vm.create_irq_chip().unwrap(); vm.register_irqfd_resample(&evtfd1, &evtfd2, 4).unwrap(); vm.unregister_irqfd(&evtfd1, 4).unwrap(); // Ensures the ioctl is actually reading the resamplefd. -- cgit 1.4.1