Paolo Bonzini
8abea41ecd
rust: pull error_fatal out of SysbusDeviceMethods::sysbus_realize
...
Return a Result<()> from the method, and "unwrap" it into error_fatal
in the caller.
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-11-04 17:13:22 +01:00
Marc-André Lureau and Paolo Bonzini
1b21518f73
char: rename CharBackend->CharFrontend
...
The actual backend is "Chardev", CharBackend is the frontend side of
it (whatever talks to the backend), let's rename it for readability.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Link: https://lore.kernel.org/r/20251022074612.1258413-1-marcandre.lureau@redhat.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-10-28 14:49:52 +01:00
Martin Kletzander and Paolo Bonzini
80a3c9c01a
rust: remove useless glib_sys bindings
...
The definition of types needed for g_autolist(), g_autoslist(),
g_autoqueue() need the imports for GList, GSList and GQueue
to appear everything. Rust code is never going to see those,
since they are not used in structs. Block the types from
appearing in the bindings.
Co-authored-by: Martin Kletzander <mkletzan@redhat.com >
Signed-off-by: Martin Kletzander <mkletzan@redhat.com >
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-10-28 13:02:21 +01:00
Marc-André Lureau and Paolo Bonzini
9c40c1ff97
rust: use glib-sys
...
Don't generate FFI for glib, rely on glib-sys crate.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-10-03 15:14:48 +02:00
Paolo Bonzini and Stefan Hajnoczi
fe791b4004
rust: qdev: add minimal clock bindings
...
Add the minimal support that is needed by pl011's event and tracepoint.
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-ID: <20250929154938.594389-11-pbonzini@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
2025-10-01 11:22:07 -04:00
Marc-André Lureau
582a39beea
build-sys: pass -fvisibility=default for wasm bindgen
...
Otherwise, no functions are generated:
https://github.com/rust-lang/rust-bindgen/issues/2989
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Reviewed-by: Kohei Tokunaga <ktokunaga.mail@gmail.com >
Message-ID: <20250924120426.2158655-27-marcandre.lureau@redhat.com >
2025-09-30 19:33:25 +04:00
Zhao Liu and Paolo Bonzini
0a7fe8d407
rust/qdev: Drop declare_properties & define_property macros
...
After HPET's #property conversion, there's no use case for
declare_properties & define_property. So get rid of them for now.
In future, if there's something that #property really cannot resolve,
they can be brought back.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org >
Signed-off-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Link: https://lore.kernel.org/r/20250920160520.3699591-13-zhao1.liu@intel.com
2025-09-22 17:17:19 +02:00
Zhao Liu and Paolo Bonzini
9686aa9a05
rust/qdev: Support bit property in #property macro
...
Add BIT_INFO to QDevProp trait, so that bit related property info could
be bound to u32 & u64.
Then add "bit=*" field in #property attributes macro to allow device to
configure bit property.
In addtion, convert the #property field parsing from `if-else` pattern
to `match` pattern, to help readability. And note, the `bitnr` member of
`Property` struct is generated by manual TokenStream construction,
instead of conditional repetition (like #(bitnr: #bitnr,)?) since
`quote` doesn't support this.
In addtion, rename VALUE member of QDevProp trait to BASE_INFO.
And update the test cases about qdev property.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Link: https://lore.kernel.org/r/20250920160520.3699591-9-zhao1.liu@intel.com
2025-09-22 17:17:19 +02:00
Zhao Liu and Paolo Bonzini
b4221e88a9
rust/qdev: Support property info for more common types
...
Add a helper macro to implement QDevProp trait for u8/u16/u32/usize/i32
/i64.
Signed-off-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Link: https://lore.kernel.org/r/20250920160520.3699591-8-zhao1.liu@intel.com
2025-09-22 17:17:19 +02:00
Manos Pitsidianakis and Paolo Bonzini
bed2a37b20
rust/qdev: Refine the documentation for QDevProp trait
...
Refine the documentation to clarify:
* `unsfae` requires that `VALUE` must be valid.
* using `*const` instead of `&` because the latter will cause compiler
error.
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org >
Signed-off-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Link: https://lore.kernel.org/r/20250920160520.3699591-7-zhao1.liu@intel.com
2025-09-22 17:17:19 +02:00
Manos Pitsidianakis and Paolo Bonzini
51d736cd71
rust/qdev: use addr_of! in QDevProp
...
We want a &raw pointer, so unsafe { &_ } is not needed.
Suggested-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org >
Signed-off-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Link: https://lore.kernel.org/r/20250920160520.3699591-6-zhao1.liu@intel.com
2025-09-22 17:17:18 +02:00
Marc-André Lureau and Paolo Bonzini
e4444d71e8
rust: re-export qemu macros from common/qom/hwcore
...
This is just a bit nicer.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Link: https://lore.kernel.org/r/20250827104147.717203-22-marcandre.lureau@redhat.com
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-09-17 19:00:58 +02:00
Marc-André Lureau and Paolo Bonzini
0d93f81773
rust: rename qemu_api_macros -> qemu_macros
...
Since "qemu_api" is no longer the unique crate to provide APIs.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Link: https://lore.kernel.org/r/20250827104147.717203-17-marcandre.lureau@redhat.com
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-09-17 19:00:57 +02:00
Marc-André Lureau and Paolo Bonzini
5e588c9d08
rust: split "hwcore" crate
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Link: https://lore.kernel.org/r/20250827104147.717203-16-marcandre.lureau@redhat.com
Reviewed-by: Zhao Liu <zhao1.liu@intel.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2025-09-17 19:00:57 +02:00