[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 00/38] Rust, i386 patches for 2024-01-10
From: |
Paolo Bonzini |
Subject: |
[PULL 00/38] Rust, i386 patches for 2024-01-10 |
Date: |
Fri, 10 Jan 2025 19:45:41 +0100 |
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
- [PULL 00/38] Rust, i386 patches for 2024-01-10,
Paolo Bonzini <=
- [PULL 01/38] rust: fix --enable-debug-mutex, Paolo Bonzini, 2025/01/10
- [PULL 07/38] rust: qom: automatically use Drop trait to implement instance_finalize, Paolo Bonzini, 2025/01/10
- [PULL 09/38] rust: pl011: only leave embedded object initialization in instance_init, Paolo Bonzini, 2025/01/10
- [PULL 08/38] rust: qom: move device_id to PL011 class side, Paolo Bonzini, 2025/01/10
- [PULL 14/38] rust: hide warnings for subprojects, Paolo Bonzini, 2025/01/10
- [PULL 02/38] rust: add --check-cfg test to rustc arguments, Paolo Bonzini, 2025/01/10
- [PULL 04/38] rust: add a utility module for compile-time type checks, Paolo Bonzini, 2025/01/10
- [PULL 16/38] make-release: only leave tarball of wrap-file subprojects, Paolo Bonzini, 2025/01/10
- [PULL 15/38] qom: remove unused field, Paolo Bonzini, 2025/01/10