[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 03/10] rust/irq: Add a helper to convert [InterruptSource] to
From: |
Zhao Liu |
Subject: |
[PATCH v2 03/10] rust/irq: Add a helper to convert [InterruptSource] to pointer |
Date: |
Mon, 10 Feb 2025 11:00:44 +0800 |
This is useful to hanlde InterruptSource slice and pass it to C
bindings.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
Changes since RFC:
* New commit.
Changes since Patch v1:
* Drop `pub(crate) use crate::bindings::IRQState`.
* Derefer `slice[0]` directly.
---
rust/qemu-api/src/irq.rs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/rust/qemu-api/src/irq.rs b/rust/qemu-api/src/irq.rs
index 835b027d5e5a..05f617b5684a 100644
--- a/rust/qemu-api/src/irq.rs
+++ b/rust/qemu-api/src/irq.rs
@@ -83,6 +83,12 @@ pub fn set(&self, level: T) {
pub(crate) const fn as_ptr(&self) -> *mut *mut IRQState {
self.cell.as_ptr()
}
+
+ #[allow(dead_code)]
+ pub(crate) fn slice_as_ptr(slice: &[Self]) -> *mut *mut IRQState {
+ assert!(!slice.is_empty());
+ slice[0].as_ptr()
+ }
}
impl Default for InterruptSource {
--
2.34.1
- [PATCH v2 00/10] rust: Add HPET timer device, Zhao Liu, 2025/02/09
- [PATCH v2 02/10] rust/qdev: add the macro to define bit property, Zhao Liu, 2025/02/09
- [PATCH v2 03/10] rust/irq: Add a helper to convert [InterruptSource] to pointer,
Zhao Liu <=
- [PATCH v2 01/10] i386/fw_cfg: move hpet_cfg definition to hpet.c, Zhao Liu, 2025/02/09
- [PATCH v2 05/10] rust: add bindings for memattrs, Zhao Liu, 2025/02/09
- [PATCH v2 04/10] rust: add bindings for gpio_{in|out} initialization, Zhao Liu, 2025/02/09
- [PATCH v2 06/10] rust: add bindings for timer, Zhao Liu, 2025/02/09
- [PATCH v2 07/10] rust/timer/hpet: define hpet_fw_cfg, Zhao Liu, 2025/02/09
- [PATCH v2 08/10] rust/timer/hpet: add basic HPET timer and HPETState, Zhao Liu, 2025/02/09
- [PATCH v2 09/10] rust/timer/hpet: add qom and qdev APIs support, Zhao Liu, 2025/02/09