History log of /qemu/accel/ (Results 1 – 25 of 1170)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
94da7b6e18-Apr-2024 Zhao Liu <zhao1.liu@intel.com>

accel/tcg/icount-common: Consolidate the use of warn_report_once()

Use warn_report_once() to get rid of the static local variable "notified".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-I

accel/tcg/icount-common: Consolidate the use of warn_report_once()

Use warn_report_once() to get rid of the static local variable "notified".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Message-ID: <20240418100716.1085491-1-zhao1.liu@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

565f476829-Feb-2024 Isaku Yamahata <isaku.yamahata@intel.com>

kvm/tdx: Ignore memory conversion to shared of unassigned region

TDX requires vMMIO region to be shared. For KVM, MMIO region is the region
which kvm memslot isn't assigned to (except in-kernel emu

kvm/tdx: Ignore memory conversion to shared of unassigned region

TDX requires vMMIO region to be shared. For KVM, MMIO region is the region
which kvm memslot isn't assigned to (except in-kernel emulation).
qemu has the memory region for vMMIO at each device level.

While OVMF issues MapGPA(to-shared) conservatively on 32bit PCI MMIO
region, qemu doesn't find corresponding vMMIO region because it's before
PCI device allocation and memory_region_find() finds the device region, not
PCI bus region. It's safe to ignore MapGPA(to-shared) because when guest
accesses those region they use GPA with shared bit set for vMMIO. Ignore
memory conversion request of non-assigned region to shared and return
success. Otherwise OVMF is confused and panics there.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240229063726.610065-35-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

c5d9425e29-Feb-2024 Isaku Yamahata <isaku.yamahata@intel.com>

kvm/tdx: Don't complain when converting vMMIO region to shared

Because vMMIO region needs to be shared region, guest TD may explicitly
convert such region from private to shared. Don't complain suc

kvm/tdx: Don't complain when converting vMMIO region to shared

Because vMMIO region needs to be shared region, guest TD may explicitly
convert such region from private to shared. Don't complain such
conversion.

Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240229063726.610065-34-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

c15e568420-Mar-2024 Chao Peng <chao.p.peng@linux.intel.com>

kvm: handle KVM_EXIT_MEMORY_FAULT

Upon an KVM_EXIT_MEMORY_FAULT exit, userspace needs to do the memory
conversion on the RAMBlock to turn the memory into desired attribute,
switching between private

kvm: handle KVM_EXIT_MEMORY_FAULT

Upon an KVM_EXIT_MEMORY_FAULT exit, userspace needs to do the memory
conversion on the RAMBlock to turn the memory into desired attribute,
switching between private and shared.

Currently only KVM_MEMORY_EXIT_FLAG_PRIVATE in flags is valid when
KVM_EXIT_MEMORY_FAULT happens.

Note, KVM_EXIT_MEMORY_FAULT makes sense only when the RAMBlock has
guest_memfd memory backend.

Note, KVM_EXIT_MEMORY_FAULT returns with -EFAULT, so special handling is
added.

When page is converted from shared to private, the original shared
memory can be discarded via ram_block_discard_range(). Note, shared
memory can be discarded only when it's not back'ed by hugetlb because
hugetlb is supposed to be pre-allocated and no need for discarding.

Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
Co-developed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>

Message-ID: <20240320083945.991426-13-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

bd3bcf6920-Mar-2024 Xiaoyao Li <xiaoyao.li@intel.com>

kvm/memory: Make memory type private by default if it has guest memfd backend

KVM side leaves the memory to shared by default, which may incur the
overhead of paging conversion on the first visit of

kvm/memory: Make memory type private by default if it has guest memfd backend

KVM side leaves the memory to shared by default, which may incur the
overhead of paging conversion on the first visit of each page. Because
the expectation is that page is likely to private for the VMs that
require private memory (has guest memfd).

Explicitly set the memory to private when memory region has valid
guest memfd backend.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Message-ID: <20240320083945.991426-16-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

ce5a983220-Mar-2024 Chao Peng <chao.p.peng@linux.intel.com>

kvm: Enable KVM_SET_USER_MEMORY_REGION2 for memslot

Switch to KVM_SET_USER_MEMORY_REGION2 when supported by KVM.

With KVM_SET_USER_MEMORY_REGION2, QEMU can set up memory region that
backend'ed both

kvm: Enable KVM_SET_USER_MEMORY_REGION2 for memslot

Switch to KVM_SET_USER_MEMORY_REGION2 when supported by KVM.

With KVM_SET_USER_MEMORY_REGION2, QEMU can set up memory region that
backend'ed both by hva-based shared memory and guest memfd based private
memory.

Signed-off-by: Chao Peng <chao.p.peng@linux.intel.com>
Co-developed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240320083945.991426-10-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

