[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 09/10] rust: bindings: add Sync markers to types referred to
From: |
Zhao Liu |
Subject: |
Re: [PATCH 09/10] rust: bindings: add Sync markers to types referred to by MemoryRegionOps |
Date: |
Mon, 27 Jan 2025 18:58:57 +0800 |
On Fri, Jan 17, 2025 at 08:40:02PM +0100, Paolo Bonzini wrote:
> Date: Fri, 17 Jan 2025 20:40:02 +0100
> From: Paolo Bonzini <pbonzini@redhat.com>
> Subject: [PATCH 09/10] rust: bindings: add Sync markers to types referred
> to by MemoryRegionOps
> X-Mailer: git-send-email 2.47.1
>
> This is needed for the MemoryRegionOps<T> to be declared as static;
> Rust requires static elements to be Sync.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> rust/qemu-api/src/bindings.rs | 19 ++++++++++++++++++-
> rust/qemu-api/src/irq.rs | 3 +++
> 2 files changed, 21 insertions(+), 1 deletion(-)
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
> diff --git a/rust/qemu-api/src/bindings.rs b/rust/qemu-api/src/bindings.rs
> index 8a9b821bb91..3f61264ab80 100644
> --- a/rust/qemu-api/src/bindings.rs
> +++ b/rust/qemu-api/src/bindings.rs
> @@ -21,7 +21,24 @@
> #[cfg(not(MESON))]
> include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs"));
>
> -unsafe impl Send for Property {}
I guess this is a rebase mistake since latest rust-next drops this
change :-).
> +// SAFETY: these are implemented in C; the bindings need to assert that the
> +// BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
> +unsafe impl Sync for BusState {}
We haven't used BusState but it's fine, as the basic support, and after
all bindings file has this type.
- Re: [PATCH 02/10] rust: qom: add reference counting functionality, (continued)
- [PATCH 03/10] rust: qom: add object creation functionality, Paolo Bonzini, 2025/01/17
- [PATCH 04/10] rust: callbacks: allow passing optional callbacks as (), Paolo Bonzini, 2025/01/17
- [PATCH 06/10] rust: qom: allow initializing interface vtables, Paolo Bonzini, 2025/01/17
- [PATCH 07/10] rust: qdev: make ObjectImpl a supertrait of DeviceImpl, Paolo Bonzini, 2025/01/17
- [PATCH 05/10] rust: qdev: add clock creation, Paolo Bonzini, 2025/01/17
- [PATCH 09/10] rust: bindings: add Sync markers to types referred to by MemoryRegionOps, Paolo Bonzini, 2025/01/17
- Re: [PATCH 09/10] rust: bindings: add Sync markers to types referred to by MemoryRegionOps,
Zhao Liu <=
- [PATCH 08/10] rust: qdev: switch from legacy reset to Resettable, Paolo Bonzini, 2025/01/17
- [PATCH 10/10] rust: bindings for MemoryRegionOps, Paolo Bonzini, 2025/01/17
- Re: [RFC PATCH 00/10] rust: remaining part of qdev bindings, Zhao Liu, 2025/01/23