qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC PATCH v5 0/8] Add Rust support, implement ARM PL011


From: Manos Pitsidianakis
Subject: [RFC PATCH v5 0/8] Add Rust support, implement ARM PL011
Date: Mon, 22 Jul 2024 14:43:30 +0300

Changes from v4->v5:
- Added CI patch from Alex Benee
- Removed all cargo use, use meson rust support
- Added Kconfig logic

Changes from v3->v4:
- Add rust-specific files to .gitattributes
- Added help text to scripts/cargo_wrapper.py arguments (thanks Stephan)
- Split bindings separate crate
- Add declarative macros for symbols exported to QEMU to said crate
- Lowered MSRV to 1.77.2
- Removed auto-download and install of bindgen-cli
- Fixed re-compilation of Rust objects in case they are missing from 
  filesystem
- Fixed optimized builds by adding #[used] (thanks Pierrick for the help 
  debugging this)

Also, Pierrick helped confirming it works on Windows with some 
windows-specific changes. I confirmed it works on macos by allowing 
bindgen to detect system paths for clang, which is a workaround and not 
a solution. However this series doesn't have the windows changes 
integrated.

Changes from v2->v3:
- Addressed minor mistakes (thanks Stefan)
- Setup supported version checks for cargo, rustc and bindgen (thanks 
  everyone who pointed it out / suggested it)
- Fixed problem with bindgen failing if certain system headers where 
  needed by defining an allowlist for headers instead of a blocklist for 
  what we don't want (thanks Alex Bennée for reporting it)
- Cleaned up bindgen target/dependendy definition in meson.build by 
  removing unnecessary bits

Changes from v1->v2:
- Create bindgen target first, then add commit for device (thanks 
  Pierrick)
- Create a special named generated.rs for each target as compilation 
  would fail if more than one targets were defined. The generated.rs 
  target names would clash.
- Add more descriptive commit messages
- Update MAINTAINERS
- Cleanup patch order for better review, hopefully


Alex Bennée (1):
  build deps: update lcitool to include rust bits