15f7a80c20-Mar-2024 Xiaoyao Li <xiaoyao.li@intel.com>

RAMBlock: Add support of KVM private guest memfd

Add KVM guest_memfd support to RAMBlock so both normal hva based memory
and kvm guest memfd based private memory can be associated in one RAMBlock.

RAMBlock: Add support of KVM private guest memfd

Add KVM guest_memfd support to RAMBlock so both normal hva based memory
and kvm guest memfd based private memory can be associated in one RAMBlock.

Introduce new flag RAM_GUEST_MEMFD. When it's set, it calls KVM ioctl to
create private guest_memfd during RAMBlock setup.

Allocating a new RAM_GUEST_MEMFD flag to instruct the setup of guest memfd
is more flexible and extensible than simply relying on the VM type because
in the future we may have the case that not all the memory of a VM need
guest memfd. As a benefit, it also avoid getting MachineState in memory
subsystem.

Note, RAM_GUEST_MEMFD is supposed to be set for memory backends of
confidential guests, such as TDX VM. How and when to set it for memory
backends will be implemented in the following patches.

Introduce memory_region_has_guest_memfd() to query if the MemoryRegion has
KVM guest_memfd allocated.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-ID: <20240320083945.991426-7-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

0811baed20-Mar-2024 Xiaoyao Li <xiaoyao.li@intel.com>

kvm: Introduce support for memory_attributes

Introduce the helper functions to set the attributes of a range of
memory to private or shared.

This is necessary to notify KVM the private/shared attri

kvm: Introduce support for memory_attributes

Introduce the helper functions to set the attributes of a range of
memory to private or shared.

This is necessary to notify KVM the private/shared attribute of each gpa
range. KVM needs the information to decide the GPA needs to be mapped at
hva-based shared memory or guest_memfd based private memory.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240320083945.991426-11-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

72853afc29-Feb-2024 Xiaoyao Li <xiaoyao.li@intel.com>

trace/kvm: Split address space and slot id in trace_kvm_set_user_memory()

The upper 16 bits of kvm_userspace_memory_region::slot are
address space id. Parse it separately in trace_kvm_set_user_memor

trace/kvm: Split address space and slot id in trace_kvm_set_user_memory()

The upper 16 bits of kvm_userspace_memory_region::slot are
address space id. Parse it separately in trace_kvm_set_user_memory().

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Message-ID: <20240229063726.610065-5-xiaoyao.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

a99c0c6618-Mar-2024 Paolo Bonzini <pbonzini@redhat.com>

KVM: remove kvm_arch_cpu_check_are_resettable

Board reset requires writing a fresh CPU state. As far as KVM is
concerned, the only thing that blocks reset is that CPU state is
encrypted; therefore,

KVM: remove kvm_arch_cpu_check_are_resettable

Board reset requires writing a fresh CPU state. As far as KVM is
concerned, the only thing that blocks reset is that CPU state is
encrypted; therefore, kvm_cpus_are_resettable() can simply check
if that is the case.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

5c3131c318-Mar-2024 Paolo Bonzini <pbonzini@redhat.com>

KVM: track whether guest state is encrypted

So far, KVM has allowed KVM_GET/SET_* ioctls to execute even if the
guest state is encrypted, in which case they do nothing. For the new
API using VM typ

KVM: track whether guest state is encrypted

So far, KVM has allowed KVM_GET/SET_* ioctls to execute even if the
guest state is encrypted, in which case they do nothing. For the new
API using VM types, instead, the ioctls will fail which is a safer and
more robust approach.

The new API will be the only one available for SEV-SNP and TDX, but it
is also usable for SEV and SEV-ES. In preparation for that, require
architecture-specific KVM code to communicate the point at which guest
state is protected (which must be after kvm_cpu_synchronize_post_init(),
though that might change in the future in order to suppor migration).
From that point, skip reading registers so that cpu->vcpu_dirty is
never true: if it ever becomes true, kvm_arch_put_registers() will
fail miserably.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


kvm/kvm-all.c
/qemu/hw/arm/virt.c
/qemu/hw/core/machine.c
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/m68k/virt.c
/qemu/hw/pci-host/q35.c
/qemu/hw/ppc/pef.c
/qemu/hw/ppc/spapr.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/include/exec/confidential-guest-support.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/standard-headers/asm-x86/bootparam.h
/qemu/include/standard-headers/asm-x86/kvm_para.h
/qemu/include/standard-headers/asm-x86/setup_data.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/virtio_gpu.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_snd.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/kvm_int.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/sve_context.h
/qemu/linux-headers/asm-generic/bitsperlong.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-headers/asm-mips/kvm.h
/qemu/linux-headers/asm-powerpc/kvm.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/linux/bits.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/psp-sev.h
/qemu/linux-headers/linux/vhost.h
/qemu/scripts/update-linux-headers.sh
/qemu/system/runstate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/kvm/kvm-cpu.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/meson.build
/qemu/target/i386/sev.c
/qemu/target/i386/sev.h
/qemu/target/s390x/kvm/pv.c
/qemu/target/s390x/kvm/pv.h
1e1e487922-Mar-2024 Paolo Bonzini <pbonzini@redhat.com>

