qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Zhao Liu <zhao1.liu@intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, "Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: Re: [PATCH 20/33] rust: split "bql" crate
Date: Fri, 12 Sep 2025 16:31:01 +0800	[thread overview]
Message-ID: <aMPaRWk+oJN7n/Ug@intel.com> (raw)
In-Reply-To: <20250908105005.2119297-21-pbonzini@redhat.com>

On Mon, Sep 08, 2025 at 12:49:52PM +0200, Paolo Bonzini wrote:
> Date: Mon,  8 Sep 2025 12:49:52 +0200
> From: Paolo Bonzini <pbonzini@redhat.com>
> Subject: [PATCH 20/33] rust: split "bql" crate
> X-Mailer: git-send-email 2.51.0
> 
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Unfortunately, an example had to be compile-time disabled, since it
> relies on higher level crates (qdev, irq etc). The alternative is
> probably to move that code to an example in qemu-api or elsewere and
> make a link to it, or include_str.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Link: https://lore.kernel.org/r/20250827104147.717203-12-marcandre.lureau@redhat.com
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  MAINTAINERS                          |  1 +
>  rust/bql/wrapper.h                   | 27 ++++++++
>  rust/Cargo.lock                      | 10 +++
>  rust/Cargo.toml                      |  1 +
>  rust/bql/Cargo.toml                  | 23 +++++++
>  rust/bql/build.rs                    |  1 +
>  rust/bql/meson.build                 | 52 ++++++++++++++++
>  rust/bql/src/bindings.rs             | 25 ++++++++
>  rust/{qemu-api => bql}/src/cell.rs   | 92 ++++++++++------------------
>  rust/bql/src/lib.rs                  | 29 +++++++++
>  rust/common/src/opaque.rs            |  4 +-
>  rust/hw/char/pl011/Cargo.toml        |  1 +
>  rust/hw/char/pl011/meson.build       |  1 +
>  rust/hw/char/pl011/src/device.rs     |  1 +
>  rust/hw/timer/hpet/Cargo.toml        |  1 +
>  rust/hw/timer/hpet/meson.build       |  1 +
>  rust/hw/timer/hpet/src/device.rs     |  2 +-
>  rust/hw/timer/hpet/src/fw_cfg.rs     |  5 +-
>  rust/meson.build                     |  1 +
>  rust/migration/src/vmstate.rs        |  4 +-
>  rust/qemu-api/Cargo.toml             |  5 +-
>  rust/qemu-api/meson.build            | 18 +-----
>  rust/qemu-api/src/chardev.rs         | 17 +++--
>  rust/qemu-api/src/irq.rs             |  1 +
>  rust/qemu-api/src/lib.rs             |  1 -
>  rust/qemu-api/src/prelude.rs         |  3 -
>  rust/qemu-api/src/qdev.rs            |  5 +-
>  rust/qemu-api/src/qom.rs             | 13 ++--
>  rust/qemu-api/src/sysbus.rs          | 13 ++--
>  rust/qemu-api/tests/tests.rs         |  4 +-
>  rust/qemu-api/tests/vmstate_tests.rs |  2 +-
>  31 files changed, 244 insertions(+), 120 deletions(-)
>  create mode 100644 rust/bql/wrapper.h
>  create mode 100644 rust/bql/Cargo.toml
>  create mode 120000 rust/bql/build.rs
>  create mode 100644 rust/bql/meson.build
>  create mode 100644 rust/bql/src/bindings.rs
>  rename rust/{qemu-api => bql}/src/cell.rs (92%)
>  create mode 100644 rust/bql/src/lib.rs

...

> diff --git a/rust/Cargo.lock b/rust/Cargo.lock
> index 048dd74757f..73ca9582a56 100644
> --- a/rust/Cargo.lock
> +++ b/rust/Cargo.lock
> @@ -44,6 +44,13 @@ dependencies = [
>   "qemu_api_macros",
>  ]
>  
> +[[package]]
> +name = "bql"
> +version = "0.1.0"
> +dependencies = [
> + "migration",
> +]

Yes, I also think this dependency is not much proper.

I also agree to move vmstate related things back to migration crate and
then we can make migration depend on bql (in fact, migration itself
indeed requires bql).