Manos Pitsidianakis (7):
  build-sys: Add rust feature option
  CI: Add build-system-rust-debian job
  rust: add bindgen step as a meson dependency
  .gitattributes: add Rust diff and merge attributes
  rust: add crate to expose bindings and interfaces
  rust: add PL011 device model
  rust/pl011: vendor dependencies

 MAINTAINERS                                   |   20 +
 rust/hw/char/pl011/vendor/either/README.rst   |  185 +
 configure                                     |   12 +
 meson.build                                   |   73 +-
 rust/wrapper.h                                |   39 +
 .gitattributes                                |    3 +
 .gitlab-ci.d/buildtest.yml                    |   11 +
 .gitlab-ci.d/cirrus/freebsd-13.vars           |    2 +-
 .gitlab-ci.d/cirrus/macos-13.vars             |    2 +-
 .gitlab-ci.d/cirrus/macos-14.vars             |    2 +-
 Kconfig                                       |    1 +
 Kconfig.host                                  |    3 +
 hw/arm/Kconfig                                |   33 +-
 meson_options.txt                             |    5 +
 rust/.gitignore                               |    3 +
 rust/Kconfig                                  |    1 +
 rust/hw/Kconfig                               |    2 +
 rust/hw/char/Kconfig                          |    3 +
 rust/hw/char/meson.build                      |    1 +
 rust/hw/char/pl011/.gitignore                 |    2 +
 rust/hw/char/pl011/Cargo.lock                 |  123 +
 rust/hw/char/pl011/Cargo.toml                 |   26 +
 rust/hw/char/pl011/README.md                  |   31 +
 rust/hw/char/pl011/meson.build                |   24 +
 rust/hw/char/pl011/rustfmt.toml               |    1 +
 rust/hw/char/pl011/src/definitions.rs         |   48 +
 rust/hw/char/pl011/src/device.rs              |  541 ++
 rust/hw/char/pl011/src/device_class.rs        |   58 +
 rust/hw/char/pl011/src/lib.rs                 |  584 ++
 rust/hw/char/pl011/src/memory_ops.rs          |   45 +
 .../vendor/arbitrary-int/.cargo-checksum.json |    1 +
 .../pl011/vendor/arbitrary-int/CHANGELOG.md   |   47 +
 .../pl011/vendor/arbitrary-int/Cargo.toml     |   54 +
 .../pl011/vendor/arbitrary-int/LICENSE.txt    |   21 +
 .../char/pl011/vendor/arbitrary-int/README.md |   72 +
 .../pl011/vendor/arbitrary-int/meson.build    |   14 +
 .../pl011/vendor/arbitrary-int/src/lib.rs     | 1489 +++++
 .../pl011/vendor/arbitrary-int/tests/tests.rs | 1913 ++++++
 .../vendor/bilge-impl/.cargo-checksum.json    |    1 +
 .../char/pl011/vendor/bilge-impl/Cargo.toml   |   54 +
 .../hw/char/pl011/vendor/bilge-impl/README.md |  327 ++
 .../char/pl011/vendor/bilge-impl/meson.build  |   24 +
 .../pl011/vendor/bilge-impl/src/bitsize.rs    |  187 +
 .../vendor/bilge-impl/src/bitsize/split.rs    |  185 +
 .../vendor/bilge-impl/src/bitsize_internal.rs |  235 +
 .../src/bitsize_internal/struct_gen.rs        |  402 ++
 .../pl011/vendor/bilge-impl/src/debug_bits.rs |   55 +
 .../vendor/bilge-impl/src/default_bits.rs     |   92 +
 .../pl011/vendor/bilge-impl/src/fmt_bits.rs   |  112 +
 .../pl011/vendor/bilge-impl/src/from_bits.rs  |  222 +
 .../char/pl011/vendor/bilge-impl/src/lib.rs   |   79 +
 .../pl011/vendor/bilge-impl/src/shared.rs     |  196 +
 .../src/shared/discriminant_assigner.rs       |   56 +
 .../vendor/bilge-impl/src/shared/fallback.rs  |   92 +
 .../vendor/bilge-impl/src/shared/util.rs      |   91 +
 .../vendor/bilge-impl/src/try_from_bits.rs    |  143 +
 .../pl011/vendor/bilge/.cargo-checksum.json   |    1 +
 rust/hw/char/pl011/vendor/bilge/Cargo.toml    |   69 +
 .../hw/char/pl011/vendor/bilge/LICENSE-APACHE |  176 +
 rust/hw/char/pl011/vendor/bilge/LICENSE-MIT   |   17 +
 rust/hw/char/pl011/vendor/bilge/README.md     |  327 ++
 rust/hw/char/pl011/vendor/bilge/meson.build   |   17 +
 rust/hw/char/pl011/vendor/bilge/src/lib.rs    |   80 +
 .../pl011/vendor/either/.cargo-checksum.json  |    1 +
 rust/hw/char/pl011/vendor/either/Cargo.toml   |   54 +
 .../char/pl011/vendor/either/LICENSE-APACHE   |  201 +
 rust/hw/char/pl011/vendor/either/LICENSE-MIT  |   25 +
 .../pl011/vendor/either/README-crates.io.md   |   10 +
 rust/hw/char/pl011/vendor/either/meson.build  |   16 +
 .../pl011/vendor/either/src/into_either.rs    |   64 +
 .../char/pl011/vendor/either/src/iterator.rs  |  315 +
 rust/hw/char/pl011/vendor/either/src/lib.rs   | 1519 +++++
 .../pl011/vendor/either/src/serde_untagged.rs |   69 +
 .../either/src/serde_untagged_optional.rs     |   74 +
 .../vendor/itertools/.cargo-checksum.json     |    1 +
 .../char/pl011/vendor/itertools/CHANGELOG.md  |  409 ++
 .../hw/char/pl011/vendor/itertools/Cargo.lock |  681 +++
 .../hw/char/pl011/vendor/itertools/Cargo.toml |  101 +
 .../pl011/vendor/itertools/LICENSE-APACHE     |  201 +
 .../char/pl011/vendor/itertools/LICENSE-MIT   |   25 +
 rust/hw/char/pl011/vendor/itertools/README.md |   44 +
 .../pl011/vendor/itertools/benches/bench1.rs  |  877 +++
 .../vendor/itertools/benches/combinations.rs  |  125 +
 .../benches/combinations_with_replacement.rs  |   40 +
 .../vendor/itertools/benches/extra/mod.rs     |    2 +
 .../itertools/benches/extra/zipslices.rs      |  188 +
 .../itertools/benches/fold_specialization.rs  |   73 +
 .../vendor/itertools/benches/powerset.rs      |   44 +
 .../vendor/itertools/benches/tree_fold1.rs    |  144 +
 .../itertools/benches/tuple_combinations.rs   |  113 +
 .../pl011/vendor/itertools/benches/tuples.rs  |  213 +
 .../pl011/vendor/itertools/examples/iris.data |  150 +
 .../pl011/vendor/itertools/examples/iris.rs   |  137 +
 .../char/pl011/vendor/itertools/meson.build   |   18 +
 .../vendor/itertools/src/adaptors/coalesce.rs |  235 +
 .../vendor/itertools/src/adaptors/map.rs      |  124 +
 .../vendor/itertools/src/adaptors/mod.rs      | 1151 ++++
 .../itertools/src/adaptors/multi_product.rs   |  230 +
 .../vendor/itertools/src/combinations.rs      |  128 +
 .../src/combinations_with_replacement.rs      |  109 +
 .../pl011/vendor/itertools/src/concat_impl.rs |   23 +
 .../vendor/itertools/src/cons_tuples_impl.rs  |   64 +
 .../char/pl011/vendor/itertools/src/diff.rs   |   61 +
 .../vendor/itertools/src/duplicates_impl.rs   |  216 +
 .../vendor/itertools/src/either_or_both.rs    |  495 ++
 .../vendor/itertools/src/exactly_one_err.rs   |  110 +
 .../pl011/vendor/itertools/src/extrema_set.rs |   48 +
 .../pl011/vendor/itertools/src/flatten_ok.rs  |  165 +
 .../char/pl011/vendor/itertools/src/format.rs |  168 +
 .../char/pl011/vendor/itertools/src/free.rs   |  286 +
 .../pl011/vendor/itertools/src/group_map.rs   |   32 +
 .../pl011/vendor/itertools/src/groupbylazy.rs |  579 ++
 .../vendor/itertools/src/grouping_map.rs      |  535 ++
 .../pl011/vendor/itertools/src/impl_macros.rs |   29 +
 .../pl011/vendor/itertools/src/intersperse.rs |  118 +
 .../pl011/vendor/itertools/src/k_smallest.rs  |   20 +
 .../pl011/vendor/itertools/src/kmerge_impl.rs |  227 +
 .../pl011/vendor/itertools/src/lazy_buffer.rs |   63 +
 .../hw/char/pl011/vendor/itertools/src/lib.rs | 3967 +++++++++++++
 .../pl011/vendor/itertools/src/merge_join.rs  |  220 +
 .../char/pl011/vendor/itertools/src/minmax.rs |  115 +
 .../vendor/itertools/src/multipeek_impl.rs    |  101 +
 .../pl011/vendor/itertools/src/pad_tail.rs    |   96 +
 .../pl011/vendor/itertools/src/peek_nth.rs    |  102 +
 .../itertools/src/peeking_take_while.rs       |  177 +
 .../vendor/itertools/src/permutations.rs      |  277 +
 .../pl011/vendor/itertools/src/powerset.rs    |   90 +
 .../itertools/src/process_results_impl.rs     |   68 +
 .../vendor/itertools/src/put_back_n_impl.rs   |   61 +
 .../pl011/vendor/itertools/src/rciter_impl.rs |   99 +
 .../pl011/vendor/itertools/src/repeatn.rs     |   59 +
 .../pl011/vendor/itertools/src/size_hint.rs   |  119 +
 .../pl011/vendor/itertools/src/sources.rs     |  183 +
 .../itertools/src/take_while_inclusive.rs     |   68 +
 .../hw/char/pl011/vendor/itertools/src/tee.rs |   78 +
 .../pl011/vendor/itertools/src/tuple_impl.rs  |  331 ++
 .../pl011/vendor/itertools/src/unique_impl.rs |  179 +
 .../pl011/vendor/itertools/src/unziptuple.rs  |   80 +
 .../vendor/itertools/src/with_position.rs     |   88 +
 .../pl011/vendor/itertools/src/zip_eq_impl.rs |   60 +
 .../pl011/vendor/itertools/src/zip_longest.rs |   83 +
 .../pl011/vendor/itertools/src/ziptuple.rs    |  138 +
 .../itertools/tests/adaptors_no_collect.rs    |   46 +
 .../vendor/itertools/tests/flatten_ok.rs      |   76 +
 .../vendor/itertools/tests/macros_hygiene.rs  |   13 +
 .../vendor/itertools/tests/merge_join.rs      |  108 +
 .../itertools/tests/peeking_take_while.rs     |   69 +
 .../pl011/vendor/itertools/tests/quick.rs     | 1849 ++++++
 .../vendor/itertools/tests/specializations.rs |  153 +
 .../pl011/vendor/itertools/tests/test_core.rs |  317 +
 .../pl011/vendor/itertools/tests/test_std.rs  | 1184 ++++
 .../pl011/vendor/itertools/tests/tuples.rs    |   86 +
 .../char/pl011/vendor/itertools/tests/zip.rs  |   77 +
 rust/hw/char/pl011/vendor/meson.build         |   18 +
 .../.cargo-checksum.json                      |    1 +
 .../vendor/proc-macro-error-attr/Cargo.toml   |   33 +
 .../proc-macro-error-attr/LICENSE-APACHE      |  201 +
 .../vendor/proc-macro-error-attr/LICENSE-MIT  |   21 +
 .../vendor/proc-macro-error-attr/build.rs     |    5 +
 .../vendor/proc-macro-error-attr/meson.build  |   20 +
 .../vendor/proc-macro-error-attr/src/lib.rs   |  121 +
 .../vendor/proc-macro-error-attr/src/parse.rs |   89 +
 .../proc-macro-error-attr/src/settings.rs     |   72 +
 .../proc-macro-error/.cargo-checksum.json     |    1 +
 .../vendor/proc-macro-error/CHANGELOG.md      |  162 +
 .../pl011/vendor/proc-macro-error/Cargo.toml  |   56 +
 .../vendor/proc-macro-error/LICENSE-APACHE    |  201 +
 .../pl011/vendor/proc-macro-error/LICENSE-MIT |   21 +
 .../pl011/vendor/proc-macro-error/README.md   |  258 +
 .../pl011/vendor/proc-macro-error/build.rs    |   11 +
 .../pl011/vendor/proc-macro-error/meson.build |   22 +
 .../vendor/proc-macro-error/src/diagnostic.rs |  349 ++
 .../vendor/proc-macro-error/src/dummy.rs      |  150 +
 .../proc-macro-error/src/imp/delegate.rs      |   69 +
 .../proc-macro-error/src/imp/fallback.rs      |   30 +
 .../pl011/vendor/proc-macro-error/src/lib.rs  |  560 ++
 .../vendor/proc-macro-error/src/macros.rs     |  288 +
 .../vendor/proc-macro-error/src/sealed.rs     |    3 +
 .../proc-macro-error/tests/macro-errors.rs    |    8 +
 .../pl011/vendor/proc-macro-error/tests/ok.rs |   10 +
 .../proc-macro-error/tests/runtime-errors.rs  |   13 +
 .../vendor/proc-macro-error/tests/ui/abort.rs |   11 +
 .../proc-macro-error/tests/ui/abort.stderr    |   48 +
 .../proc-macro-error/tests/ui/append_dummy.rs |   13 +
 .../tests/ui/append_dummy.stderr              |    5 +
 .../tests/ui/children_messages.rs             |    6 +
 .../tests/ui/children_messages.stderr         |   23 +
 .../vendor/proc-macro-error/tests/ui/dummy.rs |   13 +
 .../proc-macro-error/tests/ui/dummy.stderr    |    5 +
 .../vendor/proc-macro-error/tests/ui/emit.rs  |    7 +
 .../proc-macro-error/tests/ui/emit.stderr     |   48 +
 .../tests/ui/explicit_span_range.rs           |    6 +
 .../tests/ui/explicit_span_range.stderr       |    5 +
 .../proc-macro-error/tests/ui/misuse.rs       |   11 +
 .../proc-macro-error/tests/ui/misuse.stderr   |   13 +
 .../tests/ui/multiple_tokens.rs               |    6 +
 .../tests/ui/multiple_tokens.stderr           |    5 +
 .../tests/ui/not_proc_macro.rs                |    4 +
 .../tests/ui/not_proc_macro.stderr            |   10 +
 .../proc-macro-error/tests/ui/option_ext.rs   |    6 +
 .../tests/ui/option_ext.stderr                |    7 +
 .../tests/ui/proc_macro_hack.rs               |   10 +
 .../tests/ui/proc_macro_hack.stderr           |   26 +
 .../proc-macro-error/tests/ui/result_ext.rs   |    7 +
 .../tests/ui/result_ext.stderr                |   11 +
 .../tests/ui/to_tokens_span.rs                |    6 +
 .../tests/ui/to_tokens_span.stderr            |   11 +
 .../tests/ui/unknown_setting.rs               |    4 +
 .../tests/ui/unknown_setting.stderr           |    5 +
 .../tests/ui/unrelated_panic.rs               |    6 +
 .../tests/ui/unrelated_panic.stderr           |    7 +
 .../vendor/proc-macro2/.cargo-checksum.json   |    1 +
 .../char/pl011/vendor/proc-macro2/Cargo.toml  |  104 +
 .../pl011/vendor/proc-macro2/LICENSE-APACHE   |  176 +
 .../char/pl011/vendor/proc-macro2/LICENSE-MIT |   23 +
 .../char/pl011/vendor/proc-macro2/README.md   |   94 +
 .../hw/char/pl011/vendor/proc-macro2/build.rs |  227 +
 .../pl011/vendor/proc-macro2/build/probe.rs   |   25 +
 .../char/pl011/vendor/proc-macro2/meson.build |   19 +
 .../vendor/proc-macro2/rust-toolchain.toml    |    2 +
 .../pl011/vendor/proc-macro2/src/detection.rs |   75 +
 .../pl011/vendor/proc-macro2/src/extra.rs     |  151 +
 .../pl011/vendor/proc-macro2/src/fallback.rs  | 1226 ++++
 .../char/pl011/vendor/proc-macro2/src/lib.rs  | 1369 +++++
 .../pl011/vendor/proc-macro2/src/location.rs  |   29 +
 .../pl011/vendor/proc-macro2/src/marker.rs    |   17 +
 .../pl011/vendor/proc-macro2/src/parse.rs     |  996 ++++
 .../pl011/vendor/proc-macro2/src/rcvec.rs     |  145 +
 .../pl011/vendor/proc-macro2/src/wrapper.rs   |  993 ++++
 .../vendor/proc-macro2/tests/comments.rs      |  105 +
 .../vendor/proc-macro2/tests/features.rs      |    8 +
 .../pl011/vendor/proc-macro2/tests/marker.rs  |  100 +
 .../pl011/vendor/proc-macro2/tests/test.rs    |  905 +++
 .../vendor/proc-macro2/tests/test_fmt.rs      |   28 +
 .../vendor/proc-macro2/tests/test_size.rs     |   73 +
 .../pl011/vendor/quote/.cargo-checksum.json   |    1 +
 rust/hw/char/pl011/vendor/quote/Cargo.toml    |   50 +
 .../hw/char/pl011/vendor/quote/LICENSE-APACHE |  176 +
 rust/hw/char/pl011/vendor/quote/LICENSE-MIT   |   23 +
 rust/hw/char/pl011/vendor/quote/README.md     |  272 +
 rust/hw/char/pl011/vendor/quote/meson.build   |   17 +
 .../pl011/vendor/quote/rust-toolchain.toml    |    2 +
 rust/hw/char/pl011/vendor/quote/src/ext.rs    |  110 +
 rust/hw/char/pl011/vendor/quote/src/format.rs |  168 +
 .../pl011/vendor/quote/src/ident_fragment.rs  |   88 +
 rust/hw/char/pl011/vendor/quote/src/lib.rs    | 1464 +++++
 .../hw/char/pl011/vendor/quote/src/runtime.rs |  530 ++
 .../hw/char/pl011/vendor/quote/src/spanned.rs |   50 +
 .../char/pl011/vendor/quote/src/to_tokens.rs  |  209 +
 .../pl011/vendor/quote/tests/compiletest.rs   |    7 +
 rust/hw/char/pl011/vendor/quote/tests/test.rs |  549 ++
 .../ui/does-not-have-iter-interpolated-dup.rs |    9 +
 ...does-not-have-iter-interpolated-dup.stderr |   11 +
 .../ui/does-not-have-iter-interpolated.rs     |    9 +
 .../ui/does-not-have-iter-interpolated.stderr |   11 +
 .../tests/ui/does-not-have-iter-separated.rs  |    5 +
 .../ui/does-not-have-iter-separated.stderr    |   10 +
 .../quote/tests/ui/does-not-have-iter.rs      |    5 +
 .../quote/tests/ui/does-not-have-iter.stderr  |   10 +
 .../vendor/quote/tests/ui/not-quotable.rs     |    7 +
 .../vendor/quote/tests/ui/not-quotable.stderr |   20 +
 .../vendor/quote/tests/ui/not-repeatable.rs   |    8 +
 .../quote/tests/ui/not-repeatable.stderr      |   34 +
 .../vendor/quote/tests/ui/wrong-type-span.rs  |    7 +
 .../quote/tests/ui/wrong-type-span.stderr     |   10 +
 .../pl011/vendor/syn/.cargo-checksum.json     |    1 +
 rust/hw/char/pl011/vendor/syn/Cargo.toml      |  260 +
 rust/hw/char/pl011/vendor/syn/LICENSE-APACHE  |  176 +
 rust/hw/char/pl011/vendor/syn/LICENSE-MIT     |   23 +
 rust/hw/char/pl011/vendor/syn/README.md       |  284 +
 rust/hw/char/pl011/vendor/syn/benches/file.rs |   57 +
 rust/hw/char/pl011/vendor/syn/benches/rust.rs |  182 +
 rust/hw/char/pl011/vendor/syn/meson.build     |   24 +
 rust/hw/char/pl011/vendor/syn/src/attr.rs     |  793 +++
 rust/hw/char/pl011/vendor/syn/src/bigint.rs   |   66 +
 rust/hw/char/pl011/vendor/syn/src/buffer.rs   |  434 ++
 rust/hw/char/pl011/vendor/syn/src/classify.rs |  377 ++
 .../pl011/vendor/syn/src/custom_keyword.rs    |  260 +
 .../vendor/syn/src/custom_punctuation.rs      |  304 +
 rust/hw/char/pl011/vendor/syn/src/data.rs     |  423 ++
 rust/hw/char/pl011/vendor/syn/src/derive.rs   |  259 +
 .../char/pl011/vendor/syn/src/discouraged.rs  |  225 +
 rust/hw/char/pl011/vendor/syn/src/drops.rs    |   58 +
 rust/hw/char/pl011/vendor/syn/src/error.rs    |  467 ++
 rust/hw/char/pl011/vendor/syn/src/export.rs   |   73 +
 rust/hw/char/pl011/vendor/syn/src/expr.rs     | 3960 +++++++++++++
 rust/hw/char/pl011/vendor/syn/src/ext.rs      |  136 +
 rust/hw/char/pl011/vendor/syn/src/file.rs     |  130 +
 rust/hw/char/pl011/vendor/syn/src/fixup.rs    |  218 +
 .../hw/char/pl011/vendor/syn/src/gen/clone.rs | 2209 +++++++
 .../hw/char/pl011/vendor/syn/src/gen/debug.rs | 3160 ++++++++++
 rust/hw/char/pl011/vendor/syn/src/gen/eq.rs   | 2242 +++++++
 rust/hw/char/pl011/vendor/syn/src/gen/fold.rs | 3779 ++++++++++++
 rust/hw/char/pl011/vendor/syn/src/gen/hash.rs | 2807 +++++++++
 .../hw/char/pl011/vendor/syn/src/gen/visit.rs | 3858 ++++++++++++
 .../pl011/vendor/syn/src/gen/visit_mut.rs     | 3855 ++++++++++++
 rust/hw/char/pl011/vendor/syn/src/generics.rs | 1286 ++++
 rust/hw/char/pl011/vendor/syn/src/group.rs    |  291 +
 rust/hw/char/pl011/vendor/syn/src/ident.rs    |  108 +
 rust/hw/char/pl011/vendor/syn/src/item.rs     | 3441 +++++++++++
 rust/hw/char/pl011/vendor/syn/src/lib.rs      | 1019 ++++
 rust/hw/char/pl011/vendor/syn/src/lifetime.rs |  156 +
 rust/hw/char/pl011/vendor/syn/src/lit.rs      | 1830 ++++++
 .../hw/char/pl011/vendor/syn/src/lookahead.rs |  169 +
 rust/hw/char/pl011/vendor/syn/src/mac.rs      |  223 +
 rust/hw/char/pl011/vendor/syn/src/macros.rs   |  166 +
 rust/hw/char/pl011/vendor/syn/src/meta.rs     |  427 ++
 rust/hw/char/pl011/vendor/syn/src/op.rs       |  219 +
 rust/hw/char/pl011/vendor/syn/src/parse.rs    | 1397 +++++
 .../pl011/vendor/syn/src/parse_macro_input.rs |  128 +
 .../char/pl011/vendor/syn/src/parse_quote.rs  |  210 +
 rust/hw/char/pl011/vendor/syn/src/pat.rs      |  953 +++
 rust/hw/char/pl011/vendor/syn/src/path.rs     |  886 +++
 .../char/pl011/vendor/syn/src/precedence.rs   |  163 +
 rust/hw/char/pl011/vendor/syn/src/print.rs    |   16 +
 .../char/pl011/vendor/syn/src/punctuated.rs   | 1132 ++++
 .../char/pl011/vendor/syn/src/restriction.rs  |  176 +
 rust/hw/char/pl011/vendor/syn/src/sealed.rs   |    4 +
 rust/hw/char/pl011/vendor/syn/src/span.rs     |   63 +
 rust/hw/char/pl011/vendor/syn/src/spanned.rs  |  118 +
 rust/hw/char/pl011/vendor/syn/src/stmt.rs     |  481 ++
 rust/hw/char/pl011/vendor/syn/src/thread.rs   |   60 +
 rust/hw/char/pl011/vendor/syn/src/token.rs    | 1138 ++++
 rust/hw/char/pl011/vendor/syn/src/tt.rs       |  107 +
 rust/hw/char/pl011/vendor/syn/src/ty.rs       | 1216 ++++
 rust/hw/char/pl011/vendor/syn/src/verbatim.rs |   33 +
 .../char/pl011/vendor/syn/src/whitespace.rs   |   65 +
 .../char/pl011/vendor/syn/tests/common/eq.rs  |  900 +++
 .../char/pl011/vendor/syn/tests/common/mod.rs |   28 +
 .../pl011/vendor/syn/tests/common/parse.rs    |   49 +
 .../char/pl011/vendor/syn/tests/debug/gen.rs  | 5163 +++++++++++++++++
 .../char/pl011/vendor/syn/tests/debug/mod.rs  |  147 +
 .../char/pl011/vendor/syn/tests/macros/mod.rs |   93 +
 .../char/pl011/vendor/syn/tests/regression.rs |    5 +
 .../vendor/syn/tests/regression/issue1108.rs  |    5 +
 .../vendor/syn/tests/regression/issue1235.rs  |   32 +
 .../char/pl011/vendor/syn/tests/repo/mod.rs   |  461 ++
 .../pl011/vendor/syn/tests/repo/progress.rs   |   37 +
 .../pl011/vendor/syn/tests/test_asyncness.rs  |   43 +
 .../pl011/vendor/syn/tests/test_attribute.rs  |  225 +
 .../vendor/syn/tests/test_derive_input.rs     |  781 +++
 .../char/pl011/vendor/syn/tests/test_expr.rs  |  692 +++
 .../pl011/vendor/syn/tests/test_generics.rs   |  282 +
 .../pl011/vendor/syn/tests/test_grouping.rs   |   53 +
 .../char/pl011/vendor/syn/tests/test_ident.rs |   87 +
 .../char/pl011/vendor/syn/tests/test_item.rs  |  332 ++
 .../pl011/vendor/syn/tests/test_iterators.rs  |   70 +
 .../char/pl011/vendor/syn/tests/test_lit.rs   |  331 ++
 .../char/pl011/vendor/syn/tests/test_meta.rs  |  154 +
 .../vendor/syn/tests/test_parse_buffer.rs     |  103 +
 .../vendor/syn/tests/test_parse_quote.rs      |  166 +
 .../vendor/syn/tests/test_parse_stream.rs     |  187 +
 .../char/pl011/vendor/syn/tests/test_pat.rs   |  152 +
 .../char/pl011/vendor/syn/tests/test_path.rs  |  130 +
 .../pl011/vendor/syn/tests/test_precedence.rs |  537 ++
 .../pl011/vendor/syn/tests/test_receiver.rs   |  321 +
 .../pl011/vendor/syn/tests/test_round_trip.rs |  253 +
 .../pl011/vendor/syn/tests/test_shebang.rs    |   67 +
 .../char/pl011/vendor/syn/tests/test_size.rs  |   36 +
 .../char/pl011/vendor/syn/tests/test_stmt.rs  |  322 +
 .../vendor/syn/tests/test_token_trees.rs      |   32 +
 .../hw/char/pl011/vendor/syn/tests/test_ty.rs |  397 ++
 .../pl011/vendor/syn/tests/test_visibility.rs |  185 +
 .../char/pl011/vendor/syn/tests/zzz_stable.rs |   33 +
 .../vendor/unicode-ident/.cargo-checksum.json |    1 +
 .../pl011/vendor/unicode-ident/Cargo.toml     |   63 +
 .../pl011/vendor/unicode-ident/LICENSE-APACHE |  176 +
 .../pl011/vendor/unicode-ident/LICENSE-MIT    |   23 +
 .../vendor/unicode-ident/LICENSE-UNICODE      |   46 +
 .../char/pl011/vendor/unicode-ident/README.md |  283 +
 .../pl011/vendor/unicode-ident/benches/xid.rs |  124 +
 .../pl011/vendor/unicode-ident/meson.build    |   14 +
 .../pl011/vendor/unicode-ident/src/lib.rs     |  269 +
 .../pl011/vendor/unicode-ident/src/tables.rs  |  651 +++
 .../vendor/unicode-ident/tests/compare.rs     |   67 +
 .../vendor/unicode-ident/tests/fst/mod.rs     |   11 +
 .../unicode-ident/tests/fst/xid_continue.fst  |  Bin 0 -> 73249 bytes
 .../unicode-ident/tests/fst/xid_start.fst     |  Bin 0 -> 65487 bytes
 .../vendor/unicode-ident/tests/roaring/mod.rs |   21 +
 .../vendor/unicode-ident/tests/static_size.rs |   95 +
 .../vendor/unicode-ident/tests/tables/mod.rs  |    7 +
 .../unicode-ident/tests/tables/tables.rs      |  347 ++
 .../vendor/unicode-ident/tests/trie/mod.rs    |    7 +
 .../vendor/unicode-ident/tests/trie/trie.rs   |  445 ++
 .../vendor/version_check/.cargo-checksum.json |    1 +
 .../pl011/vendor/version_check/Cargo.toml     |   24 +
 .../pl011/vendor/version_check/LICENSE-APACHE |  201 +
 .../pl011/vendor/version_check/LICENSE-MIT    |   19 +
 .../char/pl011/vendor/version_check/README.md |   80 +
 .../pl011/vendor/version_check/meson.build    |   14 +
 .../pl011/vendor/version_check/src/channel.rs |  193 +
 .../pl011/vendor/version_check/src/date.rs    |  203 +
 .../pl011/vendor/version_check/src/lib.rs     |  493 ++
 .../pl011/vendor/version_check/src/version.rs |  316 +
 rust/hw/meson.build                           |    1 +
 rust/meson.build                              |   15 +
 rust/qemu-api/.gitignore                      |    2 +
 rust/qemu-api/Cargo.lock                      |    7 +
 rust/qemu-api/Cargo.toml                      |   23 +
 rust/qemu-api/README.md                       |   17 +
 rust/qemu-api/build.rs                        |   13 +
 rust/qemu-api/meson.build                     |   19 +
 rust/qemu-api/rustfmt.toml                    |    1 +
 rust/qemu-api/src/bindings.rs                 |    7 +
 rust/qemu-api/src/definitions.rs              |  107 +
 rust/qemu-api/src/device_class.rs             |  128 +
 rust/qemu-api/src/lib.rs                      |  100 +
 rust/qemu-api/src/tests.rs                    |   48 +
 rust/rustfmt.toml                             |    7 +
 .../ci/setup/ubuntu/ubuntu-2204-aarch64.yaml  |    3 +
 .../ci/setup/ubuntu/ubuntu-2204-s390x.yaml    |    3 +
 scripts/meson-buildoptions.sh                 |    3 +
 scripts/rustc_args.py                         |   84 +
 tests/docker/dockerfiles/alpine.docker        |    3 +
 tests/docker/dockerfiles/centos9.docker       |    3 +
 .../dockerfiles/debian-amd64-cross.docker     |    4 +
 .../dockerfiles/debian-arm64-cross.docker     |    4 +
 .../dockerfiles/debian-armel-cross.docker     |    4 +
 .../dockerfiles/debian-armhf-cross.docker     |    4 +
 .../dockerfiles/debian-i686-cross.docker      |    4 +
 .../dockerfiles/debian-mips64el-cross.docker  |    4 +
 .../dockerfiles/debian-mipsel-cross.docker    |    4 +
 .../dockerfiles/debian-ppc64el-cross.docker   |    4 +
 .../dockerfiles/debian-s390x-cross.docker     |    4 +
 tests/docker/dockerfiles/debian.docker        |    3 +
 .../dockerfiles/fedora-win64-cross.docker     |    3 +
 tests/docker/dockerfiles/fedora.docker        |    3 +
 tests/docker/dockerfiles/opensuse-leap.docker |    2 +
 tests/docker/dockerfiles/ubuntu2204.docker    |    3 +
 tests/lcitool/libvirt-ci                      |    2 +-
 tests/lcitool/projects/qemu.yml               |    3 +
 tests/vm/generated/freebsd.json               |    2 +
 432 files changed, 111104 insertions(+), 16 deletions(-)
 create mode 100644 rust/hw/char/pl011/vendor/either/README.rst
 create mode 100644 rust/wrapper.h
 create mode 100644 rust/.gitignore
 create mode 100644 rust/Kconfig
 create mode 100644 rust/hw/Kconfig
 create mode 100644 rust/hw/char/Kconfig
 create mode 100644 rust/hw/char/meson.build
 create mode 100644 rust/hw/char/pl011/.gitignore
 create mode 100644 rust/hw/char/pl011/Cargo.lock
 create mode 100644 rust/hw/char/pl011/Cargo.toml
 create mode 100644 rust/hw/char/pl011/README.md
 create mode 100644 rust/hw/char/pl011/meson.build
 create mode 120000 rust/hw/char/pl011/rustfmt.toml
 create mode 100644 rust/hw/char/pl011/src/definitions.rs
 create mode 100644 rust/hw/char/pl011/src/device.rs
 create mode 100644 rust/hw/char/pl011/src/device_class.rs
 create mode 100644 rust/hw/char/pl011/src/lib.rs
 create mode 100644 rust/hw/char/pl011/src/memory_ops.rs
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/CHANGELOG.md
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/LICENSE.txt
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/README.md
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/arbitrary-int/tests/tests.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/README.md
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/bitsize.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/bitsize/split.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/bitsize_internal.rs
 create mode 100644 
