MAINTAINERS | 12 +-
docs/devel/rust.rst | 51 +--
meson.build | 4 -
rust/bql/wrapper.h | 27 ++
rust/chardev/wrapper.h | 28 ++
rust/hw/char/pl011/wrapper.h | 51 +++
rust/hw/core/wrapper.h | 32 ++
rust/{qemu-api => migration}/wrapper.h | 20 --
rust/qom/wrapper.h | 27 ++
rust/system/wrapper.h | 29 ++
rust/util/wrapper.h | 32 ++
rust/Cargo.lock | 127 ++++++-
rust/Cargo.toml | 16 +-
rust/bits/Cargo.toml | 2 +-
rust/bits/meson.build | 2 +-
rust/bits/src/lib.rs | 4 +-
rust/{qemu-api => bql}/Cargo.toml | 13 +-
rust/{qemu-api => bql}/build.rs | 2 +-
rust/bql/meson.build | 52 +++
rust/bql/src/bindings.rs | 25 ++
rust/{qemu-api => bql}/src/cell.rs | 333 +++---------------
rust/bql/src/lib.rs | 29 ++
rust/chardev/Cargo.toml | 24 ++
rust/chardev/build.rs | 43 +++
rust/chardev/meson.build | 54 +++
rust/chardev/src/bindings.rs | 36 ++
rust/{qemu-api => chardev}/src/chardev.rs | 35 +-
rust/chardev/src/lib.rs | 4 +
rust/common/Cargo.toml | 16 +
rust/common/meson.build | 32 ++
rust/{qemu-api => common}/src/assertions.rs | 16 +-
rust/{qemu-api => common}/src/bitops.rs | 1 -
rust/{qemu-api => common}/src/callbacks.rs | 12 +-
rust/common/src/lib.rs | 17 +
rust/common/src/opaque.rs | 240 +++++++++++++
rust/{qemu-api => common}/src/uninit.rs | 2 +-
rust/common/src/zeroable.rs | 18 +
rust/hw/char/pl011/Cargo.toml | 11 +-
rust/hw/char/pl011/build.rs | 43 +++
rust/hw/char/pl011/meson.build | 39 +-
rust/hw/char/pl011/src/bindings.rs | 27 ++
rust/hw/char/pl011/src/device.rs | 49 +--
rust/hw/char/pl011/src/lib.rs | 1 +
rust/hw/char/pl011/src/registers.rs | 4 +-
rust/hw/core/Cargo.toml | 26 ++
rust/hw/core/build.rs | 43 +++
rust/{qemu-api => hw/core}/meson.build | 86 ++---
rust/hw/core/src/bindings.rs | 41 +++
rust/{qemu-api => hw/core}/src/irq.rs | 18 +-
rust/hw/core/src/lib.rs | 12 +
rust/{qemu-api => hw/core}/src/qdev.rs | 81 +++--
rust/{qemu-api => hw/core}/src/sysbus.rs | 28 +-
rust/{qemu-api => hw/core}/tests/tests.rs | 29 +-
rust/hw/timer/hpet/Cargo.toml | 10 +-
rust/hw/timer/hpet/meson.build | 12 +-
rust/hw/timer/hpet/src/device.rs | 56 ++-
rust/hw/timer/hpet/src/fw_cfg.rs | 6 +-
rust/meson.build | 12 +-
rust/migration/Cargo.toml | 21 ++
rust/migration/build.rs | 43 +++
rust/migration/meson.build | 57 +++
rust/migration/src/bindings.rs | 48 +++
rust/migration/src/lib.rs | 4 +
rust/{qemu-api => migration}/src/vmstate.rs | 166 ++++-----
rust/qemu-api/.gitignore | 2 -
rust/qemu-api/README.md | 19 -
rust/qemu-api/src/lib.rs | 170 ---------
rust/qemu-api/src/prelude.rs | 31 --
rust/qemu-api/src/zeroable.rs | 37 --
.../Cargo.toml | 2 +-
.../meson.build | 10 +-
.../src/bits.rs | 0
.../src/lib.rs | 20 +-
.../src/tests.rs | 8 +-
rust/qom/Cargo.toml | 23 ++
rust/qom/build.rs | 43 +++
rust/qom/meson.build | 61 ++++
rust/qom/src/bindings.rs | 25 ++
rust/qom/src/lib.rs | 4 +
rust/{qemu-api => qom}/src/qom.rs | 27 +-
rust/qom/tests/tests.rs | 47 +++
rust/system/Cargo.toml | 22 ++
rust/system/build.rs | 43 +++
rust/system/meson.build | 57 +++
rust/{qemu-api => system}/src/bindings.rs | 33 +-
rust/system/src/lib.rs | 4 +
rust/{qemu-api => system}/src/memory.rs | 20 +-
rust/tests/Cargo.toml | 30 ++
rust/tests/meson.build | 14 +
.../tests/vmstate_tests.rs | 18 +-
rust/util/Cargo.toml | 23 ++
rust/util/build.rs | 43 +++
rust/util/meson.build | 61 ++++
rust/util/src/bindings.rs | 25 ++
rust/{qemu-api => util}/src/errno.rs | 11 +-
rust/{qemu-api => util}/src/error.rs | 6 +-
rust/util/src/lib.rs | 10 +
rust/{qemu-api => util}/src/log.rs | 12 +-
rust/{qemu-api => util}/src/module.rs | 2 +-
rust/{qemu-api => util}/src/timer.rs | 12 +-
100 files changed, 2372 insertions(+), 1044 deletions(-)
create mode 100644 rust/bql/wrapper.h
create mode 100644 rust/chardev/wrapper.h
create mode 100644 rust/hw/char/pl011/wrapper.h
create mode 100644 rust/hw/core/wrapper.h
rename rust/{qemu-api => migration}/wrapper.h (77%)
create mode 100644 rust/qom/wrapper.h
create mode 100644 rust/system/wrapper.h
create mode 100644 rust/util/wrapper.h
rename rust/{qemu-api => bql}/Cargo.toml (52%)
rename rust/{qemu-api => bql}/build.rs (96%)
create mode 100644 rust/bql/meson.build
create mode 100644 rust/bql/src/bindings.rs
rename rust/{qemu-api => bql}/src/cell.rs (70%)
create mode 100644 rust/bql/src/lib.rs
create mode 100644 rust/chardev/Cargo.toml
create mode 100644 rust/chardev/build.rs
create mode 100644 rust/chardev/meson.build
create mode 100644 rust/chardev/src/bindings.rs
rename rust/{qemu-api => chardev}/src/chardev.rs (91%)
create mode 100644 rust/chardev/src/lib.rs
create mode 100644 rust/common/Cargo.toml
create mode 100644 rust/common/meson.build
rename rust/{qemu-api => common}/src/assertions.rs (92%)
rename rust/{qemu-api => common}/src/bitops.rs (98%)
rename rust/{qemu-api => common}/src/callbacks.rs (97%)
create mode 100644 rust/common/src/lib.rs
create mode 100644 rust/common/src/opaque.rs
rename rust/{qemu-api => common}/src/uninit.rs (98%)
create mode 100644 rust/common/src/zeroable.rs
create mode 100644 rust/hw/char/pl011/build.rs
create mode 100644 rust/hw/char/pl011/src/bindings.rs
create mode 100644 rust/hw/core/Cargo.toml
create mode 100644 rust/hw/core/build.rs
rename rust/{qemu-api => hw/core}/meson.build (52%)
create mode 100644 rust/hw/core/src/bindings.rs
rename rust/{qemu-api => hw/core}/src/irq.rs (92%)
create mode 100644 rust/hw/core/src/lib.rs
rename rust/{qemu-api => hw/core}/src/qdev.rs (86%)
rename rust/{qemu-api => hw/core}/src/sysbus.rs (87%)
rename rust/{qemu-api => hw/core}/tests/tests.rs (88%)
create mode 100644 rust/migration/Cargo.toml
create mode 100644 rust/migration/build.rs
create mode 100644 rust/migration/meson.build
create mode 100644 rust/migration/src/bindings.rs
create mode 100644 rust/migration/src/lib.rs
rename rust/{qemu-api => migration}/src/vmstate.rs (80%)
delete mode 100644 rust/qemu-api/.gitignore
delete mode 100644 rust/qemu-api/README.md
delete mode 100644 rust/qemu-api/src/lib.rs
delete mode 100644 rust/qemu-api/src/prelude.rs
delete mode 100644 rust/qemu-api/src/zeroable.rs
rename rust/{qemu-api-macros => qemu-macros}/Cargo.toml (94%)
rename rust/{qemu-api-macros => qemu-macros}/meson.build (63%)
rename rust/{qemu-api-macros => qemu-macros}/src/bits.rs (100%)
rename rust/{qemu-api-macros => qemu-macros}/src/lib.rs (91%)
rename rust/{qemu-api-macros => qemu-macros}/src/tests.rs (93%)
create mode 100644 rust/qom/Cargo.toml
create mode 100644 rust/qom/build.rs
create mode 100644 rust/qom/meson.build
create mode 100644 rust/qom/src/bindings.rs
create mode 100644 rust/qom/src/lib.rs
rename rust/{qemu-api => qom}/src/qom.rs (98%)
create mode 100644 rust/qom/tests/tests.rs
create mode 100644 rust/system/Cargo.toml
create mode 100644 rust/system/build.rs
create mode 100644 rust/system/meson.build
rename rust/{qemu-api => system}/src/bindings.rs (56%)
create mode 100644 rust/system/src/lib.rs
rename rust/{qemu-api => system}/src/memory.rs (95%)
create mode 100644 rust/tests/Cargo.toml
create mode 100644 rust/tests/meson.build
rename rust/{qemu-api => tests}/tests/vmstate_tests.rs (96%)
create mode 100644 rust/util/Cargo.toml
create mode 100644 rust/util/build.rs
create mode 100644 rust/util/meson.build
create mode 100644 rust/util/src/bindings.rs
rename rust/{qemu-api => util}/src/errno.rs (98%)
rename rust/{qemu-api => util}/src/error.rs (98%)
create mode 100644 rust/util/src/lib.rs
rename rust/{qemu-api => util}/src/log.rs (93%)
rename rust/{qemu-api => util}/src/module.rs (97%)
rename rust/{qemu-api => util}/src/timer.rs (93%)