Current bql is good for now, so

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>



  reply	other threads:[~2025-09-12  8:10 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-08 10:49 [PATCH 00/33] First Rust update for QEMU 10.2 Paolo Bonzini
2025-09-08 10:49 ` [PATCH 01/33] ci: temporarily remove rust from Debian and Ubuntu Paolo Bonzini
2025-09-11  3:14   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 03/33] meson, cargo: require Rust 1.83.0 Paolo Bonzini
2025-09-11  3:19   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 04/33] rust: add missing const markers for MSRV==1.83.0 Paolo Bonzini
2025-09-11  3:20   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 05/33] rust: use inline const expressions Paolo Bonzini
2025-09-11  6:15   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 06/33] rust: add qdev Device derive macro Paolo Bonzini
2025-09-11  6:58   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 07/33] rust: vmstate: convert to use builder pattern Paolo Bonzini
2025-09-08 10:49 ` [PATCH 08/33] rust: vmstate: use const_refs_to_static Paolo Bonzini
2025-09-11 10:07   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 09/33] rust: qdev: const_refs_to_static Paolo Bonzini
2025-09-11 10:20   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 10/33] docs/rust: update msrv Paolo Bonzini
2025-09-11 10:21   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 11/33] rust: remove unused global qemu "allocator" Paolo Bonzini
2025-09-11 10:21   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 12/33] rust: add workspace authors Paolo Bonzini
2025-09-11 10:23   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 13/33] rust: move vmstate_clock!() to qdev module Paolo Bonzini
2025-09-11 10:25   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 14/33] rust: move VMState handling to QOM module Paolo Bonzini
2025-09-11 10:26   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 15/33] rust: move Cell vmstate impl Paolo Bonzini
2025-09-11 10:31   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 16/33] rust: split Rust-only "common" crate Paolo Bonzini
2025-09-11 10:44   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 17/33] rust: make build.rs generic over various ./rust/projects Paolo Bonzini
2025-09-12  7:43   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 18/33] rust: split "util" crate Paolo Bonzini
2025-09-12  8:00   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 19/33] rust: split "migration" crate Paolo Bonzini
2025-09-12  8:09   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 20/33] rust: split "bql" crate Paolo Bonzini
2025-09-12  8:31   ` Zhao Liu [this message]
2025-09-08 10:49 ` [PATCH 21/33] rust: split "qom" crate Paolo Bonzini
2025-09-08 10:49 ` [PATCH 22/33] rust: split "chardev" crate Paolo Bonzini
2025-09-12  8:35   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 23/33] rust: split "system" crate Paolo Bonzini
2025-09-12  8:38   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 24/33] rust: split "hwcore" crate Paolo Bonzini
2025-09-12  8:41   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 25/33] rust: rename qemu_api_macros -> qemu_macros Paolo Bonzini
2025-09-12  8:41   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 26/33] rust/hpet: drop now unneeded qemu_api dep Paolo Bonzini
2025-09-12  8:42   ` Zhao Liu
2025-09-08 10:49 ` [PATCH 27/33] rust/pl011: drop dependency on qemu_api Paolo Bonzini
2025-09-12  8:45   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 28/33] rust: repurpose qemu_api -> tests Paolo Bonzini
2025-09-12  8:57   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 29/33] rust: re-export qemu_macros internal helper in "bits" Paolo Bonzini
2025-09-12  9:01   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 30/33] rust: re-export qemu macros from common/qom/hwcore Paolo Bonzini
2025-09-12  9:03   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 31/33] docs: update rust.rst Paolo Bonzini
2025-09-12  9:13   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 32/33] rust: meson: remove unnecessary complication in device crates Paolo Bonzini
2025-09-12  9:20   ` Zhao Liu
2025-09-08 10:50 ` [PATCH 33/33] rust: do not inline do_init_io Paolo Bonzini
2025-09-12  9:21   ` Zhao Liu
     [not found] ` <20250908105005.2119297-3-pbonzini@redhat.com>
2025-09-11  3:17   ` [PATCH 02/33] configure: bump Meson to 1.9.0 for use with Rust Zhao Liu
2025-09-11 10:04 ` [PATCH 00/33] First Rust update for QEMU 10.2 Peter Maydell
2025-09-11 11:18   ` Marc-André Lureau
2025-09-12  7:42     ` Zhao Liu
2025-09-12  8:47       ` Marc-André Lureau
2025-09-15 14:27   ` Paolo Bonzini
2025-09-15 17:51     ` Daniel P. Berrangé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aMPaRWk+oJN7n/Ug@intel.com \
    --to=zhao1.liu@intel.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).