rust/hw/char/pl011/vendor/bilge-impl/src/bitsize_internal/struct_gen.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/debug_bits.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/default_bits.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/fmt_bits.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/from_bits.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/shared.rs
 create mode 100644 
rust/hw/char/pl011/vendor/bilge-impl/src/shared/discriminant_assigner.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/shared/fallback.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/shared/util.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge-impl/src/try_from_bits.rs
 create mode 100644 rust/hw/char/pl011/vendor/bilge/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/bilge/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/bilge/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/bilge/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/bilge/README.md
 create mode 100644 rust/hw/char/pl011/vendor/bilge/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/bilge/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/either/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/either/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/either/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/either/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/either/README-crates.io.md
 create mode 100644 rust/hw/char/pl011/vendor/either/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/either/src/into_either.rs
 create mode 100644 rust/hw/char/pl011/vendor/either/src/iterator.rs
 create mode 100644 rust/hw/char/pl011/vendor/either/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/either/src/serde_untagged.rs
 create mode 100644 
rust/hw/char/pl011/vendor/either/src/serde_untagged_optional.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/itertools/CHANGELOG.md
 create mode 100644 rust/hw/char/pl011/vendor/itertools/Cargo.lock
 create mode 100644 rust/hw/char/pl011/vendor/itertools/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/itertools/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/itertools/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/itertools/README.md
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/bench1.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/combinations.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/benches/combinations_with_replacement.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/extra/mod.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/benches/extra/zipslices.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/benches/fold_specialization.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/powerset.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/tree_fold1.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/benches/tuple_combinations.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/benches/tuples.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/examples/iris.data
 create mode 100644 rust/hw/char/pl011/vendor/itertools/examples/iris.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/adaptors/coalesce.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/adaptors/map.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/adaptors/mod.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/src/adaptors/multi_product.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/combinations.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/src/combinations_with_replacement.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/concat_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/cons_tuples_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/diff.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/duplicates_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/either_or_both.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/exactly_one_err.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/extrema_set.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/flatten_ok.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/format.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/free.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/group_map.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/groupbylazy.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/grouping_map.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/impl_macros.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/intersperse.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/k_smallest.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/kmerge_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/lazy_buffer.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/merge_join.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/minmax.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/multipeek_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/pad_tail.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/peek_nth.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/src/peeking_take_while.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/permutations.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/powerset.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/src/process_results_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/put_back_n_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/rciter_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/repeatn.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/size_hint.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/sources.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/src/take_while_inclusive.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/tee.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/tuple_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/unique_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/unziptuple.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/with_position.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/zip_eq_impl.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/zip_longest.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/src/ziptuple.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/tests/adaptors_no_collect.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/flatten_ok.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/macros_hygiene.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/merge_join.rs
 create mode 100644 
