[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v3 00/49] i386, Rust changes for 2025-01-24
From: |
Paolo Bonzini |
Subject: |
[PULL v3 00/49] i386, Rust changes for 2025-01-24 |
Date: |
Wed, 29 Jan 2025 12:27:41 +0100 |
The following changes since commit d6430c17d7113d3c38480dc34e59d00b0504e2f7:
Merge tag 'pull-riscv-to-apply-20250119-1' of
https://github.com/alistair23/qemu into staging (2025-01-19 08:55:46 -0500)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 3b36ee720288ba17962a17b305243ea34100e1f3:
gitlab-ci: include full Rust backtraces in test runs (2025-01-29 09:37:50
+0100)
----------------------------------------------------------------
* target/i386: optimize string instructions
* target/i386: new Sierra Forest and Clearwater Forest models
* rust: type-safe vmstate implementation
* rust: use interior mutability for PL011
* rust: clean ups
* memtxattrs: remove usage of bitfields from MEMTXATTRS_UNSPECIFIED
* gitlab-ci: enable Rust backtraces
----------------------------------------------------------------
v2->v3: drop PL011Registers borrow before calling PL011State::update()
include full Rust backtraces in test runs
Paolo Bonzini (38):
rust: pl011: fix repr(C) for PL011Class
target/i386: inline gen_jcc into sole caller
target/i386: remove trailing 1 from gen_{j, cmov, set}cc1
target/i386: unify REP and REPZ/REPNZ generation
target/i386: unify choice between single and repeated string instructions
target/i386: reorganize ops emitted by do_gen_rep, drop repz_opt
target/i386: tcg: move gen_set/reset_* earlier in the file
target/i386: fix RF handling for string instructions
target/i386: make cc_op handling more explicit for repeated string
instructions.
target/i386: do not use gen_op_jz_ecx for repeated string operations
target/i386: optimize CX handling in repeated string operations
target/i386: execute multiple REP/REPZ iterations without leaving TB
target/i386: pull computation of string update value out of loop
target/i386: extract common bits of gen_repz/gen_repz_nz
target/i386: avoid using s->tmp0 for add to implicit registers
rust: vmstate: add new type safe implementation
rust: vmstate: implement VMState for non-leaf types
rust: vmstate: add varray support to vmstate_of!
rust: vmstate: implement Zeroable for VMStateField
rust: vmstate: implement VMState for scalar types
rust: vmstate: add public utility macros to implement VMState
rust: qemu_api: add vmstate_struct
rust: pl011: switch vmstate to new-style macros
rust: vmstate: remove translation of C vmstate macros
rust: vmstate: make order of parameters consistent in vmstate_clock
rust: prefer NonNull::new to assertions
rust: pl011: remove unnecessary "extern crate"
rust: pl011: hide unnecessarily "pub" items from outside pl011::device
rust: pl011: extract conversion to RegisterOffset
rust: pl011: extract CharBackend receive logic into a separate function
rust: pl011: pull interrupt updates out of read/write ops
rust: pl011: extract PL011Registers
rust: pl011: wrap registers with BqlRefCell
rust: pl011: remove duplicate definitions
rust: pl011: pull device-specific code out of MemoryRegionOps callbacks
rust: pl011: drop use of ControlFlow
rust: qdev: make reset take a shared reference
gitlab-ci: include full Rust backtraces in test runs
Tao Su (4):
target/i386: Introduce SierraForest-v2 model
target/i386: Export BHI_NO bit to guests
target/i386: Add new CPU model ClearwaterForest
docs: Add GNR, SRF and CWF CPU models
Zhao Liu (7):
stub: Fix build failure with --enable-user --disable-system --enable-tools
rust/qdev: Make REALIZE safe
rust/pl011: Avoid bindings::*
memattrs: Convert unspecified member to bool
memattrs: Check the size of MemTxAttrs
rust/zeroable: Implement Zeroable with const_zero macro
rust: qemu-api: add sub-subclass to the integration tests
docs/system/cpu-models-x86.rst.inc | 50 ++-
include/exec/memattrs.h | 21 +-
target/i386/cpu.h | 33 +-
target/i386/cpu.c | 156 +++++++-
target/i386/tcg/translate.c | 363 ++++++++++-------
target/i386/tcg/emit.c.inc | 55 +--
.gitlab-ci.d/buildtest-template.yml | 1 +
rust/hw/char/pl011/src/device.rs | 515 +++++++++++++-----------
rust/hw/char/pl011/src/device_class.rs | 73 ++--
rust/hw/char/pl011/src/lib.rs | 69 ++--
rust/hw/char/pl011/src/memory_ops.rs | 25 +-
rust/qemu-api/src/prelude.rs | 2 +
rust/qemu-api/src/qdev.rs | 16 +-
rust/qemu-api/src/qom.rs | 21 +-
rust/qemu-api/src/vmstate.rs | 700 +++++++++++++++++++++------------
rust/qemu-api/src/zeroable.rs | 118 +++---
rust/qemu-api/tests/tests.rs | 56 ++-
stubs/meson.build | 4 +-
18 files changed, 1423 insertions(+), 855 deletions(-)
--
2.48.1
- [PULL v3 00/49] i386, Rust changes for 2025-01-24,
Paolo Bonzini <=