From: Zhao Liu Date: Mon, 10 Feb 2025 03:00:44 +0000 (+0800) Subject: rust/irq: Add a helper to convert [InterruptSource] to pointer X-Git-Tag: v10.0.0-rc0~51^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6f1195f55427bf246bb85b1bcbbfd8fbdc51889;p=thirdparty%2Fqemu.git 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 Signed-off-by: Zhao Liu Link: https://lore.kernel.org/r/20250210030051.2562726-4-zhao1.liu@intel.com Signed-off-by: Paolo Bonzini --- diff --git a/rust/qemu-api/src/irq.rs b/rust/qemu-api/src/irq.rs index 835b027d5e..672eec1430 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 {