The following changes since commit 6528013b5f5ba6bb3934b7f5fe57a3110680530f:
Merge tag 'qga-pull-2025-01-06' of https://github.com/kostyanf14/qemu into staging (2025-01-06 09:39:02 -0500) are available in the Git repository at: https://gitlab.com/bonzini/qemu.git tags/for-upstream for you to fetch changes up to d56b3fe297c307292e76d25358e2e3e367226c43: i386/cpu: Set and track CPUID_EXT3_CMP_LEG in env->features[FEAT_8000_0001_ECX] (2025-01-10 19:44:25 +0100) ---------------------------------------------------------------- * rust: miscellaneous changes * target/i386: small code generation improvements * target/i386: various cleanups and fixes * cpu: remove env->nr_cores ---------------------------------------------------------------- Paolo Bonzini (19): rust: fix --enable-debug-mutex rust: add --check-cfg test to rustc arguments rust: qom: add ParentField rust: add a utility module for compile-time type checks rust: macros: check that #[derive(Object)] requires #[repr(C)] rust: macros: check that the first field of a #[derive(Object)] struct is a ParentField rust: qom: automatically use Drop trait to implement instance_finalize rust: qom: move device_id to PL011 class side rust: pl011: only leave embedded object initialization in instance_init rust: qom: make INSTANCE_POST_INIT take a shared reference rust: qemu-api-macros: extend error reporting facility to parse errors rust: qemu-api-macros: add automatic TryFrom/TryInto derivation rust: qdev: expose inherited methods to subclasses of SysBusDevice rust: hide warnings for subprojects qom: remove unused field make-release: only leave tarball of wrap-file subprojects target/i386: improve code generation for BT target/i386: use shr to load high-byte registers into T0/T1 target/i386/kvm: Replace ARRAY_SIZE(msr_handlers) with KVM_MSR_FILTER_MAX_RANGES Xiaoyao Li (10): i386/cpu: Extract a common fucntion to setup value of MSR_CORE_THREAD_COUNT i386/cpu: Drop the variable smp_cores and smp_threads in x86_cpu_pre_plug() i386/cpu: Drop cores_per_pkg in cpu_x86_cpuid() i386/topology: Update the comment of x86_apicid_from_topo_ids() i386/topology: Introduce helpers for various topology info of different level i386/cpu: Track a X86CPUTopoInfo directly in CPUX86State i386/cpu: Hoist check of CPUID_EXT3_TOPOEXT against threads_per_core cpu: Remove nr_cores from struct CPUState i386/cpu: Set up CPUID_HT in x86_cpu_expand_features() instead of cpu_x86_cpuid() i386/cpu: Set and track CPUID_EXT3_CMP_LEG in env->features[FEAT_8000_0001_ECX] Zhao Liu (9): i386/cpu: Mark avx10_version filtered when prefix is NULL target/i386/kvm: Add feature bit definitions for KVM CPUID target/i386/kvm: Remove local MSR_KVM_WALL_CLOCK and MSR_KVM_SYSTEM_TIME definitions target/i386/kvm: Only save/load kvmclock MSRs when kvmclock enabled target/i386/kvm: Drop workaround for KVM_X86_DISABLE_EXITS_HTL typo target/i386/confidential-guest: Fix comment of x86_confidential_guest_kvm_type() target/i386/kvm: Clean up return values of MSR filter related functions target/i386/kvm: Return -1 when kvm_msr_energy_thread_init() fails target/i386/kvm: Clean up error handling in kvm_arch_init() include/hw/core/cpu.h | 2 - include/hw/i386/topology.h | 30 +++- include/qom/object.h | 5 +- target/i386/confidential-guest.h | 2 +- target/i386/cpu.h | 31 +++- hw/core/cpu-common.c | 1 - hw/i386/kvm/clock.c | 5 +- hw/i386/x86-common.c | 22 +-- qom/object.c | 1 - system/cpus.c | 1 - target/i386/cpu-system.c | 11 ++ target/i386/cpu.c | 119 ++++++------- target/i386/hvf/x86_emu.c | 3 +- target/i386/kvm/kvm.c | 197 ++++++++++----------- target/i386/tcg/system/misc_helper.c | 3 +- target/i386/tcg/translate.c | 2 +- target/i386/tcg/emit.c.inc | 59 ++++-- rust/hw/char/pl011/src/device.rs | 79 ++++----- rust/hw/char/pl011/src/lib.rs | 28 +-- rust/qemu-api-macros/src/lib.rs | 150 ++++++++++++---- rust/qemu-api-macros/src/utils.rs | 26 +++ rust/qemu-api/meson.build | 3 +- rust/qemu-api/src/assertions.rs | 90 ++++++++++ rust/qemu-api/src/irq.rs | 3 +- rust/qemu-api/src/lib.rs | 1 + rust/qemu-api/src/prelude.rs | 2 + rust/qemu-api/src/qom.rs | 85 +++++++-- rust/qemu-api/src/sysbus.rs | 23 ++- rust/qemu-api/tests/tests.rs | 4 +- scripts/make-release | 31 +++- scripts/rust/rustc_args.py | 2 + subprojects/arbitrary-int-1-rs.wrap | 3 + subprojects/bilge-0.2-rs.wrap | 3 + subprojects/bilge-impl-0.2-rs.wrap | 3 + subprojects/either-1-rs.wrap | 3 + subprojects/itertools-0.11-rs.wrap | 3 + .../packagefiles/arbitrary-int-1-rs/meson.build | 1 + subprojects/packagefiles/bilge-0.2-rs/meson.build | 1 + .../packagefiles/bilge-impl-0.2-rs/meson.build | 1 + subprojects/packagefiles/either-1-rs/meson.build | 1 + .../packagefiles/itertools-0.11-rs/meson.build | 1 + .../packagefiles/proc-macro-error-1-rs/meson.build | 1 + .../proc-macro-error-attr-1-rs/meson.build | 1 + .../packagefiles/proc-macro2-1-rs/meson.build | 1 + subprojects/packagefiles/quote-1-rs/meson.build | 1 + subprojects/packagefiles/syn-2-rs/meson.build | 1 + .../packagefiles/unicode-ident-1-rs/meson.build | 1 + subprojects/proc-macro-error-1-rs.wrap | 3 + subprojects/proc-macro-error-attr-1-rs.wrap | 3 + subprojects/proc-macro2-1-rs.wrap | 3 + subprojects/quote-1-rs.wrap | 3 + subprojects/syn-2-rs.wrap | 3 + subprojects/unicode-ident-1-rs.wrap | 3 + subprojects/unicode-ident-1-rs/meson.build | 20 --- 54 files changed, 716 insertions(+), 369 deletions(-) create mode 100644 rust/qemu-api-macros/src/utils.rs create mode 100644 rust/qemu-api/src/assertions.rs delete mode 100644 subprojects/unicode-ident-1-rs/meson.build -- 2.47.1