Rust 1.83 allows more functions to be marked const.
Fix clippy with bumped minimum supported Rust version.
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/20250908105005.2119297-5-pbonz...@redhat.com
Signed-off-by: Paolo Bonzini
---
rust/bits/src/lib.rs| 6 +++---
rust/qemu-ap
Adds a functional test for the IBM PPE42 instructions which
downloads a test image from a public github repo and then
loads and executes the image.
(see https://github.com/milesg-github/ppe42-tests for details)
Test status is checked by periodically issuing 'info register'
commands and checking th
On Fri, Sep 12, 2025 at 12:00:13PM +0200, Luc Michel wrote:
> Refactor the CAN controllers creation using the VersalMap structure.
>
> Note that the connection to the CRL is removed for now and will be
> re-added by next commits.
>
> The xlnx-versal-virt machine now dynamically creates the correc
On Fri, 2025-09-12 at 04:41 -0400, Michael S. Tsirkin wrote:
> > The patch series in its current form provides no way to disable
> > the console size functionality,
>
> Well I see the console-size property, no?
That only disables the VIRTIO_CONSOLE_F_SIZE feature flag, but
VIRTIO_CONSOLE_RESIZE
Add a way to configure the MP affinity value of the CPUs given their
core and cluster IDs. For the Versal APU CPUs, the MP affinity value is
given by the core ID in Aff0.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
---
hw/arm/xlnx-versal.c | 16
1 file changed, 16
Adds a test machine for the IBM PPE42 processor, including a
DEC, FIT, WDT and 512 KiB of ram.
The purpose of this machine is only to provide a generic platform
for testing instructions of the recently added PPE42 processor
model which is used extensively in the IBM Power9, Power10 and
future Pow
On Fri, 22 Aug 2025 at 16:17, Luc Michel wrote:
>
> Add support for the ARM Cortex-A78AE CPU.
>
> Signed-off-by: Luc Michel
> ---
> target/arm/tcg/cpu64.c | 79 ++
> 1 file changed, 79 insertions(+)
>
> diff --git a/target/arm/tcg/cpu64.c b/target/arm/tcg/
Commit [1] made qemu fail with abort:
xen_evtchn_set_gsi: Assertion `bql_locked()' failed.
when running ./tests/functional/x86_64/test_kvm_xen.py tests.
To fix it make sure that BQL is held when manipulating IRQs.
1)
Fixes: 7defb58baf (hpet: switch to fine-grained device locking)
Reported-by: D
Fix two migration issues for virtual machines in KVM mode:
1.It saves and restores the vCPU's privilege mode to ensure that the
vCPU's privilege mode is correct after migration.
2.It saves and restores the vCPU's mp_state (runnable or stopped) and
includes this state in the migration sequence, up
From: Francisco Iglesias
Introduce a 'first-cpu-index' property for specifying the first QEMU CPU
connected to the GICv3. This makes it possible to have multiple instances
of the GICv3 connected to different CPU clusters.
For KVM, mark this property has unsupported. It probably does not make
muc
On Mon, Sep 08, 2025 at 12:49:55PM +0200, Paolo Bonzini wrote:
> Date: Mon, 8 Sep 2025 12:49:55 +0200
> From: Paolo Bonzini
> Subject: [PATCH 23/33] rust: split "system" crate
> X-Mailer: git-send-email 2.51.0
>
> From: Marc-André Lureau
>
> Signed-off-by: Marc-André Lureau
> Link:
> https:/
Hi all,
Thanks Richard for the review. In patch v8:
Richard gave some good improvements, but I don't have time or energy to
do them now. So this patch only fixes the clear and easy problems first.
1. Use the right TCGv type for each variable — for example, make mask_elem
type TCGv_i64.
2. Us
Filip Hejsek writes:
> The correct type for opaque pointer is gpointer,
> not gpointer * (which is a pointer to a pointer).
>
> Signed-off-by: Filip Hejsek
Reviewed-by: Alex Bennée
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
Alex Bennée writes:
> To continue our GitLab Open Source Program license we need to pass an
> automated license check for all repos under qemu-project. While U-Boot
> is clearly GPLv2 rather than fight with the automated validation
> script just move the mirror across to a separate project.
>
> S
From: Chao Liu
This case, it copied 64 bytes from a0 to a1 with vlsseg8e32.
Signed-off-by: Chao Liu
Signed-off-by: Nicholas Piggin
Tested-by: Eric Biggers
---
tests/tcg/riscv64/Makefile.softmmu-target | 7 +-
tests/tcg/riscv64/test-vlsseg8e32.S | 107 ++
2 files c
On Sat, 13 Sept 2025 at 09:12, Paolo Bonzini wrote:
>
> The following changes since commit 190d5d7fd725ff754f94e8e0cbfb69f279c82b5d:
>
> Merge tag 'pull-request-2025-09-09' of https://gitlab.com/thuth/qemu into
> staging (2025-09-11 12:41:01 +0100)
>
> are available in the Git repository at:
>
This commit improves the performance of QEMU when emulating strided vector
loads and stores by substituting the call for the helper function with the
generation of equivalent TCG operations.
PS:
An implementation is permitted to cause an illegal instruction if vstart
is not 0 and it is set to a v
On Thu, Sep 11, 2025 at 12:19:59PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> qio_channel_readv_full() guarantees BLOCKING and CLOEXEC states for
> incoming descriptors, no reason to call extra ioctls.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> chardev/char-socket.c | 14 -
There is no reason for some accelerators to use qemu_process_cpu_events_common
(which is separated from qemu_process_cpu_events() specifically for round
robin TCG). They can also check for events directly on the first pass through
the loop, instead of setting cpu->exit_request to true.
Reviewed-b
From: Wilfred Mallawa
This patch extends the existing support we have for NVMe with only DoE
to also add support to SPDM over the NVMe Security Send/Recv commands.
With the new definition of the `spdm-trans` argument, users can specify
`spdm_trans=nvme` or `spdm_trans=doe`. This allows us to sel
There are also some files available in tests/vmstate-static-checker-data/
which were used in the past to verify the functionality of the checker
script. Move them to tests/data/vmstate-static-checker now and add an
automated test that checks for the expected output when using these files
with the s
On Tue, Sep 9, 2025 at 6:51 AM Jan Kiszka wrote:
> From: Jan Kiszka
>
> Alignment rules apply the the individual partitions (user, boot, later
> on also RPMB) and depend both on the size of the image and the type of
> the device. Up to and including 2GB, the power-of-2 rule applies to the
> user
From: Daniel P. Berrangé
If the 'QEMU_TEST_REFRESH_CACHE' environment variable is set, then
ignore any existing cached asset and download a fresh copy.
This can be used to selectively refresh assets if set before running
a single test script.
Reviewed-by: Thomas Huth
Signed-off-by: Daniel P. B
On Thu, 11 Sep 2025, Peter Maydell wrote:
On Thu, 11 Sept 2025 at 17:29, Sebastian Ott wrote:
On Thu, 11 Sep 2025, Peter Maydell wrote:
On Thu, 11 Sept 2025 at 16:59, Sebastian Ott wrote:
On Thu, 11 Sep 2025, Peter Maydell wrote:
On Thu, 11 Sept 2025 at 15:49, Sebastian Ott wrote:
This
v5:
- Patch 36 (xlnx-versal-crl versal2 version): replaced `return NULL'
with a `g_assert_not_reached()' in the versal2_decode_periph_rst
function. [Phil]
- Fixed remaining memory leaks in the Versal SoC by adding a finalize
function. [Peter]
- Patch 39 (cortex-a78ae addition):
> -Original Message-
> From: Eric Auger
> Sent: 05 September 2025 09:43
> To: qemu-...@nongnu.org; qemu-devel@nongnu.org; Shameer Kolothum
>
> Cc: peter.mayd...@linaro.org; Jason Gunthorpe ; Nicolin
> Chen ; ddut...@redhat.com; berra...@redhat.com;
> Nathan Chen ; Matt Ochs ;
> smost...
On 9/12/25 23:09, Michael Tokarev wrote:
On 12.09.2025 23:49, Helge Deller wrote:
On 9/12/25 22:35, Michael Tokarev wrote:
Does seabios-hppa needs ACPI?
No.
When building, it embeds the acpi tables (src/fw/acpi-dsdt.hex etc).
That table can be dropped.
If you come up with a patch to build
Add a note in the DTB section explaining how to dump the generated DTB
using the dumpdtb machine option.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
---
docs/system/arm/xlnx-versal-virt.rst | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/docs/system/arm/
On Fri, Sep 12, 2025 at 04:41:05AM -0400, Michael S. Tsirkin wrote:
> On Fri, Sep 12, 2025 at 05:39:45AM +0200, Filip Hejsek wrote:
> > The goal of this series is to have a resizable terminal into a guest
> > without having to set up networking and using, e.g. ssh.
> >
> > The virtio spec allows a
On Thu, Sep 11, 2025 at 04:36:14PM +0800, Xie Bo wrote:
> This series(v7) replaces the earlier series patch"[PATCH v6 for v10.0.0 0/2]
> target/riscv: Fix riscv64 kvm migration".
>
> Changes since v6:
> - Patch 1: allow boot CPU to be randomly selected on each reset
> - Patch 2: unchanged; keep Re
Refactor the creation of virtio devices. Use the accessors provided by
the Versal SoC to retrieve the reserved MMIO and IRQ space. Those are
defined in the VersalMap structure.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
---
include/hw/arm/xlnx-versal.h | 3 +++
hw/arm/xlnx-versa
Refactor the USB controller creation using the VersalMap structure.
Note that the connection to the CRL is removed for now and will be
re-added by next commits.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
---
include/hw/arm/xlnx-versal.h | 5 ---
hw/arm/xlnx-versal-virt.c| 5
Add the versal2 version of the CRL device. For the implemented part, it
is similar to the versal version but drives reset line of more devices.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
Reviewed-by: Philippe Mathieu-Daudé
---
include/hw/arm/xlnx-versal-version.h | 1 +
includ
Refactor the ADMA creation using the VersalMap structure.
Note that the connection to the CRL is removed for now and will be
re-added by next commits.
Signed-off-by: Luc Michel
Reviewed-by: Francisco Iglesias
---
include/hw/arm/xlnx-versal.h | 2 -
hw/arm/xlnx-versal-virt.c| 28 --
From: Marc-André Lureau
Avoid the need to import "qemu_macros".
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-21-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/bits/src/lib.rs | 7 +--
1 file changed, 5 in
From: Marc-André Lureau
Guess the name of the subdir from the manifest directory, instead of
hard-coding it. In the following commits, other crates can then link to
this file, instead of maintaining their own copy.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147
This is for the purpose of getting an easy-to-use base for future
development. The plan is:
- that Debian will require trixie to enable Rust usage
- that Ubuntu will backport 1.83 to its 22.04 and 24.04 versions
(https://bugs.launchpad.net/ubuntu/+source/rustc-1.83/+bug/2120318)
Marc-André is w
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-7-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/qemu-api/wrapper.h | 6 ---
ru
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-19-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/hw/char/pl011/wrapper.h | 51 ++
rust/Cargo.lock
They were stabilized in Rust 1.79.0.
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/20250908105005.2119297-6-pbonz...@redhat.com
Signed-off-by: Paolo Bonzini
---
docs/devel/rust.rst| 9 +++--
rust/qemu-api/src/callbacks.rs | 27 +--
rust/qemu-api/
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-15-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/qemu-api/wrapper.h | 3 --
From: Marc-André Lureau
The global allocator has always been disabled. There is no clear reason
Rust and C should use the same allocator. Allocations made from Rust
must be freed by Rust, and same for C, otherwise we head into troubles.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kerne
From: Xiaoyao Li
Kirill Martynov reported assertation in cpu_asidx_from_attrs() being hit
when x86_cpu_dump_state() is called to dump the CPU state[*]. It happens
when the CPU is in SMM and KVM emulation failure due to misbehaving
guest.
The root cause is that QEMU i386 never enables the SMM add
From: Xiaoyao Li
Current QEMU unconditionally sets the guest_memfd_offset of KVMSlot in
kvm_set_phys_mem(), which leads to the trace of kvm_set_user_memory looks:
kvm_set_user_memory AddrSpace#0 Slot#4 flags=0x2 gpa=0xe size=0x2
ua=0x7f5840de guest_memfd=-1 guest_memfd_offset=0x3e00
This is now possible since the hwcore integration tests do not
link the system crate anymore.
Signed-off-by: Paolo Bonzini
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/20250908105005.2119297-34-pbonz...@redhat.com
Signed-off-by: Paolo Bonzini
---
rust/system/src/memory.rs | 5 -
1
From: Xiaoyao Li
Define X86ASIdx as enum, like ARM's ARMASIdx, so that it's clear index 0
is for memory and index 1 is for SMM.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Zhao Liu
Tested-By: Kirill Martynov
Signed-off-by: Xiaoyao Li
Link: https://lore.kernel.org/r/20250730095253.183341
From: Marc-André Lureau
This will allow to split vmstate to a standalone crate next.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-10-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/qemu-api/src/cell.rs| 6
From: Xiaoyao Li
While running the kvm-unit-tests on Intel platforms with "split lock
disable" feature, every test triggers a kernel warning of
x86/split lock detection: #AC: qemu-system-x86_64/373232 took a split_lock
trap at address: 0x1e3
Hack KVM by exiting to QEMU on split lock #AC, we
From: Xiaoyao Li
x86_machine_is_smm_enabled() checks the KVM_CAP_X86_SMM for KVM
case. No need to check KVM_CAP_X86_SMM in kvm_arch_init().
So just drop the check of KVM_CAP_X86_SMM to simplify the code.
Signed-off-by: Xiaoyao Li
Link: https://lore.kernel.org/r/20250729062014.1669578-3-xiaoyao
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
include/hw/core/cpu.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 23bd02277f4..8b57bcd92c9 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
Arm leaves around some functions that use cpu_interrupt(), even for
user-mode emulation when the code is unreachable. Pull out the
system-mode implementation to a separate file, and add stubs for
CONFIG_USER_ONLY.
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/arm/inter
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-18-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/Cargo.lock| 1 -
rust/hw/timer/hpet/Cargo.toml | 1 -
rust/hw/timer/hpet/
Open coding cpu_reset_interrupt() can cause bugs if the BQL is not
taken, for example i386 has the call chain kvm_cpu_exec() ->
kvm_put_vcpu_events() -> kvm_arch_put_registers().
Reviewed-by: Igor Mammedov
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Signed-off-by: Paolo B
From: Marc-André Lureau
Unfortunately, an example had to be compile-time disabled, since it
relies on higher level crates (qdev, irq etc). The alternative is
probably to move that code to an example in qemu-api or elsewere and
make a link to it, or include_str.
Signed-off-by: Marc-André Lureau
From: Xiaoyao Li
Zero out the entire mem explicitly before it's used, to ensure the unused
feilds (pad1, pad2) are all zeros. Otherwise, it might cause problem when
the pad fields are extended by future KVM.
Fixes: ce5a983233b4 ("kvm: Enable KVM_SET_USER_MEMORY_REGION2 for memslot")
Signed-off-b
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-14-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/chardev/wrapper.h| 2
From: Marc-André Lureau
Since "qemu_api" is no longer the unique crate to provide APIs.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-17-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS
Round-robin TCG is calling into cpu_exit() directly. In preparation
for making cpu_exit() usable from all accelerators, define a generic
thread-kick function for TCG which is used directly in the multi-threaded
case, and through CPU_FOREACH in the round-robin case.
Use it also for user-mode emula
Add a user-mode emulation version of the function. More will be
added later, for now it is just process_queued_cpu_work.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
bsd-user/aarch64/target_arch_cpu.h | 2 +-
bsd-user/arm/target_arch_cpu.
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-6-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/Cargo.lock
From: Igor Mammedov
Commit [1] made qemu fail with abort:
xen_evtchn_set_gsi: Assertion `bql_locked()' failed.
when running ./tests/functional/x86_64/test_kvm_xen.py tests.
To fix it make sure that BQL is held when manipulating IRQs.
Fixes: 7defb58baf (hpet: switch to fine-grained device lock
From: Manos Pitsidianakis
Add derive macro for declaring qdev properties directly above the field
definitions. To do this, we split DeviceImpl::properties method on a
separate trait so we can implement only that part in the derive macro
expansion (we cannot partially implement the DeviceImpl trai
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-2-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
docs/devel/rust.rst | 2 +-
rust/Cargo.toml | 1 +
2 files changed, 2 insertions(+), 1 delet
Now that const_refs_static can be assumed, convert the members of
the DeviceImpl trait from functions to constants. This lets the
compiler know that they have a 'static lifetime, and removes the
need for the weird "Box::leak()".
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/2025090810500
Writes to interrupt_request used non-atomic accesses, but there are a
few cases where the access was not protected by the BQL. Now that
there is a full set of helpers, it's easier to guarantee that
interrupt_request accesses are fully atomic, so just drop the
requirement instead of fixing them.
R
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-16-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/hw/core/wrapper.h| 3
Reads and writes cpu->exit_request do not use a load-acquire/store-release
pair right now, but this means that cpu_exit() may not write cpu->exit_request
after any flags that are read by the vCPU thread.
Probably everything is protected one way or the other by the BQL, because
cpu->exit_request le
From: Marc-André Lureau
This will allow to split vmstate to a standalone crate next.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-9-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/qemu-api/src/qom.rs | 3
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-23-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
docs/devel/rust.rst | 61 -
1 file changed, 32 inse
Right now, cpu_exit() is not usable from all accelerators because it
includes a TCG-specific thread kick. In fact, cpu_exit() doubles as
the TCG thread-kick via tcg_kick_vcpu_thread().
In preparation for changing that, inline cpu_exit() into
tcg_kick_vcpu_thread(). The direction of the calls can
It is not necessary anymore to explicitly list procedural macro crates
when doing the final link using rustc.
Signed-off-by: Paolo Bonzini
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/20250908105005.2119297-33-pbonz...@redhat.com
Signed-off-by: Paolo Bonzini
---
rust/hw/char/pl011/mes
It is not used by user-mode emulation and is the only caller of
cpu_interrupt() in qemu-ppc* binaries.
Reviewed-by: Igor Mammedov
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/ppc/helper_regs.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/ppc/helper_reg
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
accel/tcg/user-exec.c | 5 -
1 file changed, 5 deletions(-)
diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
index 748bfab04a7..66c25fba7dd 100644
--- a/accel/tcg/user-exec.c
+++ b
From: Zhao Liu
Similar to MemoryRegionOps, the builder pattern has two advantages:
1) it makes it possible to build a VMStateDescription that knows which
types it will be invoked on; 2) it provides a way to wrap the callbacks
and let devices avoid "unsafe".
Unfortunately, building a static VMSta
From: Xiaoyao Li
Commit 8f54bbd0b4d9 ("x86: Check for machine state object class before
typecasting it") added back the object_dynamic_cast() check before
casting MachineState to X86MachineState. And commit 035d1ef26565 ("i386:
Add ratelimit for bus locks acquired in guest") followed it.
The rea
It is not used by user-mode emulation and is the only caller of
cpu_interrupt() in qemu-sparc* binaries.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
target/sparc/int32_helper.c | 2 ++
target/sparc/int64_helper.c | 2 ++
2 files changed,
Reviewed-by: Zhao Liu
Link: https://lore.kernel.org/r/20250908105005.2119297-4-pbonz...@redhat.com
Signed-off-by: Paolo Bonzini
---
docs/about/build-platforms.rst | 15 ---
docs/devel/rust.rst| 14 +-
meson.build| 6 +++---
clippy.toml
From: Marc-André Lureau
This is just a bit nicer.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-22-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
docs/devel/rust.rst | 2 +-
rust/Cargo.lock
From: Marc-André Lureau
The crate purpose is only to provide integration tests at this point,
that can't easily be moved to a specific crate.
It's also often a good practice to have a single integration test crate
(see for ex https://github.com/rust-lang/cargo/issues/4867)
Drop README.md, use d
From: Xiaoyao Li
It returns more accruate result on checking KVM_CAP_GUEST_MEMFD and
KVM_CAP_USER_MEMORY2 on VM instance instead of on KVM platform.
Signed-off-by: Xiaoyao Li
Link: https://lore.kernel.org/r/20250728115707.1374614-2-xiaoyao...@intel.com
Signed-off-by: Paolo Bonzini
---
accel/k
From: Marc-André Lureau
This will allow to split vmstate to a standalone crate next.
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-8-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/qemu-api/src/qdev.rs| 3
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-11-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/migration/wrapper.h
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Link:
https://lore.kernel.org/r/20250827104147.717203-4-marcandre.lur...@redhat.com
Reviewed-by: Zhao Liu
Signed-off-by: Paolo Bonzini
---
rust/Cargo.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/rust/Cargo.toml b/rust/Cargo
The VMStateDescriptionBuilder already needs const_refs_static, so
use it to remove the need for vmstate_clock! and vmstate_struct!,
as well as to simplify the implementation for scalars.
If the consts in the VMState trait can reference to static
VMStateDescription, scalars do not need the info_enu
Do so before extending it to the user-mode emulators, where there is no
such thing as an "I/O thread".
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
include/hw/core/cpu.h | 2 +-
include/system/cpus.h | 4 ++--
accel/dummy-cpus.c| 2 +-
Whenever user-mode emulation needs to go all the way out of the cpu
exec loop, it uses cpu_exit(), which already sets cpu->exit_request.
Therefore, there is no need for tcg_kick_vcpu_thread() to set
cpu->exit_request again outside system emulation.
Reviewed-by: Igor Mammedov
Signed-off-by: Paolo
From: Marc-André Lureau
Signed-off-by: Marc-André Lureau
Reviewed-by: Zhao Liu
Link:
https://lore.kernel.org/r/20250827104147.717203-13-marcandre.lur...@redhat.com
Signed-off-by: Paolo Bonzini
---
MAINTAINERS | 1 +
rust/qom/wrapper.h| 27 ++
Now that cpu_exit() actually kicks all accelerators, use it whenever
the message to another thread is processed in qemu_wait_io_event().
Reviewed-by: Richard Henderson
Signed-off-by: Paolo Bonzini
---
cpu-common.c| 3 ++-
hw/ppc/ppc.c| 2 ++
hw/ppc/spapr_hcall.c
The following changes since commit 190d5d7fd725ff754f94e8e0cbfb69f279c82b5d:
Merge tag 'pull-request-2025-09-09' of https://gitlab.com/thuth/qemu into
staging (2025-09-11 12:41:01 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you t
Now that TCG has its own kick function, make cpu_exit() do the right kick
for all accelerators.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Richard Henderson
Reviewed-by: Igor Mammedov
Signed-off-by: Paolo Bonzini
---
hw/core/cpu-common.c | 4 +---
1 file changed, 1 insertion(+), 3 delet
Make the code common to all accelerators: after seeing cpu->exit_request
set to true, accelerator code needs to reach qemu_process_cpu_events_common().
So for the common cases where they use qemu_process_cpu_events(), go ahead and
clear it in there. Note that the cheap qatomic_set() is enough bec
91 matches
Mail list logo