virtio-devices: Add set_notifier() method to VirtioInterrupt

It is currently left as unimplemented!().

No functional change intended as there are no callers.

Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
This commit is contained in:
Demi Marie Obenour
2026-03-12 21:48:12 -04:00
committed by Sebastien Boeuf
parent 0f7dc514ba
commit e1c40211ae
16 changed files with 117 additions and 0 deletions
Generated
+1
View File
@@ -2455,6 +2455,7 @@ dependencies = [
"byteorder",
"epoll",
"event_monitor",
"hypervisor",
"libc",
"log",
"mshv-ioctls",
+1
View File
@@ -1372,6 +1372,7 @@ dependencies = [
"byteorder",
"epoll",
"event_monitor",
"hypervisor",
"libc",
"log",
"net_util",
+9
View File
@@ -119,6 +119,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
macro_rules! align {
+9
View File
@@ -121,6 +121,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queue(bytes: &[u8; QUEUE_DATA_SIZE]) -> Queue {
+9
View File
@@ -148,6 +148,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queues(bytes: &[&[u8; QUEUE_DATA_SIZE]], base_addr: u64) -> Vec<Queue> {
+9
View File
@@ -130,6 +130,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queue(bytes: &[u8; QUEUE_DATA_SIZE]) -> Queue {
+9
View File
@@ -125,6 +125,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
// Create a dummy virtio-mem device for fuzzing purpose only
+9
View File
@@ -166,6 +166,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queues(bytes: &[&[u8; QUEUE_DATA_SIZE]], base_addr: u64) -> Vec<Queue> {
+9
View File
@@ -95,6 +95,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
// Create a dummy virtio-pmem device for fuzzing purpose only
+9
View File
@@ -119,6 +119,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queue(bytes: &[u8; QUEUE_DATA_SIZE]) -> Queue {
+9
View File
@@ -128,6 +128,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queue(bytes: &[u8; QUEUE_DATA_SIZE]) -> Queue {
+9
View File
@@ -84,6 +84,15 @@ impl VirtioInterrupt for NoopVirtioInterrupt {
fn trigger(&self, _int_type: VirtioInterruptType) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
fn setup_virt_queue(bytes: &[u8; QUEUE_DATA_SIZE]) -> Queue {
+1
View File
@@ -17,6 +17,7 @@ block = { path = "../block" }
byteorder = { workspace = true }
epoll = { workspace = true }
event_monitor = { path = "../event_monitor" }
hypervisor = { path = "../hypervisor" }
libc = { workspace = true }
log = { workspace = true }
mshv-ioctls = { workspace = true, optional = true }
+6
View File
@@ -37,6 +37,12 @@ pub trait VirtioInterrupt: Send + Sync {
fn notifier(&self, _int_type: VirtioInterruptType) -> Option<EventFd> {
None
}
fn set_notifier(
&self,
int_type: u32,
notifier: Option<EventFd>,
vm: &dyn hypervisor::Vm,
) -> std::io::Result<()>;
}
#[derive(Clone)]
@@ -914,6 +914,15 @@ impl VirtioInterrupt for VirtioInterruptMsix {
self.interrupt_source_group
.notifier(vector as InterruptIndex)
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
impl PciDevice for VirtioPciDevice {
+9
View File
@@ -188,6 +188,15 @@ pub mod unit_tests {
) -> std::result::Result<(), std::io::Error> {
Ok(())
}
fn set_notifier(
&self,
_interrupt: u32,
_eventfd: Option<EventFd>,
_vm: &dyn hypervisor::Vm,
) -> std::io::Result<()> {
unimplemented!()
}
}
pub struct TestBackend {