rust/hw/char/pl011/vendor/itertools/tests/peeking_take_while.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/quick.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/specializations.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/test_core.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/test_std.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/tuples.rs
 create mode 100644 rust/hw/char/pl011/vendor/itertools/tests/zip.rs
 create mode 100644 rust/hw/char/pl011/vendor/meson.build
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error-attr/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/Cargo.toml
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error-attr/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/build.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error-attr/src/parse.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error-attr/src/settings.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/CHANGELOG.md
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/README.md
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/build.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/src/diagnostic.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/src/dummy.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/src/imp/delegate.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/src/imp/fallback.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/src/macros.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/src/sealed.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/macro-errors.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/tests/ok.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/runtime-errors.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/abort.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/abort.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/append_dummy.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/append_dummy.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/children_messages.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/children_messages.stderr
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/dummy.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/dummy.stderr
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/emit.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/emit.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/explicit_span_range.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/explicit_span_range.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/misuse.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/misuse.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/multiple_tokens.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/multiple_tokens.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/not_proc_macro.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/not_proc_macro.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/option_ext.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/option_ext.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/proc_macro_hack.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/proc_macro_hack.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/result_ext.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/result_ext.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/to_tokens_span.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/to_tokens_span.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/unknown_setting.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/unknown_setting.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/unrelated_panic.rs
 create mode 100644 
