aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api/src/irq.rs
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-12-13 17:09:35 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2025-02-13 12:19:34 +0100
commitd449d29a99dc132d4a49351e3501b6bff7500784 (patch)
tree9771e7844a7e8d8d9e46fecbe7f580da8330216e /rust/qemu-api/src/irq.rs
parent5472a38cb9e10bda897fc29d4841c00476f22585 (diff)
downloadqemu-d449d29a99dc132d4a49351e3501b6bff7500784.zip
qemu-d449d29a99dc132d4a49351e3501b6bff7500784.tar.gz
qemu-d449d29a99dc132d4a49351e3501b6bff7500784.tar.bz2
rust: bindings: add Send and Sync markers for types that have bindings
This is needed for the MemoryRegionOps<T> to be declared as static; Rust requires static elements to be Sync. Reviewed-by: Zhao Liu <zhao1.liu@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'rust/qemu-api/src/irq.rs')
-rw-r--r--rust/qemu-api/src/irq.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/rust/qemu-api/src/irq.rs b/rust/qemu-api/src/irq.rs
index 378e520..638545c 100644
--- a/rust/qemu-api/src/irq.rs
+++ b/rust/qemu-api/src/irq.rs
@@ -43,6 +43,9 @@ where
_marker: PhantomData<T>,
}
+// SAFETY: the implementation asserts via `BqlCell` that the BQL is taken
+unsafe impl<T> Sync for InterruptSource<T> where c_int: From<T> {}
+
impl InterruptSource<bool> {
/// Send a low (`false`) value to the interrupt sink.
pub fn lower(&self) {