qemu/rust/hw/char/pl011
Zhao Liu 0f9eb0ff2b rust/qdev: Make REALIZE safe
A safe REALIZE accepts immutable reference.

Since current PL011's realize() only calls a char binding function (
qemu_chr_fe_set_handlers), it is possible to convert mutable reference
(&mut self) to immutable reference (&self), which only needs to convert
the pointers passed to C to mutable pointers.

Thus, make REALIZE accept immutable reference.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Link: https://lore.kernel.org/r/20250121140457.84631-2-zhao1.liu@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-01-23 11:50:53 +01:00
..
src rust/qdev: Make REALIZE safe 2025-01-23 11:50:53 +01:00
Cargo.toml rust: cargo: store desired warning levels in workspace Cargo.toml 2024-12-10 18:44:06 +01:00
meson.build rust: add PL011 device model 2024-11-05 14:18:15 +01:00
README.md rust: add PL011 device model 2024-11-05 14:18:15 +01:00

PL011 QEMU Device Model

This library implements a device model for the PrimeCell® UART (PL011) device in QEMU.

Build static lib

Host build target must be explicitly specified:

cargo build --target x86_64-unknown-linux-gnu

Replace host target triplet if necessary.

Generate Rust documentation

To generate docs for this crate, including private items:

cargo doc --no-deps --document-private-items --target x86_64-unknown-linux-gnu

To include direct dependencies like bilge (bitmaps for register types):

cargo tree --depth 1 -e normal --prefix none \
 | cut -d' ' -f1 \
 | xargs printf -- '-p %s\n' \
 | xargs cargo doc --no-deps --document-private-items --target x86_64-unknown-linux-gnu