rust/hw/char/pl011/vendor/proc-macro-error/tests/ui/unrelated_panic.stderr
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/README.md
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/build.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/build/probe.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/rust-toolchain.toml
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/detection.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/extra.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/fallback.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/location.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/marker.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/parse.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/rcvec.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/src/wrapper.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/comments.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/features.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/marker.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/test.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/test_fmt.rs
 create mode 100644 rust/hw/char/pl011/vendor/proc-macro2/tests/test_size.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/quote/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/quote/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/quote/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/quote/README.md
 create mode 100644 rust/hw/char/pl011/vendor/quote/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/quote/rust-toolchain.toml
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/ext.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/format.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/ident_fragment.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/runtime.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/spanned.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/src/to_tokens.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/compiletest.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/test.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-interpolated-dup.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-interpolated-dup.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-interpolated.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-interpolated.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-separated.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter-separated.stderr
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/does-not-have-iter.stderr
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/ui/not-quotable.rs
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/ui/not-quotable.stderr
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/ui/not-repeatable.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/not-repeatable.stderr
 create mode 100644 rust/hw/char/pl011/vendor/quote/tests/ui/wrong-type-span.rs
 create mode 100644 
rust/hw/char/pl011/vendor/quote/tests/ui/wrong-type-span.stderr
 create mode 100644 rust/hw/char/pl011/vendor/syn/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/syn/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/syn/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/syn/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/syn/README.md
 create mode 100644 rust/hw/char/pl011/vendor/syn/benches/file.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/benches/rust.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/attr.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/bigint.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/buffer.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/classify.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/custom_keyword.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/custom_punctuation.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/data.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/derive.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/discouraged.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/drops.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/error.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/export.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/expr.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/ext.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/file.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/fixup.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/clone.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/debug.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/eq.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/fold.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/hash.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/visit.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/gen/visit_mut.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/generics.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/group.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/ident.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/item.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/lifetime.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/lit.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/lookahead.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/mac.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/macros.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/meta.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/op.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/parse.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/parse_macro_input.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/parse_quote.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/pat.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/path.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/precedence.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/print.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/punctuated.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/restriction.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/sealed.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/span.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/spanned.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/stmt.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/thread.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/token.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/tt.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/ty.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/verbatim.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/src/whitespace.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/common/eq.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/common/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/common/parse.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/debug/gen.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/debug/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/macros/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/regression.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/regression/issue1108.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/regression/issue1235.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/repo/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/repo/progress.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_asyncness.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_attribute.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_derive_input.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_expr.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_generics.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_grouping.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_ident.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_item.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_iterators.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_lit.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_meta.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_parse_buffer.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_parse_quote.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_parse_stream.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_pat.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_path.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_precedence.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_receiver.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_round_trip.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_shebang.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_size.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_stmt.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_token_trees.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_ty.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/test_visibility.rs
 create mode 100644 rust/hw/char/pl011/vendor/syn/tests/zzz_stable.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/LICENSE-UNICODE
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/README.md
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/benches/xid.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/src/tables.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/compare.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/fst/mod.rs
 create mode 100644 
