qemu/rust/hw/char/pl011
Paolo Bonzini cb7ada5409 rust: allow using build-root bindings.rs from cargo
Right now, using cargo with QEMU requires copying by hand the bindings.rs to the
source tree.  Instead, we can use an include file to escape the cage of cargo's
mandated source directory structure.

By running cargo within meson's "devenv" and adding a MESON_BUILD_ROOT
environment variable, it is easy for build.rs to find the file.  However, the
file must be symlinked into cargo's output directory for rust-analyzer to find
it.

Suggested-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-12-10 18:44:06 +01:00
..
src rust/pl011: Fix range checks for device ID accesses 2024-11-25 10:27:47 +00:00
Cargo.toml rust: create a cargo workspace 2024-11-05 14:18:16 +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