]> xenbits.xensource.com Git - people/aperard/qemu-dm.git/commitdiff
rust/irq: Add a helper to convert [InterruptSource] to pointer
authorZhao Liu <zhao1.liu@intel.com>
Mon, 10 Feb 2025 03:00:44 +0000 (11:00 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 13 Feb 2025 11:51:34 +0000 (12:51 +0100)
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>
rust/qemu-api/src/irq.rs

index 835b027d5e5a782d8253fbf0f90eebc39f982d28..672eec1430ffe3f1179ae9dd6054e390ca7fba4f 100644 (file)
@@ -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 {