kvm: use configs/ definition to conditionalize debug support

If an architecture adds support for KVM_CAP_SET_GUEST_DEBUG but QEMU does not
have the necessary code, QEMU will fail to build after upda

kvm: use configs/ definition to conditionalize debug support

If an architecture adds support for KVM_CAP_SET_GUEST_DEBUG but QEMU does not
have the necessary code, QEMU will fail to build after updating kernel headers.
Avoid this by using a #define in config-target.h instead of KVM_CAP_SET_GUEST_DEBUG.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/Makefile
/qemu/VERSION
kvm/kvm-accel-ops.c
kvm/kvm-all.c
/qemu/backends/cryptodev-builtin.c
/qemu/configs/targets/aarch64-softmmu.mak
/qemu/configs/targets/i386-softmmu.mak
/qemu/configs/targets/ppc-softmmu.mak
/qemu/configs/targets/ppc64-softmmu.mak
/qemu/configs/targets/s390x-softmmu.mak
/qemu/configs/targets/x86_64-softmmu.mak
/qemu/ebpf/meson.build
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/nand.c
/qemu/hw/char/virtio-serial-bus.c
/qemu/hw/core/meson.build
/qemu/hw/display/meson.build
/qemu/hw/display/ramfb-stubs.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/mem/memory-device-stubs.c
/qemu/hw/mem/meson.build
/qemu/hw/misc/applesmc.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/sd/sdhci.c
/qemu/hw/usb/bus-stub.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/usb/meson.build
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-md-stubs.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/hw/virtio/virtio.h
/qemu/include/qemu/config-file.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/kvm_int.h
/qemu/include/sysemu/sysemu.h
/qemu/linux-user/signal.c
/qemu/meson.build
/qemu/migration/colo-stubs.c
/qemu/migration/meson.build
/qemu/monitor/meson.build
/qemu/monitor/qemu-config-qmp.c
/qemu/net/colo-stubs.c
/qemu/net/meson.build
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-version
/qemu/semihosting/meson.build
/qemu/semihosting/stubs-all.c
/qemu/semihosting/stubs-system.c
/qemu/stubs/fdset.c
/qemu/stubs/hotplug-stubs.c
/qemu/stubs/meson.build
/qemu/stubs/monitor-core.c
/qemu/stubs/monitor-internal.c
/qemu/stubs/qdev.c
/qemu/stubs/qtest.c
/qemu/stubs/replay-mode.c
/qemu/stubs/replay.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/tests/meson.build
/qemu/tests/unit/meson.build
/qemu/util/meson.build
/qemu/util/qemu-config.c
dcd092a006-Apr-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Improve can_do_io management

We already attempted to set and clear can_do_io before the first
and last insns, but only used the initial value of max_insns and
the call to translator_io_st

accel/tcg: Improve can_do_io management

We already attempted to set and clear can_do_io before the first
and last insns, but only used the initial value of max_insns and
the call to translator_io_start to find those insns.

Now that we track insn_start in DisasContextBase, and now that
we have emit_before_op, we can wait until we have finished
translation to identify the true first and last insns and emit
the sets of can_do_io at that time.

This fixes the case of a translation block which crossed a page
boundary, and for which the second page turned out to be mmio.
In this case we truncate the block, and the previous logic for
can_do_io could leave a block with a single insn with can_do_io
set to false, which would fail an assertion in cpu_io_recompile.

Reported-by: Jørgen Hansen <Jorgen.Hansen@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Jørgen Hansen <Jorgen.Hansen@wdc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e7face7006-Apr-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Add insn_start to DisasContextBase

This is currently target-specific for many; begin making it
target independent.

Tested-by: Jørgen Hansen <Jorgen.Hansen@wdc.com>
Reviewed-by: Philippe

accel/tcg: Add insn_start to DisasContextBase

This is currently target-specific for many; begin making it
target independent.

Tested-by: Jørgen Hansen <Jorgen.Hansen@wdc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...

e34f4d8708-Apr-2024 Igor Mammedov <imammedo@redhat.com>

kvm: error out of kvm_irqchip_add_msi_route() in case of full route table

subj is calling kvm_add_routing_entry() which simply extends
KVMState::irq_routes::entries[]
but doesn't check if number o

kvm: error out of kvm_irqchip_add_msi_route() in case of full route table