rust/hw/char/pl011/vendor/unicode-ident/tests/fst/xid_continue.fst
 create mode 100644 
rust/hw/char/pl011/vendor/unicode-ident/tests/fst/xid_start.fst
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/roaring/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/static_size.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/tables/mod.rs
 create mode 100644 
rust/hw/char/pl011/vendor/unicode-ident/tests/tables/tables.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/trie/mod.rs
 create mode 100644 rust/hw/char/pl011/vendor/unicode-ident/tests/trie/trie.rs
 create mode 100644 rust/hw/char/pl011/vendor/version_check/.cargo-checksum.json
 create mode 100644 rust/hw/char/pl011/vendor/version_check/Cargo.toml
 create mode 100644 rust/hw/char/pl011/vendor/version_check/LICENSE-APACHE
 create mode 100644 rust/hw/char/pl011/vendor/version_check/LICENSE-MIT
 create mode 100644 rust/hw/char/pl011/vendor/version_check/README.md
 create mode 100644 rust/hw/char/pl011/vendor/version_check/meson.build
 create mode 100644 rust/hw/char/pl011/vendor/version_check/src/channel.rs
 create mode 100644 rust/hw/char/pl011/vendor/version_check/src/date.rs
 create mode 100644 rust/hw/char/pl011/vendor/version_check/src/lib.rs
 create mode 100644 rust/hw/char/pl011/vendor/version_check/src/version.rs
 create mode 100644 rust/hw/meson.build
 create mode 100644 rust/meson.build
 create mode 100644 rust/qemu-api/.gitignore
 create mode 100644 rust/qemu-api/Cargo.lock
 create mode 100644 rust/qemu-api/Cargo.toml
 create mode 100644 rust/qemu-api/README.md
 create mode 100644 rust/qemu-api/build.rs
 create mode 100644 rust/qemu-api/meson.build
 create mode 120000 rust/qemu-api/rustfmt.toml
 create mode 100644 rust/qemu-api/src/bindings.rs
 create mode 100644 rust/qemu-api/src/definitions.rs
 create mode 100644 rust/qemu-api/src/device_class.rs
 create mode 100644 rust/qemu-api/src/lib.rs
 create mode 100644 rust/qemu-api/src/tests.rs
 create mode 100644 rust/rustfmt.toml
 create mode 100644 scripts/rustc_args.py


base-commit: a7ddb48bd1363c8bcdf42776d320289c42191f01
-- 
γαῖα πυρί μιχθήτω




reply via email to

[Prev in Thread] Current Thread [Next in Thread]