Commit Graph

138 Commits

Author SHA1 Message Date
Matt Borgerson f6d9bb529f meson: Bump xxHash wrap 2026-01-05 00:09:15 -07:00
Matt Borgerson df6fa71b5d meson: Bump curl to 8.12.1 2026-01-05 00:09:15 -07:00
schm1dtmac 3cc2989a98 meson: Update imgui
Integrates the macOS retina fixes.
2026-01-04 23:45:30 -07:00
xemu-robot d7b3af14f6 meson: Bump glslang to 16.1.0 2025-12-09 21:20:07 -07:00
xemu-robot 5c30af2923 meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.328.1 2025-10-15 19:20:54 -04:00
xemu-robot 93b16e5ccd meson: Bump glslang to 16.0.0 2025-09-28 23:42:09 -07:00
xemu-robot e817cd5920 meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.321.0 2025-07-21 00:18:54 -07:00
xemu-robot 83a41c6105 meson: Bump glslang to 15.4.0 2025-06-29 23:18:28 -07:00
xemu-robot c9cdd76102 meson: Bump VulkanMemoryAllocator to v3.3.0 2025-05-19 22:34:54 -07:00
xemu-robot f7e40b2b80 meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.313.0 2025-05-15 07:14:36 -07:00
xemu-robot 4dfbe29cbd meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.309.0 2025-04-26 16:23:43 -07:00
xemu-robot a3dc079706 meson: Bump glslang to 15.3.0 2025-04-26 16:23:12 -07:00
xemu-robot 668017518a meson: Bump tomlplusplus to v3.4.0 2025-04-26 16:20:59 -07:00
mborgerson c4b554fd80 meson: Add tag regex for subproject wrap auto-updater 2025-04-26 16:13:13 -07:00
xemu-robot 1e1ef6fbb9 meson: Bump volk to 1.4.304 2025-04-26 16:04:34 -07:00
xemu-robot c035ff9f5d meson: Bump VulkanMemoryAllocator to v3.2.1 2025-04-26 16:04:16 -07:00
Matt Borgerson 0d06ce8603 meson: Bump glslang 2025-03-27 17:25:59 -07:00
Matt Borgerson cc857adb6c meson: Bump SPIRV-Reflect 2025-03-27 17:25:59 -07:00
Matt Borgerson 355228913c meson: Update imgui,implot 2025-03-08 04:00:18 -07:00
Matt Borgerson 1d662cb49e meson: Replace in-tree nlohmann_json with a subproject wrap 2025-03-08 02:36:24 -07:00
Matt Borgerson 5428760104 meson: Drop cpp-httplib dep 2025-03-07 22:12:49 -07:00
Matt Borgerson 3decda5614 meson: Add libcurl subproject fallback 2025-03-07 22:12:49 -07:00
Matt Borgerson 906d085d66 meson: Update xxHash wrap 2025-02-15 16:56:30 -07:00
Matt Borgerson 65844f02e3 meson: Update VulkanMemoryAllocator wrap 2025-02-15 16:56:30 -07:00
Matt Borgerson 66dbd9273c meson: Bump glslang 2025-01-26 03:48:38 -07:00
Matt Borgerson e0345bae3e meson: Bump SPIRV-Reflect 2025-01-26 03:48:38 -07:00
Matt Borgerson 572f6161bf meson: Bump volk 2025-01-26 03:48:38 -07:00
Matt Borgerson fb8d47f9ba meson: Bump nv2a_vsh_cpu subproject version 2025-01-07 01:08:20 -07:00
Matt Borgerson 21a3ee89ba meson: Migrate genconfig submodule to subproject 2025-01-06 23:05:53 -07:00
Matt Borgerson fcf5eb84a1 meson: Migrate implot submodule to subproject 2025-01-06 23:05:53 -07:00
Matt Borgerson 09f7787fa9 meson: Migrate imgui submodule to subproject 2025-01-06 23:05:53 -07:00
Matt Borgerson ec974f1c7c Merge tag 'v9.2.0'
v9.2.0 release
2025-01-03 22:30:04 -07:00
Matt Borgerson f96f2754cc meson: Migrate xxhash submodule to a subproject 2025-01-02 19:07:25 -07:00
Matt Borgerson 084b40fc53 meson: Migrate cpp-httplib submodule to a subproject 2025-01-02 19:07:25 -07:00
Matt Borgerson 55118b4260 meson: Migrate tomlplusplus submodule to a subproject 2025-01-02 19:07:25 -07:00
Matt Borgerson 824af3978f meson: Migrate nv2a_vsh_cpu submodule to a subproject 2025-01-02 19:07:25 -07:00
Matt Borgerson 08ce952441 meson: Add subprojects .gitignore 2024-12-31 01:37:05 -07:00
Matt Borgerson 209c0991a1 meson: Convert VulkanMemoryAllocator submodule to a subproject 2024-12-31 01:37:05 -07:00
Matt Borgerson 615748fe4b meson: Convert SPIRV-Reflect submodule to a subproject 2024-12-31 01:37:05 -07:00
Matt Borgerson c54964a44a meson: Convert volk submodule to a subproject 2024-12-31 01:37:05 -07:00
Matt Borgerson 1524486e73 meson: Bump glslang subproject version 2024-12-31 01:37:05 -07:00
Matt Borgerson ff5f2768b6 meson: Vendor glslang 2024-12-31 01:37:05 -07:00
Paolo Bonzini 700784bfc6 rust: add meson_version to all subprojects
Otherwise, newer releases of meson complain.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-07 16:54:02 +01:00
Junjie Mao f351840088 rust: introduce alternative implementation of offset_of!
offset_of! was stabilized in Rust 1.77.0.  Use an alternative implemenation
that was found on the Rust forums, and whose author agreed to license as
MIT for use in QEMU.

