[PATCH 0/5] rust: pl011 cleanups + chardev bindings

Paolo Bonzini posted 5 patches 1 month ago
rust/hw/char/pl011/src/device.rs    | 146 +++-----
rust/hw/char/pl011/src/lib.rs       | 509 +---------------------------
rust/hw/char/pl011/src/registers.rs | 507 +++++++++++++++++++++++++++
rust/qemu-api/meson.build           |  17 +-
rust/qemu-api/src/chardev.rs        | 237 ++++++++++++-
rust/qemu-api/src/zeroable.rs       |   1 +
6 files changed, 800 insertions(+), 617 deletions(-)
create mode 100644 rust/hw/char/pl011/src/registers.rs
[PATCH 0/5] rust: pl011 cleanups + chardev bindings
Posted by Paolo Bonzini 1 month ago
With this series, the only remaining use of unsafe is for vmstate's post
load callback, which is small and self contained.  All functionality
used by pl011 and HPET devices are wrapped in Rust APIs, so they look
like what a "real" from-scratch Rust device would be.

Patch 2 is best reviewed with "git diff -b --color-moved" or similar.

Paolo


Paolo Bonzini (5):
  rust: chardev: provide basic bindings to character devices
  rust: pl011: move register definitions out of lib.rs
  rust: pl011: clean up visibilities
  rust: pl011: switch to safe chardev operation
  rust: pl011: pass around registers::Data

 rust/hw/char/pl011/src/device.rs    | 146 +++-----
 rust/hw/char/pl011/src/lib.rs       | 509 +---------------------------
 rust/hw/char/pl011/src/registers.rs | 507 +++++++++++++++++++++++++++
 rust/qemu-api/meson.build           |  17 +-
 rust/qemu-api/src/chardev.rs        | 237 ++++++++++++-
 rust/qemu-api/src/zeroable.rs       |   1 +
 6 files changed, 800 insertions(+), 617 deletions(-)
 create mode 100644 rust/hw/char/pl011/src/registers.rs

-- 
2.48.1