subj is calling kvm_add_routing_entry() which simply extends
KVMState::irq_routes::entries[]
but doesn't check if number of routes goes beyond limit the kernel
is willing to accept. Which later leads toi the assert

qemu-kvm: ../accel/kvm/kvm-all.c:1833: kvm_irqchip_commit_routes: Assertion `ret == 0' failed

typically it happens during guest boot for large enough guest

Reproduced with:
./qemu --enable-kvm -m 8G -smp 64 -machine pc \
`for b in {1..2}; do echo -n "-device pci-bridge,id=pci$b,chassis_nr=$b ";
for i in {0..31}; do touch /tmp/vblk$b$i;
echo -n "-drive file=/tmp/vblk$b$i,if=none,id=drive$b$i,format=raw
-device virtio-blk-pci,drive=drive$b$i,bus=pci$b ";
done; done`

While crash at boot time is bad, the same might happen at hotplug time
which is unacceptable.
So instead calling kvm_add_routing_entry() unconditionally, check first
that number of routes won't exceed KVM_CAP_IRQ_ROUTING. This way virtio
device insteads killin qemu, will gracefully fail to initialize device
as expected with following warnings on console:
virtio-blk failed to set guest notifier (-28), ensure -accel kvm is set.
virtio_bus_start_ioeventfd: failed. Fallback to userspace (slower).

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-ID: <20240408110956.451558-1-imammedo@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

9301969613-Mar-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

accel/tcg/plugin: Remove CONFIG_SOFTMMU_GATE definition

The CONFIG_SOFTMMU_GATE definition was never used, remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas H

accel/tcg/plugin: Remove CONFIG_SOFTMMU_GATE definition

The CONFIG_SOFTMMU_GATE definition was never used, remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240313213339.82071-2-philmd@linaro.org>

show more ...

dafa0ecc28-Mar-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Use CPUState.get_pc in cpu_io_recompile

Using log_pc produces the pc at the beginning of TB,
not the actual pc installed by cpu_restore_state_from_tb,
which could be any of the guest inst

accel/tcg: Use CPUState.get_pc in cpu_io_recompile

Using log_pc produces the pc at the beginning of TB,
not the actual pc installed by cpu_restore_state_from_tb,
which could be any of the guest instructions within TB.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/VERSION
tcg/translate-all.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/block/mirror.c
/qemu/block/qapi.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal.c
/qemu/chardev/char-io.c
/qemu/chardev/char-socket.c
/qemu/contrib/elf2dmp/addrspace.c
/qemu/contrib/elf2dmp/addrspace.h
/qemu/contrib/elf2dmp/download.c
/qemu/contrib/elf2dmp/download.h
/qemu/contrib/elf2dmp/main.c
/qemu/contrib/elf2dmp/pdb.c
/qemu/contrib/elf2dmp/pdb.h
/qemu/contrib/elf2dmp/qemu_elf.c
/qemu/contrib/elf2dmp/qemu_elf.h
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/howvec.c
/qemu/crypto/cipher-gcrypt.c.inc
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/docs/about/deprecated.rst
/qemu/docs/conf.py
/qemu/docs/devel/clocks.rst
/qemu/docs/devel/migration/CPR.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/main.rst
/qemu/docs/devel/nested-papr.txt
/qemu/docs/devel/tracing.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/nvme.rst
/qemu/docs/system/devices/vdpa-net.rst
/qemu/docs/system/introduction.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/s390x/cpu-topology.rst
/qemu/docs/system/target-ppc.rst
/qemu/ebpf/ebpf.c
/qemu/ebpf/ebpf.h
/qemu/ebpf/ebpf_rss-stub.c
/qemu/ebpf/ebpf_rss.c
/qemu/ebpf/ebpf_rss.h
/qemu/ebpf/meson.build
/qemu/ebpf/rss.bpf.skeleton.h
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user.c
/qemu/hw/acpi/acpi_generic_initiator.c
/qemu/hw/acpi/hmat.c
/qemu/hw/acpi/meson.build
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/spitz.c
/qemu/hw/arm/tosa.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/z2.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/m25p80.c
/qemu/hw/core/clock.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/loader-fit.c
/qemu/hw/core/machine-qmp-cmds.c
/qemu/hw/core/machine.c
/qemu/hw/core/numa.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/pcf8574.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/Kconfig
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/pc_sysfw.c
/qemu/hw/ide/ahci-internal.h
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ich.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/virt.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/e1000e_core.c
/qemu/hw/net/e1000e_core.h
/qemu/hw/net/igb.c
/qemu/hw/net/igb_core.c
/qemu/hw/net/igb_core.h
/qemu/hw/net/pcnet.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvme/meson.build
/qemu/hw/nvme/nguid.c
/qemu/hw/nvme/ns.c
/qemu/hw/nvme/nvme.h
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/pci-bridge/pci_expander_bridge.c
/qemu/hw/pci/pci.c
/qemu/hw/pci/pcie.c
/qemu/hw/pci/pcie_sriov.c
/qemu/hw/pci/shpc.c
/qemu/hw/pci/trace-events
/qemu/hw/ppc/mpc8544_guts.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_core.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/pnv_xscom.c
/qemu/hw/ppc/ppc.c
/qemu/hw/ppc/ppce500_spin.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_caps.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/riscv/virt.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/smbios/Kconfig
/qemu/hw/smbios/meson.build
/qemu/hw/smbios/smbios.c
/qemu/hw/smbios/smbios_legacy.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/cpr.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-balloon.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_pt_config_init.c
/qemu/include/exec/exec-all.h
/qemu/include/exec/ram_addr.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi_generic_initiator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/block/flash.h
/qemu/include/hw/clock.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/cxl/cxl_pci.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/gpio/pca9552.h
/qemu/include/hw/gpio/pca9552_regs.h
/qemu/include/hw/gpio/pca9554.h
/qemu/include/hw/gpio/pca9554_regs.h
/qemu/include/hw/gpio/pcf8574.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci/pcie_regs.h
/qemu/include/hw/pci/pcie_sriov.h
/qemu/include/hw/ppc/pnv_chip.h
/qemu/include/hw/ppc/pnv_core.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/vfio/vfio-container-base.h
/qemu/include/hw/virtio/vhost-vdpa.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/hw/virtio/virtio-iommu.h
/qemu/include/hw/virtio/virtio-net.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/io/channel-file.h
/qemu/include/migration/client-options.h
/qemu/include/migration/misc.h
/qemu/include/migration/register.h
/qemu/include/qemu/help-texts.h
/qemu/include/qemu/job.h
/qemu/include/qemu/typedefs.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/numa.h
/qemu/include/ui/console.h
/qemu/include/ui/kbd-state.h
/qemu/io/channel-file.c
/qemu/linux-user/aarch64/signal.c
/qemu/linux-user/alpha/signal.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hexagon/signal.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/i386/signal.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/loongarch64/signal.c
/qemu/linux-user/m68k/signal.c
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/signal.c
/qemu/linux-user/mips/signal.c
/qemu/linux-user/mmap.c
/qemu/linux-user/nios2/signal.c
/qemu/linux-user/openrisc/signal.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/riscv/signal.c
/qemu/linux-user/s390x/signal.c
/qemu/linux-user/sh4/signal.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/block.c
/qemu/migration/colo.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/meson.build
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/multifd-zero-page.c
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/rdma.c
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/monitor/hmp-cmds-target.c
/qemu/nbd/server.c
/qemu/net/af-xdp.c
/qemu/net/colo-compare.c
/qemu/net/trace-events
/qemu/net/vhost-vdpa.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/common.json
/qemu/qapi/control.json
/qemu/qapi/crypto.json
/qemu/qapi/cxl.json
/qemu/qapi/dump.json
/qemu/qapi/ebpf.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/meson.build
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qom.json
/qemu/qapi/replay.json
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/stats.json
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qemu-options.hx
/qemu/qga/commands-win32.c
/qemu/qga/qapi-schema.json
/qemu/roms/Makefile
/qemu/roms/edk2-build.config
/qemu/scripts/tracetool.py
/qemu/stubs/colo.c
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/subprojects/libvhost-user/libvhost-user.h
/qemu/system/dirtylimit.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/qemu-seccomp.c
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/gdbstub.c
/qemu/target/alpha/helper.c
/qemu/target/alpha/mem_helper.c
/qemu/target/alpha/translate.c
/qemu/target/arm/arm-qmp-cmds.c
/qemu/target/arm/cpu.c
/qemu/target/avr/cpu.c
/qemu/target/avr/gdbstub.c
/qemu/target/avr/helper.c
/qemu/target/avr/translate.c
/qemu/target/cris/cpu.c
/qemu/target/cris/gdbstub.c
/qemu/target/cris/helper.c
/qemu/target/cris/translate.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/gdbstub.c
/qemu/target/hppa/insns.decode
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/x86.c
/qemu/target/i386/hvf/x86.h
/qemu/target/i386/hvf/x86_descr.c
/qemu/target/i386/hvf/x86_descr.h
/qemu/target/i386/hvf/x86_emu.h
/qemu/target/i386/hvf/x86_mmu.c
/qemu/target/i386/hvf/x86_mmu.h
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu_helper.c
/qemu/target/loongarch/gdbstub.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/gdbstub.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/m68k-semi.c
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/gdbstub.c
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu.c
/qemu/target/mips/gdbstub.c
/qemu/target/mips/kvm.c
/qemu/target/mips/sysemu/physaddr.c
/qemu/target/mips/tcg/exception.c
/qemu/target/mips/tcg/op_helper.c
/qemu/target/mips/tcg/sysemu/special_helper.c
/qemu/target/mips/tcg/sysemu/tlb_helper.c
/qemu/target/mips/tcg/translate.c
/qemu/target/nios2/cpu.c
/qemu/target/nios2/helper.c
/qemu/target/nios2/nios2-semi.c
/qemu/target/nios2/translate.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/gdbstub.c
/qemu/target/openrisc/interrupt.c
/qemu/target/openrisc/translate.c
/qemu/target/ppc/cpu-models.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/helper_regs.c
/qemu/target/ppc/insn32.decode
/qemu/target/ppc/kvm.c
/qemu/target/ppc/misc_helper.c
/qemu/target/ppc/ppc-qmp-cmds.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/qemu/target/ppc/user_only_helper.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/insn_trans/trans_rvbf16.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvvk.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/kvm/kvm_riscv.h
/qemu/target/riscv/riscv-qmp-cmds.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vcrypto_helper.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/rx/cpu.c
/qemu/target/rx/gdbstub.c
/qemu/target/rx/helper.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/cpu_models_sysemu.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/gdbstub.c
/qemu/target/sh4/helper.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/int32_helper.c
/qemu/target/sparc/int64_helper.c
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/translate.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/gdbstub.c
/qemu/target/tricore/helper.c
/qemu/target/tricore/translate.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/dbg_helper.c
/qemu/target/xtensa/exc_helper.c
/qemu/target/xtensa/gdbstub.c
/qemu/target/xtensa/helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/optimize.c
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/data/acpi/q35/SSDT.dimmpxm
/qemu/tests/data/smbios/type11_blob
/qemu/tests/data/smbios/type11_blob.legacy
/qemu/tests/qemu-iotests/033
/qemu/tests/qemu-iotests/066
/qemu/tests/qemu-iotests/114
/qemu/tests/qemu-iotests/130
/qemu/tests/qemu-iotests/134
/qemu/tests/qemu-iotests/156
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/158
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/188
/qemu/tests/qemu-iotests/189
/qemu/tests/qemu-iotests/198
/qemu/tests/qemu-iotests/198.out
/qemu/tests/qemu-iotests/206.out
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/261
/qemu/tests/qemu-iotests/263
/qemu/tests/qemu-iotests/267.out
/qemu/tests/qemu-iotests/284
/qemu/tests/qemu-iotests/286
/qemu/tests/qemu-iotests/286.out
/qemu/tests/qemu-iotests/tests/detect-zeroes-registered-buf
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export.out
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
/qemu/tests/qemu-iotests/tests/qsd-jobs
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/arm-cpu-features.c
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/pnv-host-i2c-test.c
/qemu/tests/qtest/virtio-iommu-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-siginfo-read.py
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/multiarch/segfault.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/ts.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/socket-helpers.c
/qemu/tests/unit/test-crypto-cipher.c
/qemu/tests/unit/test-throttle.c
/qemu/tests/unit/test-vmstate.c
/qemu/tests/vm/basevm.py
/qemu/tools/ebpf/rss.bpf.c
/qemu/ui/cocoa.m
/qemu/ui/console-priv.h
/qemu/ui/console-vc-stubs.c
/qemu/ui/console-vc.c
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/dbus-listener.c
/qemu/ui/kbd-state.c
/qemu/ui/meson.build
/qemu/ui/trace-events
/qemu/ui/vnc.c
/qemu/util/qemu-coroutine.c
94956d7b29-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

bulk: Call in place single use cpu_env()

Avoid CPUArchState local variable when cpu_env() is used once.

Mechanical patch using the following Coccinelle spatch script:

@@
type CPUArchState;
iden

bulk: Call in place single use cpu_env()

Avoid CPUArchState local variable when cpu_env() is used once.

Mechanical patch using the following Coccinelle spatch script:

@@
type CPUArchState;
identifier env;
expression cs;
@@
{
- CPUArchState *env = cpu_env(cs);
... when != env
- env
+ cpu_env(cs)
... when != env
}

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240129164514.73104-5-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
tcg/cpu-exec.c
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/nbd.c
/qemu/block/nvme.c
/qemu/block/qapi.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/snapshot.c
/qemu/block/vdi.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/interop/firmware.json
/qemu/hmp-commands-info.hx
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-host.c
/qemu/hw/display/Kconfig
/qemu/hw/display/ati.c
/qemu/hw/display/macfb.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/spapr.c
/qemu/hw/remote/remote-obj.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/xen/xen_pt.c
/qemu/include/hw/boards.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp/qerror.h
/qemu/linux-user/i386/cpu_loop.c
/qemu/meson.build
/qemu/migration/multifd-zlib.c
/qemu/migration/options.c
/qemu/migration/postcopy-ram.c
/qemu/net/vhost-vdpa.c
/qemu/qapi/virtio.json
/qemu/replay/replay.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/arm/cpu.c
/qemu/target/arm/kvm.c
/qemu/target/arm/machine.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/sev.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/loongarch/tcg/translate.c
/qemu/target/m68k/helper.c
/qemu/target/ppc/kvm.c
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu_models.c
/qemu/target/sh4/op_helper.c
/qemu/tests/unit/test-smp-parse.c
/qemu/util/oslib-posix.c
f28b958c10-Nov-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'

"hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
specific. It also declares IGD methods, which are not target
specific.

Target-agnostic c

hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'

"hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
specific. It also declares IGD methods, which are not target
specific.

Target-agnostic code can use IGD methods. To allow that, extract
these methos into a new "hw/xen/xen_igd.h" header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-18-philmd@linaro.org>

show more ...


/qemu/MAINTAINERS
xen/xen-all.c
/qemu/disas/disas.c
/qemu/disas/hppa.c
/qemu/disas/riscv.c
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/hw/acpi/aml-build.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/pci/msi.c
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/riscv/virt.c
/qemu/hw/rtc/sun4v-rtc.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen_pt.c
/qemu/hw/xen/xen_pt.h
/qemu/hw/xen/xen_pt_config_init.c
/qemu/hw/xen/xen_pt_graphics.c
/qemu/hw/xen/xen_pt_stub.c
/qemu/include/disas/dis-asm.h
/qemu/include/hw/acpi/acpi-defs.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/standard-headers/drm/drm_fourcc.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/virtio_config.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_pmem.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/linux-headers/asm-generic/unistd.h
/qemu/linux-headers/asm-mips/mman.h
/qemu/linux-headers/asm-mips/unistd_n32.h
/qemu/linux-headers/asm-mips/unistd_n64.h
/qemu/linux-headers/asm-mips/unistd_o32.h
/qemu/linux-headers/asm-powerpc/unistd_32.h
/qemu/linux-headers/asm-powerpc/unistd_64.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/unistd_32.h
/qemu/linux-headers/asm-s390/unistd_64.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/asm-x86/unistd_32.h
/qemu/linux-headers/asm-x86/unistd_64.h
/qemu/linux-headers/asm-x86/unistd_x32.h
/qemu/linux-headers/linux/iommufd.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/userfaultfd.h
/qemu/linux-headers/linux/vfio.h
/qemu/linux-user/syscall.c
/qemu/qapi/ui.json
/qemu/stubs/xen-hw-stub.c
/qemu/system/physmem.c
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/trace-events
/qemu/target/loongarch/disas.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/insn_trans/trans_rva.c.inc
/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvzce.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/machine.c
/qemu/target/riscv/pmu.h
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqos/riscv-virt-machine.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/tcg/riscv64/Makefile.target
/qemu/ui/cocoa.m
3077be2505-Mar-2024 Pierrick Bouvier <pierrick.bouvier@linaro.org>

plugins: cleanup codepath for previous inline operation

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvie

plugins: cleanup codepath for previous inline operation

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-13-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-26-alex.bennee@linaro.org>

show more ...

0bcebaba05-Mar-2024 Pierrick Bouvier <pierrick.bouvier@linaro.org>

plugins: add inline operation per vcpu

Extends API with three new functions:
qemu_plugin_register_vcpu_{tb, insn, mem}_exec_inline_per_vcpu().

Those functions takes a qemu_plugin_u64 as input.

Thi

plugins: add inline operation per vcpu

Extends API with three new functions:
qemu_plugin_register_vcpu_{tb, insn, mem}_exec_inline_per_vcpu().

Those functions takes a qemu_plugin_u64 as input.

This allows to have a thread-safe and type-safe version of inline
operations.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-5-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-18-alex.bennee@linaro.org>

show more ...

62f92b8d05-Mar-2024 Pierrick Bouvier <pierrick.bouvier@linaro.org>

plugins: implement inline operation relative to cpu_index

Instead of working on a fixed memory location, allow to address it based
on cpu_index, an element size and a given offset.
Result address: p

plugins: implement inline operation relative to cpu_index

Instead of working on a fixed memory location, allow to address it based
on cpu_index, an element size and a given offset.
Result address: ptr + offset + cpu_index * element_size.

With this, we can target a member in a struct array from a base pointer.

Current semantic is not modified, thus inline operation still targets
always the same memory location.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-4-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-17-alex.bennee@linaro.org>

show more ...


tcg/plugin-gen.c
/qemu/bsd-user/bsd-file.h
/qemu/bsd-user/freebsd/os-proc.h
/qemu/bsd-user/main.c
/qemu/bsd-user/qemu.h
/qemu/bsd-user/signal.c
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/mapped-ram.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/include/exec/ramblock.h
/qemu/include/gdbstub/user.h
/qemu/include/io/channel.h
/qemu/include/migration/qemu-file-types.h
/qemu/include/qapi/type-helpers.h
/qemu/include/qapi/util.h
/qemu/include/qemu/atomic.h
/qemu/include/qemu/bitops.h
/qemu/include/qemu/plugin.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/user/safe-syscall.h
/qemu/io/channel-file.c
/qemu/io/channel.c
/qemu/linux-user/aarch64/cpu_loop.c
/qemu/linux-user/arm/cpu_loop.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/cris/cpu_loop.c
/qemu/linux-user/elfload.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/linuxload.c
/qemu/linux-user/m68k/cpu_loop.c
/qemu/linux-user/m68k/target_cpu.h
/qemu/linux-user/main.c
/qemu/linux-user/mips/cpu_loop.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/qemu.h
/qemu/linux-user/riscv/cpu_loop.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/syscall.c
/qemu/linux-user/user-internals.h
/qemu/linux-user/vm86.c
/qemu/linux-user/xtensa/signal.c
/qemu/migration/exec.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/options.c
/qemu/migration/options.h
/qemu/migration/qemu-file.c
/qemu/migration/qemu-file.h
/qemu/migration/ram.c
/qemu/migration/ram.h
/qemu/migration/savevm.c
/qemu/migration/trace-events
/qemu/plugins/api.c
/qemu/plugins/core.c
/qemu/plugins/plugin.h
/qemu/plugins/qemu-plugins.symbols
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/dump.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/qapi-type-helpers.c
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/run-state.json
/qemu/qapi/tpm.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/scripts/qapi/parser.py
/qemu/semihosting/arm-compat-semi.c
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/hflags.c
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qapi-schema/doc-good.txt
/qemu/tests/qapi-schema/doc-invalid-return.err
/qemu/tests/qapi-schema/doc-invalid-return2.err
/qemu/tests/qapi-schema/doc-invalid-return2.json
/qemu/tests/qapi-schema/doc-invalid-return2.out
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qtest/libqos/qgraph.h
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/follow-fork-mode.c
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
/qemu/tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py
49fa457c01-Mar-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Add TLB_CHECK_ALIGNED

This creates a per-page method for checking of alignment.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderso

accel/tcg: Add TLB_CHECK_ALIGNED

This creates a per-page method for checking of alignment.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240301204110.656742-5-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

a0ff4a8701-Mar-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Add tlb_fill_flags to CPUTLBEntryFull

Allow the target to set tlb flags to apply to all of the
comparators. Remove MemTxAttrs.byte_swap, as the bit is
not relevant to memory transactions

accel/tcg: Add tlb_fill_flags to CPUTLBEntryFull

Allow the target to set tlb flags to apply to all of the
comparators. Remove MemTxAttrs.byte_swap, as the bit is
not relevant to memory transactions, only the page mapping.
Adjust target/sparc to set TLB_BSWAP directly.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20240301204110.656742-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/MAINTAINERS
tcg/cputlb.c
/qemu/chardev/char-socket.c
/qemu/docs/conf.py
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/raspi.rst
/qemu/hw/arm/Kconfig
/qemu/hw/arm/b-l475e-iot01a.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/char/pl011.c
/qemu/hw/i2c/Kconfig
/qemu/hw/i2c/bcm2835_i2c.c
/qemu/hw/i2c/meson.build
/qemu/hw/intc/Kconfig
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/usb/bus.c
/qemu/include/exec/memattrs.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/i2c/bcm2835_i2c.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/stm32l4x5_rcc.h
/qemu/include/hw/misc/stm32l4x5_rcc_internals.h
/qemu/linux-user/elfload.c
/qemu/linux-user/loongarch64/target_syscall.h
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/qemu/roms/Makefile
/qemu/target/alpha/cpu-param.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/tcg/translate.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/ppc/cpu-param.h
/qemu/target/sparc/mmu_helper.c
/qemu/tcg/optimize.c
/qemu/tests/qtest/bcm2835-i2c-test.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/stm32l4x5_rcc-test.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-maps.c
/qemu/tests/unit/test-util-sockets.c
33402cea02-Jan-2024 Richard Henderson <richard.henderson@linaro.org>

accel/tcg: Disconnect TargetPageDataNode from page size

Dynamically size the node for the runtime target page size.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard He

accel/tcg: Disconnect TargetPageDataNode from page size

Dynamically size the node for the runtime target page size.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Helge Deller <deller@gmx.de>
Message-Id: <20240102015808.132373-29-richard.henderson@linaro.org>

show more ...

12345678910>>...47