The alternative allows only one level of field access, but apart
from this can be used just by replacing core::mem::offset_of! with
qemu_api::offset_of!.

The actual implementation of offset_of! is done in a declarative macro,
but for simplicity and to avoid introducing an extra level of indentation,
the trigger is a procedural macro #[derive(offsets)].

The procedural macro is perhaps a bit overengineered, but it helps
introducing some idioms that will be useful in the future as well.

Signed-off-by: Junjie Mao <junjie.mao@hotmail.com>
Co-developed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-05 14:18:16 +01:00
Paolo Bonzini 646b5378e0 rust: fix cfgs of proc-macro2 for 1.63.0
Replay the configuration that would be computed by build.rs when compiling
on a 1.63.0 compiler.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-05 14:18:16 +01:00
Paolo Bonzini 64644bc4ea rust: patch bilge-impl to allow compilation with 1.63.0
Apply a patch that removes "let ... else" constructs, replacing them with
"if let ... else" or "let ... = match ...".  "let ... else" was stabilized in
Rust 1.65.0.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-11-05 14:18:16 +01:00
Manos Pitsidianakis 37fdb2f56a rust: add PL011 device model
This commit adds a re-implementation of hw/char/pl011.c in Rust.

How to build:

1. Configure a QEMU build with:
   --enable-system --target-list=aarch64-softmmu --enable-rust
2. Launching a VM with qemu-system-aarch64 should use the Rust version
   of the pl011 device

Co-authored-by: Junjie Mao <junjie.mao@intel.com>
Co-authored-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Link: https://lore.kernel.org/r/20241024-rust-round-2-v1-2-051e7a25b978@linaro.org
2024-11-05 14:18:15 +01:00
Manos Pitsidianakis ca5aa28e24 Revert "rust: add PL011 device model"
Patch was applied with invalid authorship by accident, which confuses
git tooling that look at git blame for contributors etc.

Patch will be re-applied with correct authorship right after this
commit.

This reverts commit d0f0cd5b1f.

Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Link: https://lore.kernel.org/r/20241024-rust-round-2-v1-1-051e7a25b978@linaro.org
2024-11-05 14:18:15 +01:00
Paolo Bonzini d0f0cd5b1f rust: add PL011 device model
This commit adds a re-implementation of hw/char/pl011.c in Rust.

How to build:

1. Configure a QEMU build with:
   --enable-system --target-list=aarch64-softmmu --enable-rust
2. Launching a VM with qemu-system-aarch64 should use the Rust version
   of the pl011 device

Co-authored-by: Junjie Mao <junjie.mao@intel.com>
Co-authored-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Link: https://lore.kernel.org/r/6ec1d4fb8db2a1d7ba94c73e65d9770371b7857d.1727961605.git.manos.pitsidianakis@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-10-11 12:32:17 +02:00
Manos Pitsidianakis 2b74dd9180 rust: add utility procedural macro crate
This commit adds a helper crate library, qemu-api-macros for derive (and
other procedural) macros to be used along qemu-api.

It needs to be a separate library because in Rust, procedural macros, or
macros that can generate arbitrary code, need to be special separate
compilation units.

Only one macro is introduced in this patch, #[derive(Object)]. It
generates a constructor to register a QOM TypeInfo on init and it must
be used on types that implement qemu_api::definitions::ObjectImpl trait.

Reviewed-by: Junjie Mao <junjie.mao@hotmail.com>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Link: https://lore.kernel.org/r/dd645642406a6dc2060c6f3f17db2bc77ed67b59.1727961605.git.manos.pitsidianakis@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2024-10-11 12:32:17 +02:00