aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api/src
diff options
context:
space:
mode:
authorZhao Liu <zhao1.liu@intel.com>2025-02-10 11:00:44 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2025-02-13 12:51:34 +0100
commite6f1195f55427bf246bb85b1bcbbfd8fbdc51889 (patch)
treee46f851d95c3d8fc77fdc6a20fc8c1fc156bdbd6 /rust/qemu-api/src
parent7f2d4181a3efc3c1fd9de4bdca81317a1116239a (diff)
downloadqemu-e6f1195f55427bf246bb85b1bcbbfd8fbdc51889.zip
qemu-e6f1195f55427bf246bb85b1bcbbfd8fbdc51889.tar.gz
qemu-e6f1195f55427bf246bb85b1bcbbfd8fbdc51889.tar.bz2
rust/irq: Add a helper to convert [InterruptSource] to pointer
This is useful when taking an InterruptSource slice and passing it to C function. Suggested-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Link: https://lore.kernel.org/r/20250210030051.2562726-4-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/src')
-rw-r--r--rust/qemu-api/src/irq.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/rust/qemu-api/src/irq.rs b/rust/qemu-api/src/irq.rs
index 835b027..672eec1 100644
--- a/rust/qemu-api/src/irq.rs
+++ b/rust/qemu-api/src/irq.rs
@@ -83,6 +83,12 @@ where
pub(crate) const fn as_ptr(&self) -> *mut *mut IRQState {
self.cell.as_ptr()
}
+
+ #[allow(dead_code)]
+ pub(crate) const fn slice_as_ptr(slice: &[Self]) -> *mut *mut IRQState {
+ assert!(!slice.is_empty());
+ slice[0].as_ptr()
+ }
}
impl Default for InterruptSource {