From 5d0c2431a5ed9c21e06e0d68d855f7f853ccda42 Mon Sep 17 00:00:00 2001 From: longjin Date: Wed, 1 May 2024 12:02:35 +0000 Subject: [PATCH] feat(virtio-blk): add interrupt enable and disable function for virtio-blk --- src/device/blk.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/device/blk.rs b/src/device/blk.rs index bfdc5f89..cbd2dcc3 100644 --- a/src/device/blk.rs +++ b/src/device/blk.rs @@ -96,6 +96,16 @@ impl VirtIOBlk { self.transport.ack_interrupt() } + /// Enables interrupts from the device. + pub fn enable_interrupts(&mut self) { + self.queue.set_dev_notify(true); + } + + /// Disables interrupts from the device. + pub fn disable_interrupts(&mut self) { + self.queue.set_dev_notify(false); + } + /// Sends the given request to the device and waits for a response, with no extra data. fn request(&mut self, request: BlkReq) -> Result { let mut resp = BlkResp::default();