diff options
author | Xiong Zhang <xiong.y.zhang@intel.corp-partner.google.com> | 2019-11-01 10:38:43 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-11-04 10:38:57 +0000 |
commit | 43c38e0d7802b96b354fef84da5d209f91a3abf6 (patch) | |
tree | e7b7d182971747c03b0681b3d8d17596acc0c4fd /kvm | |
parent | fdcfd1d4398d4632333c0d3ed619539251d9986b (diff) | |
download | crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar.gz crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar.bz2 crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar.lz crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar.xz crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.tar.zst crosvm-43c38e0d7802b96b354fef84da5d209f91a3abf6.zip |
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 <xiong.y.zhang@intel.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1893790 Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'kvm')
-rw-r--r-- | kvm/src/lib.rs | 3 |
1 files changed, 3 insertions, 0 deletions
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. |