History log of /qemu/hw/block/ (Results 1 – 25 of 1210)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d39fdfff08-Apr-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/block/nand: Fix out-of-bound access in NAND block buffer

nand_command() and nand_getio() don't check @offset points
into the block, nor the available data length (s->iolen) is
not negative.

In o

hw/block/nand: Fix out-of-bound access in NAND block buffer

nand_command() and nand_getio() don't check @offset points
into the block, nor the available data length (s->iolen) is
not negative.

In order to fix:

- check the offset is in range in nand_blk_load_NAND_PAGE_SIZE(),
- do not set @iolen if blk_load() failed.

Reproducer:

$ cat << EOF | qemu-system-arm -machine tosa \
-monitor none -serial none \
-display none -qtest stdio
write 0x10000111 0x1 0xca
write 0x10000104 0x1 0x47
write 0x1000ca04 0x1 0xd7
write 0x1000ca01 0x1 0xe0
write 0x1000ca04 0x1 0x71
write 0x1000ca00 0x1 0x50
write 0x1000ca04 0x1 0xd7
read 0x1000ca02 0x1
write 0x1000ca01 0x1 0x10
EOF

=================================================================
==15750==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61f000000de0
at pc 0x560e61557210 bp 0x7ffcfc4a59f0 sp 0x7ffcfc4a59e8
READ of size 1 at 0x61f000000de0 thread T0
#0 0x560e6155720f in mem_and hw/block/nand.c:101:20
#1 0x560e6155ac9c in nand_blk_write_512 hw/block/nand.c:663:9
#2 0x560e61544200 in nand_command hw/block/nand.c:293:13
#3 0x560e6153cc83 in nand_setio hw/block/nand.c:520:13
#4 0x560e61a0a69e in tc6393xb_nand_writeb hw/display/tc6393xb.c:380:13
#5 0x560e619f9bf7 in tc6393xb_writeb hw/display/tc6393xb.c:524:9
#6 0x560e647c7d03 in memory_region_write_accessor softmmu/memory.c:492:5
#7 0x560e647c7641 in access_with_adjusted_size softmmu/memory.c:554:18
#8 0x560e647c5f66 in memory_region_dispatch_write softmmu/memory.c:1514:16
#9 0x560e6485409e in flatview_write_continue softmmu/physmem.c:2825:23
#10 0x560e648421eb in flatview_write softmmu/physmem.c:2867:12
#11 0x560e64841ca8 in address_space_write softmmu/physmem.c:2963:18
#12 0x560e61170162 in qemu_writeb tests/qtest/videzzo/videzzo_qemu.c:1080:5
#13 0x560e6116eef7 in dispatch_mmio_write tests/qtest/videzzo/videzzo_qemu.c:1227:28

0x61f000000de0 is located 0 bytes to the right of 3424-byte region [0x61f000000080,0x61f000000de0)
allocated by thread T0 here:
#0 0x560e611276cf in malloc /root/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:145:3
#1 0x7f7959a87e98 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x57e98)
#2 0x560e64b98871 in object_new qom/object.c:749:12
#3 0x560e64b5d1a1 in qdev_new hw/core/qdev.c:153:19
#4 0x560e61547ea5 in nand_init hw/block/nand.c:639:11
#5 0x560e619f8772 in tc6393xb_init hw/display/tc6393xb.c:558:16
#6 0x560e6390bad2 in tosa_init hw/arm/tosa.c:250:12

SUMMARY: AddressSanitizer: heap-buffer-overflow hw/block/nand.c:101:20 in mem_and
==15750==ABORTING

Broken since introduction in commit 3e3d5815cb ("NAND Flash memory
emulation and ECC calculation helpers for use by NAND controllers").

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1445
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1446
Reported-by: Qiang Liu <cyruscyliu@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240409135944.24997-4-philmd@linaro.org>

show more ...

2e3e09b308-Apr-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/block/nand: Have blk_load() take unsigned offset and return boolean

Negative offset is meaningless, use unsigned type.
Return a boolean value indicating success.

Reviewed-by: Richard Henderson <

hw/block/nand: Have blk_load() take unsigned offset and return boolean

Negative offset is meaningless, use unsigned type.
Return a boolean value indicating success.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240409135944.24997-3-philmd@linaro.org>

show more ...

7a86544f08-Apr-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/block/nand: Factor nand_load_iolen() method out

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <phi

hw/block/nand: Factor nand_load_iolen() method out

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240409135944.24997-2-philmd@linaro.org>

show more ...

f67d296b29-Mar-2024 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>

vhost-user-blk: simplify and fix vhost_user_blk_handle_config_change

Let's not care about what was changed and update the whole config,
reasons:

1. config->geometry should be updated together with

vhost-user-blk: simplify and fix vhost_user_blk_handle_config_change

Let's not care about what was changed and update the whole config,
reasons:

1. config->geometry should be updated together with capacity, so we fix
a bug.

2. Vhost-user protocol doesn't say anything about config change
limitation. Silent ignore of changes doesn't seem to be correct.

3. vhost-user-vsock reads the whole config

4. on realize we don't do any checks on retrieved config, so no reason
to care here

Comment "valid for resize only" exists since introduction the whole
hw/block/vhost-user-blk.c in commit
00343e4b54ba0685e9ebe928ec5713b0cf7f1d1c
"vhost-user-blk: introduce a new vhost-user-blk host device",
seems it was just an extra limitation.

Also, let's notify guest unconditionally:

1. So does vhost-user-vsock

2. We are going to reuse the functionality in new cases when we do want
to notify the guest unconditionally. So, no reason to create extra
branches in the logic.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Acked-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Message-Id: <20240329183758.3360733-2-vsementsov@yandex-team.ru>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

bbdf902304-Apr-2024 Zheyu Ma <zheyuma97@gmail.com>

block/virtio-blk: Fix memory leak from virtio_blk_zone_report

This modification ensures that in scenarios where the buffer size is
insufficient for a zone report, the function will now properly set

block/virtio-blk: Fix memory leak from virtio_blk_zone_report

This modification ensures that in scenarios where the buffer size is
insufficient for a zone report, the function will now properly set an
error status and proceed to a cleanup label, instead of merely
returning.

The following ASAN log reveals it:

==1767400==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 312 byte(s) in 1 object(s) allocated from:
#0 0x64ac7b3280cd in malloc llvm/compiler-rt/lib/asan/asan_malloc_linux.cpp:129:3
#1 0x735b02fb9738 in g_malloc (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5e738)
#2 0x64ac7d23be96 in virtqueue_split_pop hw/virtio/virtio.c:1612:12
#3 0x64ac7d23728a in virtqueue_pop hw/virtio/virtio.c:1783:16
#4 0x64ac7cfcaacd in virtio_blk_get_request hw/block/virtio-blk.c:228:27
#5 0x64ac7cfca7c7 in virtio_blk_handle_vq hw/block/virtio-blk.c:1123:23
#6 0x64ac7cfecb95 in virtio_blk_handle_output hw/block/virtio-blk.c:1157:5

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Message-id: 20240404120040.1951466-1-zheyuma97@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

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/cirrus.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/chardev/char-io.c
/qemu/chardev/char-socket.c
/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/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/introduction.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/s390x/cpu-topology.rst
/qemu/ebpf/ebpf_rss.c
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands.hx
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/virt.c
virtio-blk.c
/qemu/hw/core/clock.c
/qemu/hw/display/vga.c
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/Kconfig
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/virt.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/trace-events
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/riscv/virt.c
/qemu/hw/scsi/lsi53c895a.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/usb/dev-audio.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/include/hw/clock.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/net/vhost_net.h
/qemu/include/ui/console.h
/qemu/include/ui/kbd-state.h
/qemu/linux-user/mmap.c
/qemu/linux-user/strace.c
/qemu/meson.build
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/monitor/hmp-cmds-target.c
/qemu/net/af-xdp.c
/qemu/net/tap-win32.c
/qemu/net/tap.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/plugins/loader.c
/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/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.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/qga/qapi-schema.json
/qemu/roms/Makefile
/qemu/roms/edk2-build.config
/qemu/system/qemu-seccomp.c
/qemu/system/vl.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.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/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/s390x/cpu_models.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/helper.c
/qemu/tcg/optimize.c
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/avocado/ppc_hv_tests.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/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/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/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.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/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/kbd-state.c
/qemu/ui/meson.build
/qemu/ui/vnc.c
/qemu/util/qemu-coroutine.c
a7538ca019-Mar-2024 Cédric Le Goater <clg@redhat.com>

aspeed/smc: Only wire flash devices at reset

The Aspeed machines have many Static Memory Controllers (SMC), up to
8, which can only drive flash memory devices. Commit 27a2c66c92ec
("aspeed/smc: Wire

aspeed/smc: Only wire flash devices at reset

The Aspeed machines have many Static Memory Controllers (SMC), up to
8, which can only drive flash memory devices. Commit 27a2c66c92ec
("aspeed/smc: Wire CS lines at reset") tried to ease the definitions
of these devices by allowing flash devices from the command line to be
attached to a SSI bus. For that, the wiring of the CS lines of the
Aspeed SMC controller was moved at reset. Two assumptions are made
though, first that the device has a SSI_GPIO_CS GPIO line, which is
not always the case, and second that it is a flash device.

Correct this problem by ensuring that the devices attached to the bus
are of the correct flash type. This fixes a QEMU abort when devices
without a CS line, such as the max111x, are passed on the command
line.

While at it, export TYPE_M25P80 used in the Xilinx Versal Virtual
machine.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2228
Fixes: 27a2c66c92ec ("aspeed/smc: Wire CS lines at reset")
Reported-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
[ clg: minor fixes in the commit log ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>

show more ...


/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/block.c
/qemu/block/mirror.c
/qemu/block/qapi.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal.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/docs/about/deprecated.rst
/qemu/docs/conf.py
/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/ppc/amigang.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/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
m25p80.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/ati.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pcf8574.c
/qemu/hw/i386/acpi-build.c
/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/i386/x86.c
/qemu/hw/ide/ahci-internal.h
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ich.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/virt.c
/qemu/hw/misc/ivshmem.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/pvpanic-pci.c
/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/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/pci-bridge/cxl_root_port.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/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/smbios/smbios.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/cpr.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/meson.build
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost-vsock.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.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/boards.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/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/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/cpu_loop.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/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/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/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/postcopy-ram.c
/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/nbd/server.c
/qemu/net/colo-compare.c
/qemu/net/trace-events
/qemu/net/vhost-vdpa.c
/qemu/qapi/common.json
/qemu/qapi/ebpf.json
/qemu/qapi/meson.build
/qemu/qapi/migration.json
/qemu/qapi/qapi-schema.json
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/qga/commands-win32.c
/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/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/arm/kvm.c
/qemu/target/arm/machine.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/mem_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.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/hvf/x86hvf.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu_helper.c
/qemu/target/loongarch/gdbstub.c
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/loongarch/loongarch-qmp-cmds.c
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/loongarch/tcg/translate.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/kvm/kvm-cpu.c
/qemu/target/riscv/riscv-qmp-cmds.c
/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/sh4/cpu.c
/qemu/target/sh4/gdbstub.c
/qemu/target/sh4/helper.c
/qemu/target/sh4/op_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/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/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/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/qtest/arm-cpu-features.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/virtio-iommu-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-siginfo-read.py
/qemu/tests/tcg/multiarch/segfault.c
/qemu/tests/unit/test-vmstate.c
/qemu/tests/vm/basevm.py
/qemu/tools/ebpf/rss.bpf.c
/qemu/ui/dbus-listener.c
/qemu/ui/trace-events
/qemu/ui/vnc.c
0ea5f59411-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

block/virtio-blk: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
*

block/virtio-blk: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
* error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is &error_fatal, the user
can't see this additional information, because exit() happens in
error_setg earlier than information is added [1].

The virtio_blk_vq_aio_context_init() passes @errp to error_prepend().

Though its @errp points its caller's local @err variable, to follow the
requirement of @errp, add missing ERRP_GUARD() at the beginning of
virtio_blk_vq_aio_context_init().

[1]: Issue description in the commit message of commit ae7c80a7bd73
("error: New macro ERRP_GUARD()").

Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Cc: Hanna Reitz <hreitz@redhat.com>
Cc: qemu-block@nongnu.org
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: "Michael S. Tsirkin" <mst@redhat.com>
Message-ID: <20240311033822.3142585-14-zhao1.liu@linux.intel.com>
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/cirrus.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/plugin-helpers.h
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/user-exec.c
/qemu/accel/xen/xen-all.c
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/nbd.c
/qemu/block/nvme.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/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/chardev/char-fe.c
/qemu/chardev/char-socket.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/contrib/plugins/cache.c
/qemu/contrib/plugins/execlog.c
/qemu/contrib/plugins/hotblocks.c
/qemu/contrib/plugins/howvec.c
/qemu/cpu-target.c
/qemu/disas/disas.c
/qemu/disas/hppa.c
/qemu/disas/riscv.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/conf.py
/qemu/docs/devel/acpi-bits.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/devel/migration/main.rst
/qemu/docs/devel/migration/mapped-ram.rst
/qemu/docs/devel/multi-thread-tcg.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/qom.rst
/qemu/docs/devel/reset.rst
/qemu/docs/devel/tcg-plugins.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/docs/interop/firmware.json
/qemu/docs/system/arm/b-l475e-iot01a.rst
/qemu/docs/system/arm/emulation.rst
/qemu/docs/system/arm/raspi.rst
/qemu/docs/user/main.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/hmp-commands-info.hx
/qemu/hw/acpi/aml-build.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_soc_common.c
/qemu/hw/arm/b-l475e-iot01a.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/bcm2838.c
/qemu/hw/arm/bcm2838_peripherals.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/raspi.c
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/arm/xlnx-versal-virt.c
virtio-blk.c
/qemu/hw/char/pl011.c
/qemu/hw/char/xen_console.c
/qemu/hw/core/cpu-common.c
/qemu/hw/core/machine-smp.c
/qemu/hw/core/machine.c
/qemu/hw/core/meson.build
/qemu/hw/core/qdev-properties-system.c
/qemu/hw/core/reset.c
/qemu/hw/core/resetcontainer.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-host.c
/qemu/hw/display/Kconfig
/qemu/hw/display/macfb.c
/qemu/hw/gpio/Kconfig
/qemu/hw/gpio/bcm2838_gpio.c
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/gpio/trace-events
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/Kconfig
/qemu/hw/i2c/bcm2835_i2c.c
/qemu/hw/i2c/meson.build
/qemu/hw/i386/meson.build
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/vapic.c
/qemu/hw/i386/xen/meson.build
/qemu/hw/i386/xen/xen-hvm.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/ide-internal.h
/qemu/hw/intc/Kconfig
/qemu/hw/intc/apic.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/Kconfig
/qemu/hw/misc/bcm2835_property.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/trace-events
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/net/virtio-net.c
/qemu/hw/net/xen_nic.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci/msi.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/remote/remote-obj.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/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/tpm/tpm_ppi.c
/qemu/hw/usb/bus.c
/qemu/hw/vfio/migration.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/trace-events
/qemu/hw/virtio/vhost-user.c
/qemu/hw/virtio/virtio-balloon.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/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/gdbstub.h
/qemu/include/exec/memattrs.h
/qemu/include/exec/ramblock.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/acpi/acpi-defs.h
/qemu/include/hw/acpi/aml-build.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/bcm2836.h
/qemu/include/hw/arm/bcm2838.h
/qemu/include/hw/arm/bcm2838_peripherals.h
/qemu/include/hw/arm/raspberrypi-fw-defs.h
/qemu/include/hw/arm/raspi_platform.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/resetcontainer.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/display/bcm2835_fb.h
/qemu/include/hw/gpio/bcm2838_gpio.h
/qemu/include/hw/gpio/stm32l4x5_gpio.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/hw/i2c/bcm2835_i2c.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/ide/ide-dev.h
/qemu/include/hw/loongarch/virt.h
/qemu/include/hw/misc/stm32l4x5_rcc.h
/qemu/include/hw/misc/stm32l4x5_rcc_internals.h
/qemu/include/hw/misc/stm32l4x5_syscfg.h
/qemu/include/hw/qdev-properties-system.h
/qemu/include/hw/rtc/sun4v-rtc.h
/qemu/include/hw/vfio/vfio-common.h
/qemu/include/hw/virtio/virtio-net.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen_igd.h
/qemu/include/io/channel.h
/qemu/include/migration/misc.h
/qemu/include/migration/qemu-file-types.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp/qerror.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/notify.h
/qemu/include/qemu/plugin.h
/qemu/include/qemu/qemu-plugin.h
/qemu/include/qemu/typedefs.h
/qemu/include/qom/object.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/reset.h
/qemu/include/sysemu/sysemu.h
/qemu/include/sysemu/xen-mapcache.h
/qemu/include/sysemu/xen.h
/qemu/include/user/safe-syscall.h
/qemu/io/channel-file.c
/qemu/io/channel.c
/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/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/loongarch64/target_syscall.h
/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/mmap.c
/qemu/linux-user/nios2/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/strace.c
/qemu/linux-user/strace.list
/qemu/linux-user/syscall.c
/qemu/linux-user/user-internals.h
/qemu/linux-user/vm86.c
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/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/migration.h
/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/postcopy-ram.c
/qemu/migration/postcopy-ram.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/socket.c
/qemu/migration/socket.h
/qemu/migration/trace-events
/qemu/net/vhost-vdpa.c
/qemu/pc-bios/README
/qemu/pc-bios/meson.build
/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/virtio.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/replay/replay.c
/qemu/roms/Makefile
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/feature_to_c.py
/qemu/scripts/make-release
/qemu/scripts/qapi/parser.py
/qemu/semihosting/arm-compat-semi.c
/qemu/stubs/xen-hw-stub.c
/qemu/system/bootdevice.c
/qemu/system/globals.c
/qemu/system/physmem.c
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/alpha/cpu-param.h
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/cpu64.c
/qemu/target/arm/gdbstub.c
/qemu/target/arm/gdbstub64.c
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/meson.build
/qemu/target/arm/ptw.c
/qemu/target/arm/tcg/cpu-v7m.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/hflags.c
/qemu/target/arm/tcg/meson.build
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/trace-events
/qemu/target/avr/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/gdbstub.c
/qemu/target/hexagon/internal.h
/qemu/target/hppa/cpu.c
/qemu/target/hppa/helper.c
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/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/sev.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/i386/tcg/sysemu/misc_helper.c
/qemu/target/i386/tcg/sysemu/svm_helper.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/disas.c
/qemu/target/loongarch/gdbstub.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/helper.c
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/gdbstub.c
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu-qom.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/gdbstub.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/gdbstub.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/target/rx/cpu.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/gdbstub.c
/qemu/target/sparc/mmu_helper.c
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/plugin/bb.c
/qemu/tests/plugin/inline.c
/qemu/tests/plugin/insn.c
/qemu/tests/plugin/mem.c
/qemu/tests/plugin/meson.build
/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/bcm2835-i2c-test.c
/qemu/tests/qtest/libqos/meson.build
/qemu/tests/qtest/libqos/qgraph.h
/qemu/tests/qtest/libqos/riscv-virt-machine.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/stm32l4x5_rcc-test.c
/qemu/tests/tcg/Makefile.target
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/semicall.h
/qemu/tests/tcg/aarch64/sme-smopa-1.c
/qemu/tests/tcg/aarch64/sme-smopa-2.c
/qemu/tests/tcg/alpha/Makefile.target
/qemu/tests/tcg/arm/Makefile.target
/qemu/tests/tcg/arm/semicall.h
/qemu/tests/tcg/hppa/Makefile.target
/qemu/tests/tcg/i386/Makefile.target
/qemu/tests/tcg/i386/system/boot.S
/qemu/tests/tcg/m68k/Makefile.target
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/arm-compat-semi/semiconsole.c
/qemu/tests/tcg/multiarch/arm-compat-semi/semihosting.c
/qemu/tests/tcg/multiarch/float_convd.c
/qemu/tests/tcg/multiarch/float_convs.c
/qemu/tests/tcg/multiarch/float_helpers.h
/qemu/tests/tcg/multiarch/float_madds.c
/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
/qemu/tests/tcg/multiarch/libs/float_helpers.c
/qemu/tests/tcg/multiarch/linux/linux-madvise.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-maps.c
/qemu/tests/tcg/riscv64/Makefile.target
/qemu/tests/tcg/riscv64/semicall.h
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/x86_64/system/boot.S
/qemu/tests/unit/test-smp-parse.c
/qemu/tests/unit/test-util-sockets.c
/qemu/tests/vm/Makefile.include
/qemu/tests/vm/basevm.py
/qemu/tests/vm/openbsd
/qemu/ui/cocoa.m
/qemu/ui/spice-core.c
/qemu/util/notify.c
/qemu/util/oslib-posix.c
4d85bfc826-Feb-2024 Sai Pavan Boddu <sai.pavan.boddu@amd.com>

block: m25p80: Add support of mt35xu02gbba

Add Micro 2Gb OSPI flash part with sfdp data.

Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@amd.com>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gm

block: m25p80: Add support of mt35xu02gbba

Add Micro 2Gb OSPI flash part with sfdp data.

Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@amd.com>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Message-id: 20240220091721.82954-2-sai.pavan.boddu@amd.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus/build.yml
/qemu/.gitlab-ci.d/container-cross.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/MAINTAINERS
/qemu/accel/Kconfig
/qemu/accel/tcg/ldst_atomicity.c.inc
/qemu/audio/meson.build
/qemu/configs/devices/arm-softmmu/default.mak
/qemu/configure
/qemu/docs/about/build-platforms.rst
/qemu/docs/about/deprecated.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/docs.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/testing.rst
/qemu/docs/interop/prl-xml.txt
/qemu/docs/interop/vhost-user.rst
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/system/arm/mps2.rst
/qemu/docs/system/devices/canokey.rst
/qemu/docs/system/keys.rst.inc
/qemu/hw/acpi/cpu_hotplug.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/mps3r.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3-internal.h
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/stm32l4x5_soc.c
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
m25p80.c
m25p80_sfdp.c
m25p80_sfdp.h
/qemu/hw/char/grlib_apbuart.c
/qemu/hw/core/sysbus.c
/qemu/hw/display/Kconfig
/qemu/hw/display/exynos4210_fimd.c
/qemu/hw/display/pl110.c
/qemu/hw/dma/i82374.c
/qemu/hw/dma/i8257.c
/qemu/hw/hppa/Kconfig
/qemu/hw/hppa/machine.c
/qemu/hw/i2c/smbus_slave.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/acpi-common.h
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/ioapic.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/kvmvapic.c
/qemu/hw/i386/microvm.c
/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/i386/port92.c
/qemu/hw/i386/sgx.c
/qemu/hw/i386/x86-iommu.c
/qemu/hw/i386/x86.c
/qemu/hw/ide/Kconfig
/qemu/hw/ide/ahci-allwinner.c
/qemu/hw/ide/ahci.c
/qemu/hw/ide/ahci_internal.h
/qemu/hw/ide/atapi.c
/qemu/hw/ide/cf.c
/qemu/hw/ide/cmd646.c
/qemu/hw/ide/core.c
/qemu/hw/ide/ich.c
/qemu/hw/ide/ide-bus.c
/qemu/hw/ide/ide-dev.c
/qemu/hw/ide/ide-internal.h
/qemu/hw/ide/ioport.c
/qemu/hw/ide/isa.c
/qemu/hw/ide/macio.c
/qemu/hw/ide/meson.build
/qemu/hw/ide/microdrive.c
/qemu/hw/ide/mmio.c
/qemu/hw/ide/pci.c
/qemu/hw/ide/piix.c
/qemu/hw/ide/sii3112.c
/qemu/hw/ide/via.c
/qemu/hw/input/pckbd.c
/qemu/hw/intc/grlib_irqmp.c
/qemu/hw/isa/Kconfig
/qemu/hw/isa/fdc37m81x-superio.c
/qemu/hw/isa/isa-superio.c
/qemu/hw/isa/lpc_ich9.c
/qemu/hw/isa/meson.build
/qemu/hw/isa/piix.c
/qemu/hw/isa/smc37c669-superio.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/mips/Kconfig
/qemu/hw/mips/boston.c
/qemu/hw/mips/cps.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/loongson3_bootp.h
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/mips/mipssim.c
/qemu/hw/misc/Kconfig
/qemu/hw/misc/macio/macio.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/mips_itu.c
/qemu/hw/misc/mps2-scc.c
/qemu/hw/misc/pca9552.c
/qemu/hw/misc/pca9554.c
/qemu/hw/nubus/meson.build
/qemu/hw/nubus/nubus-device.c
/qemu/hw/nubus/nubus-virtio-mmio.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/nvram/fw_cfg.c
/qemu/hw/pci-host/Kconfig
/qemu/hw/pci-host/meson.build
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/pci-host/ppc4xx_pci.c
/qemu/hw/pci-host/ppce500.c
/qemu/hw/pci-host/trace-events
/qemu/hw/ppc/Kconfig
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/meson.build
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/pnv_bmc.c
/qemu/hw/ppc/pnv_chiptod.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/ppc/pnv_n1_chiplet.c
/qemu/hw/ppc/pnv_nest_pervasive.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/ppc440_uc.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/sam460ex.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/ppc/spapr_hcall.c
/qemu/hw/ppc/spapr_irq.c
/qemu/hw/ppc/spapr_vhyp_mmu.c
/qemu/hw/ppc/trace-events
/qemu/hw/rtc/m48t59.c
/qemu/hw/rtc/pl031.c
/qemu/hw/rx/rx-gdbsim.c
/qemu/hw/rx/rx62n.c
/qemu/hw/sh4/Kconfig
/qemu/hw/sh4/r2d.c
/qemu/hw/sh4/sh7750_regs.h
/qemu/hw/sparc/leon3.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sparc64.c
/qemu/hw/ssi/xlnx-versal-ospi.c
/qemu/hw/timer/grlib_gptimer.c
/qemu/hw/timer/hpet.c
/qemu/hw/timer/pxa2xx_timer.c
/qemu/hw/tricore/tricore_testboard.c
/qemu/hw/usb/Kconfig
/qemu/hw/usb/bus.c
/qemu/hw/usb/hcd-ehci-pci.c
/qemu/hw/usb/hcd-ehci-sysbus.c
/qemu/hw/usb/hcd-ehci.c
/qemu/hw/usb/hcd-ehci.h
/qemu/hw/usb/hcd-ohci-sysbus.c
/qemu/hw/usb/hcd-ohci.c
/qemu/hw/usb/hcd-uhci.c
/qemu/hw/usb/hcd-uhci.h
/qemu/hw/usb/meson.build
/qemu/include/exec/memory.h
/qemu/include/hw/acpi/cpu.h
/qemu/include/hw/acpi/ich9_tco.h
/qemu/include/hw/acpi/memory_hotplug.h
/qemu/include/hw/arm/allwinner-a10.h
/qemu/include/hw/arm/allwinner-r40.h
/qemu/include/hw/arm/omap.h
/qemu/include/hw/arm/smmu-common.h
/qemu/include/hw/arm/stm32l4x5_soc.h
/qemu/include/hw/arm/virt.h
/qemu/include/hw/arm/xlnx-zynqmp.h
/qemu/include/hw/char/grlib_uart.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/dma/i8257.h
/qemu/include/hw/i2c/pnv_i2c_regs.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/i386/x86.h
/qemu/include/hw/ide/ahci-pci.h
/qemu/include/hw/ide/ahci-sysbus.h
/qemu/include/hw/ide/ahci.h
/qemu/include/hw/ide/ide-bus.h
/qemu/include/hw/ide/ide-dev.h
/qemu/include/hw/ide/ide-dma.h
/qemu/include/hw/ide/pci.h
/qemu/include/hw/input/i8042.h
/qemu/include/hw/intc/grlib_irqmp.h
/qemu/include/hw/misc/macio/macio.h
/qemu/include/hw/misc/mips_itu.h
/qemu/include/hw/misc/mps2-scc.h
/qemu/include/hw/misc/pca9552.h
/qemu/include/hw/misc/pca9554.h
/qemu/include/hw/misc/pca9554_regs.h
/qemu/include/hw/net/npcm_gmac.h
/qemu/include/hw/nubus/nubus-virtio-mmio.h
/qemu/include/hw/nubus/nubus.h
/qemu/include/hw/pci-host/ppc4xx.h
/qemu/include/hw/ppc/pnv.h
/qemu/include/hw/ppc/pnv_chip.h
/qemu/include/hw/ppc/pnv_chiptod.h
/qemu/include/hw/ppc/pnv_n1_chiplet.h
/qemu/include/hw/ppc/pnv_nest_pervasive.h
/qemu/include/hw/ppc/pnv_xscom.h
/qemu/include/hw/ppc/ppc4xx.h
/qemu/include/hw/ppc/spapr.h
/qemu/include/hw/ppc/spapr_irq.h
/qemu/include/hw/riscv/virt.h
/qemu/include/hw/rx/rx62n.h
/qemu/include/hw/sysbus.h
/qemu/include/hw/timer/grlib_gptimer.h
/qemu/include/hw/timer/hpet.h
/qemu/include/hw/tricore/tricore_testdevice.h
/qemu/include/hw/usb.h
/qemu/include/qom/object.h
/qemu/meson.build
/qemu/pc-bios/README
/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-riscv-vars.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/pc-bios/skiboot.lid
/qemu/qapi/acpi.json
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/char.json
/qemu/qapi/control.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/pci.json
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/rdma.json
/qemu/qapi/replay.json
/qemu/qapi/rocker.json
/qemu/qapi/run-state.json
/qemu/qapi/tpm.json
/qemu/qapi/trace.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qapi/yank.json
/qemu/qemu-options.hx
/qemu/qom/object.c
/qemu/roms/edk2
/qemu/scripts/ci/gitlab-pipeline-status
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/schema.py
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/arm/cpu64.c
/qemu/target/arm/helper.c
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/op_helper.c
/qemu/target/arm/tcg/translate.c
/qemu/target/hexagon/idef-parser/macros.inc
/qemu/target/i386/cpu.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/monitor.c
/qemu/target/i386/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/op_helper.c
/qemu/target/mips/cpu.h
/qemu/target/mips/internal.h
/qemu/target/mips/sysemu/machine.c
/qemu/target/mips/tcg/sysemu/cp0_helper.c
/qemu/target/mips/tcg/sysemu_helper.h.inc
/qemu/target/mips/tcg/translate.c
/qemu/target/mips/tcg/translate.h
/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/kvm.c
/qemu/target/ppc/mmu_helper.c
/qemu/target/ppc/ppc-qmp-cmds.c
/qemu/target/ppc/tcg-stub.c
/qemu/target/ppc/timebase_helper.c
/qemu/target/ppc/translate.c
/qemu/target/ppc/translate/vmx-impl.c.inc
/qemu/target/ppc/translate/vsx-impl.c.inc
/qemu/target/s390x/cpu_features_def.h.inc
/qemu/target/sparc/asi.h
/qemu/target/sparc/cpu.h
/qemu/target/sparc/helper.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/translate.c
/qemu/tests/avocado/acpi-bits/bits-tests/smbios.py2
/qemu/tests/avocado/boot_linux.py
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/mem-addr-space-check.py
/qemu/tests/avocado/migration.py
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/avocado/ppc_powernv.py
/qemu/tests/avocado/ppc_pseries.py
/qemu/tests/avocado/reverse_debugging.py
/qemu/tests/data/acpi/virt/FACP
/qemu/tests/data/acpi/virt/GTDT
/qemu/tests/lcitool/refresh
/qemu/tests/qapi-schema/doc-bad-alternate-member.err
/qemu/tests/qapi-schema/doc-bad-boxed-command-arg.err
/qemu/tests/qapi-schema/doc-bad-command-arg.err
/qemu/tests/qapi-schema/doc-bad-enum-member.err
/qemu/tests/qapi-schema/doc-bad-event-arg.err
/qemu/tests/qapi-schema/doc-bad-feature.err
/qemu/tests/qapi-schema/doc-bad-union-member.err
/qemu/tests/qapi-schema/doc-duplicate-features.err
/qemu/tests/qapi-schema/doc-duplicate-features.json
/qemu/tests/qapi-schema/doc-duplicate-features.out
/qemu/tests/qapi-schema/doc-duplicated-arg.err
/qemu/tests/qapi-schema/doc-duplicated-return.err
/qemu/tests/qapi-schema/doc-duplicated-return.json
/qemu/tests/qapi-schema/doc-duplicated-since.err
/qemu/tests/qapi-schema/doc-duplicated-since.json
/qemu/tests/qapi-schema/doc-empty-arg.err
/qemu/tests/qapi-schema/doc-empty-features.err
/qemu/tests/qapi-schema/doc-empty-features.json
/qemu/tests/qapi-schema/doc-empty-features.out
/qemu/tests/qapi-schema/doc-empty-section.err
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.txt
/qemu/tests/qapi-schema/doc-invalid-return.err
/qemu/tests/qapi-schema/doc-invalid-return.json
/qemu/tests/qapi-schema/doc-non-first-section.err
/qemu/tests/qapi-schema/doc-non-first-section.json
/qemu/tests/qapi-schema/doc-non-first-section.out
/qemu/tests/qapi-schema/meson.build
/qemu/tests/qapi-schema/test-qapi.py
/qemu/tests/qemu-iotests/144
/qemu/tests/qemu-iotests/144.out
/qemu/tests/qtest/boot-serial-test.c
/qemu/tests/qtest/cdrom-test.c
/qemu/tests/qtest/dbus-display-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/npcm_gmac-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/pnv-host-i2c-test.c
/qemu/tests/qtest/pnv-xscom-test.c
/qemu/tests/qtest/pnv-xscom.h
/qemu/tests/qtest/stm32l4x5_exti-test.c
/qemu/ui/clipboard.c
/qemu/ui/console.c
/qemu/ui/meson.build
/qemu/ui/vnc.c
dfae6d5e15-Feb-2024 Peter Maydell <peter.maydell@linaro.org>

hw/block/tc58128: Don't emit deprecation warning under qtest

Suppress the deprecation warning when we're running under qtest,
to avoid "make check" including warning messages in its output.

Signed-

hw/block/tc58128: Don't emit deprecation warning under qtest

Suppress the deprecation warning when we're running under qtest,
to avoid "make check" including warning messages in its output.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240206154151.155620-1-peter.maydell@linaro.org

show more ...


/qemu/MAINTAINERS
/qemu/block.c
/qemu/block/crypto.c
/qemu/block/crypto.h
/qemu/block/qcow.c
/qemu/block/qcow2.c
/qemu/chardev/char-parallel.c
/qemu/chardev/char-socket.c
/qemu/chardev/meson.build
/qemu/configs/devices/m68k-softmmu/default.mak
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/nios2-softmmu/default.mak
/qemu/configs/devices/riscv32-softmmu/default.mak
/qemu/configs/devices/riscv64-softmmu/default.mak
/qemu/configs/devices/xtensa-softmmu/default.mak
/qemu/configure
/qemu/contrib/vhost-user-gpu/virgl.c
/qemu/cpu-target.c
/qemu/crypto/block-luks.c
/qemu/crypto/block.c
/qemu/crypto/blockpriv.h
/qemu/crypto/cipher-gcrypt.c.inc
/qemu/crypto/cipher-nettle.c.inc
/qemu/crypto/cipher.c
/qemu/disas/hppa.c
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/interop/vhost-user.rst
/qemu/docs/sphinx/qapidoc.py
/qemu/docs/system/cpu-models-x86-abi.csv
/qemu/docs/system/cpu-models-x86.rst.inc
/qemu/docs/system/devices/cxl.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user-target.c
/qemu/gdbstub/user.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/xilinx_zynq.c
tc58128.c
/qemu/hw/char/parallel-isa.c
/qemu/hw/char/serial-isa.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-component-utils.c
/qemu/hw/cxl/cxl-device-utils.c
/qemu/hw/cxl/cxl-events.c
/qemu/hw/cxl/cxl-mailbox-utils.c
/qemu/hw/display/virtio-gpu-rutabaga.c
/qemu/hw/display/virtio-gpu-virgl.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/hppa/machine.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/intc/s390_flic_kvm.c
/qemu/hw/isa/pc87312.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/misc/lasi.c
/qemu/hw/net/tulip.c
/qemu/hw/pci-bridge/cxl_downstream.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/pci-host/astro.c
/qemu/hw/pci-host/raven.c
/qemu/hw/ppc/pegasos2.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/trace-events
/qemu/hw/smbios/smbios.c
/qemu/hw/virtio/virtio-iommu.c
/qemu/include/crypto/block.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/char/parallel-isa.h
/qemu/include/hw/char/serial.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/cxl/cxl_component.h
/qemu/include/hw/cxl/cxl_device.h
/qemu/include/hw/cxl/cxl_events.h
/qemu/include/hw/cxl/cxl_pci.h
/qemu/include/hw/elf_ops.h
/qemu/include/hw/misc/lasi.h
/qemu/include/hw/pci-host/astro.h
/qemu/include/hw/scsi/esp.h
/qemu/include/hw/virtio/vhost-vsock-common.h
/qemu/include/hw/virtio/virtio-gpu.h
/qemu/include/net/filter.h
/qemu/include/qemu/osdep.h
/qemu/include/sysemu/os-posix.h
/qemu/include/sysemu/os-win32.h
/qemu/include/tcg/tcg.h
/qemu/include/user/syscall-trace.h
/qemu/io/channel-tls.c
/qemu/io/trace-events
/qemu/iothread.c
/qemu/linux-user/aarch64/target_prctl.h
/qemu/meson.build
/qemu/monitor/hmp-cmds-target.c
/qemu/os-posix.c
/qemu/pc-bios/hppa-firmware.img
/qemu/pc-bios/hppa-firmware64.img
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/char.json
/qemu/qapi/common.json
/qemu/qapi/crypto.json
/qemu/qapi/dump.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qdev.json
/qemu/qapi/sockets.json
/qemu/qapi/stats.json
/qemu/qapi/tpm.json
/qemu/qapi/transaction.json
/qemu/qapi/ui.json
/qemu/qapi/yank.json
/qemu/qemu-nbd.c
/qemu/qemu-options.hx
/qemu/qga/qapi-schema.json
/qemu/roms/seabios-hppa
/qemu/scripts/cpu-x86-uarch-abi.py
/qemu/scripts/qapi/parser.py
/qemu/scripts/qapi/source.py
/qemu/system/memory_ldst.c.inc
/qemu/system/vl.c
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/sme_helper.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/translate-a64.h
/qemu/target/arm/tcg/translate-sme.c
/qemu/target/arm/tcg/translate-sve.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/m68k/Kconfig
/qemu/target/mips/Kconfig
/qemu/target/nios2/Kconfig
/qemu/target/riscv/Kconfig
/qemu/target/xtensa/Kconfig
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tests/data/acpi/q35/DSDT.cxl
/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/qemu/tests/lcitool/mappings.yml
/qemu/tests/lcitool/projects/qemu.yml
/qemu/tests/qapi-schema/doc-bad-alternate-member.json
/qemu/tests/qapi-schema/doc-good.json
/qemu/tests/qapi-schema/doc-good.out
/qemu/tests/qemu-iotests/210.out
/qemu/tests/qemu-iotests/tests/luks-detached-header
/qemu/tests/qemu-iotests/tests/luks-detached-header.out
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/catch-syscalls.c
/qemu/tests/tcg/multiarch/gdbstub/catch-syscalls.py
/qemu/tests/unit/test-char.c
/qemu/tests/unit/test-crypto-block.c
/qemu/tests/unit/test-crypto-cipher.c
/qemu/ui/vnc.c
/qemu/ui/vnc.h
/qemu/util/qemu-sockets.c
8c4d239114-Jan-2024 Bernhard Beschow <shentey@gmail.com>

hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC

The real SuperI/O chips emulated by QEMU allow for relocating and enabling or
disabling their SuperI/O functions via so

hw/block/fdc-isa: Implement relocation and enabling/disabling for TYPE_ISA_FDC

The real SuperI/O chips emulated by QEMU allow for relocating and enabling or
disabling their SuperI/O functions via software. So far this is not implemented.
Prepare for that by adding isa_fdc_set_{enabled,iobase}.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20240114123911.4877-8-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

ff453ce214-Jan-2024 Bernhard Beschow <shentey@gmail.com>

hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus

FDCtrl::iomem isn't used inside FDCtrl context but only inside FDCtrlSysBus
context, so move it there.

Signed-off-by: Bernhard Beschow <s

hw/block/fdc-sysbus: Move iomem from FDCtrl to FDCtrlSysBus

FDCtrl::iomem isn't used inside FDCtrl context but only inside FDCtrlSysBus
context, so move it there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: <20240114123911.4877-3-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

271c5bb314-Jan-2024 Bernhard Beschow <shentey@gmail.com>

hw/block/fdc-isa: Move portio_list from FDCtrl to FDCtrlISABus

FDCtrl::portio_list isn't used inside FDCtrl context but only inside
FDCtrlISABus context, so move it there.

Signed-off-by: Bernhard B

hw/block/fdc-isa: Move portio_list from FDCtrl to FDCtrlISABus

FDCtrl::portio_list isn't used inside FDCtrl context but only inside
FDCtrlISABus context, so move it there.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Message-Id: <20240114123911.4877-2-shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/MAINTAINERS
/qemu/accel/kvm/kvm-all.c
/qemu/accel/stubs/kvm-stub.c
/qemu/backends/hostmem.c
/qemu/docs/about/deprecated.rst
/qemu/docs/devel/tcg-ops.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/devices/vhost-user-input.rst
/qemu/docs/system/devices/vhost-user-rng.rst
/qemu/docs/system/devices/vhost-user.rst
fdc-internal.h
fdc-isa.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/amd_iommu-stub.c
/qemu/hw/i386/amd_iommu.c
/qemu/hw/i386/amd_iommu.h
/qemu/hw/i386/intel_iommu.c
/qemu/hw/i386/kvm/apic.c
/qemu/hw/i386/meson.build
/qemu/hw/i386/x86.c
/qemu/hw/i386/xen/xen_apic.c
/qemu/hw/input/meson.build
/qemu/hw/intc/apic.c
/qemu/hw/intc/apic_common.c
/qemu/hw/intc/trace-events
/qemu/hw/mem/memory-device.c
/qemu/hw/ppc/spapr_cpu_core.c
/qemu/hw/riscv/Kconfig
/qemu/hw/riscv/boot.c
/qemu/hw/riscv/numa.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/riscv/spike.c
/qemu/hw/riscv/virt-acpi-build.c
/qemu/hw/riscv/virt.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/smbios/smbios.c
/qemu/hw/virtio/Kconfig
/qemu/hw/virtio/meson.build
/qemu/hw/virtio/vhost-user-base.c
/qemu/hw/virtio/vhost-user-device-pci.c
/qemu/hw/virtio/vhost-user-device.c
/qemu/hw/virtio/vhost-user-gpio.c
/qemu/hw/virtio/vhost-user-i2c.c
/qemu/hw/virtio/vhost-user-input-pci.c
/qemu/hw/virtio/vhost-user-input.c
/qemu/hw/virtio/vhost-user-rng.c
/qemu/hw/virtio/vhost-user-snd-pci.c
/qemu/hw/virtio/vhost-user-snd.c
/qemu/hw/virtio/virtio-mem.c
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/i386/apic.h
/qemu/include/hw/i386/apic_internal.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/virtio/vhost-user-base.h
/qemu/include/hw/virtio/vhost-user-gpio.h
/qemu/include/hw/virtio/vhost-user-i2c.h
/qemu/include/hw/virtio/vhost-user-rng.h
/qemu/include/hw/virtio/vhost-user-snd.h
/qemu/include/hw/virtio/virtio-input.h
/qemu/include/qemu/osdep.h
/qemu/include/sysemu/kvm.h
/qemu/include/tcg/tcg-cond.h
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/multifd-zlib.c
/qemu/migration/multifd-zstd.c
/qemu/migration/multifd.c
/qemu/migration/multifd.h
/qemu/migration/ram.c
/qemu/migration/trace-events
/qemu/qemu-options.hx
/qemu/qom/object.c
/qemu/system/vl.c
/qemu/target/alpha/translate.c
/qemu/target/i386/cpu-sysemu.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/sysemu/misc_helper.c
/qemu/target/i386/whpx/whpx-apic.c
/qemu/target/m68k/translate.c
/qemu/target/ppc/cpu-models.c
/qemu/target/riscv/cpu-qom.h
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_bits.h
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/csr.c
/qemu/target/riscv/debug.c
/qemu/target/riscv/gdbstub.c
/qemu/target/riscv/insn_trans/trans_rva.c.inc
/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/insn_trans/trans_xthead.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/kvm/kvm_riscv.h
/qemu/target/riscv/machine.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vector_helper.c
/qemu/target/s390x/cpu-dump.c
/qemu/target/s390x/gdbstub.c
/qemu/target/s390x/helper.c
/qemu/target/s390x/helper.h
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/tcg/excp_helper.c
/qemu/target/s390x/tcg/insn-data.h.inc
/qemu/target/s390x/tcg/int_helper.c
/qemu/target/s390x/tcg/misc_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sparc/translate.c
/qemu/tcg/aarch64/tcg-target-con-set.h
/qemu/tcg/aarch64/tcg-target-con-str.h
/qemu/tcg/aarch64/tcg-target.c.inc
/qemu/tcg/aarch64/tcg-target.h
/qemu/tcg/arm/tcg-target.c.inc
/qemu/tcg/arm/tcg-target.h
/qemu/tcg/i386/tcg-target-con-set.h
/qemu/tcg/i386/tcg-target-con-str.h
/qemu/tcg/i386/tcg-target.c.inc
/qemu/tcg/i386/tcg-target.h
/qemu/tcg/loongarch64/tcg-target.c.inc
/qemu/tcg/loongarch64/tcg-target.h
/qemu/tcg/mips/tcg-target.c.inc
/qemu/tcg/mips/tcg-target.h
/qemu/tcg/optimize.c
/qemu/tcg/ppc/tcg-target-con-set.h
/qemu/tcg/ppc/tcg-target-con-str.h
/qemu/tcg/ppc/tcg-target.c.inc
/qemu/tcg/ppc/tcg-target.h
/qemu/tcg/riscv/tcg-target.c.inc
/qemu/tcg/riscv/tcg-target.h
/qemu/tcg/s390x/tcg-target-con-set.h
/qemu/tcg/s390x/tcg-target-con-str.h
/qemu/tcg/s390x/tcg-target.c.inc
/qemu/tcg/s390x/tcg-target.h
/qemu/tcg/sparc64/tcg-target.c.inc
/qemu/tcg/sparc64/tcg-target.h
/qemu/tcg/tcg-internal.h
/qemu/tcg/tcg.c
/qemu/tcg/tci.c
/qemu/tcg/tci/tcg-target.c.inc
/qemu/tcg/tci/tcg-target.h
/qemu/tests/data/acpi/q35/IVRS.ivrs
/qemu/tests/qtest/migration-test.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/cvb.c
/qemu/tests/tcg/s390x/cvd.c
/qemu/tests/unit/test-util-filemonitor.c
/qemu/tests/vm/basevm.py
/qemu/tests/vm/freebsd
/qemu/util/meson.build
/qemu/util/oslib-posix.c
/qemu/util/oslib-win32.c
bfa3680222-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: avoid using ioeventfd state in irqfd conditional

Requests that complete in an IOThread use irqfd to notify the guest
while requests that complete in the main loop thread use the traditio

virtio-blk: avoid using ioeventfd state in irqfd conditional

Requests that complete in an IOThread use irqfd to notify the guest
while requests that complete in the main loop thread use the traditional
qdev irq code path. The reason for this conditional is that the irq code
path requires the BQL:

if (s->ioeventfd_started && !s->ioeventfd_disabled) {
virtio_notify_irqfd(vdev, req->vq);
} else {
virtio_notify(vdev, req->vq);
}

There is a corner case where the conditional invokes the irq code path
instead of the irqfd code path:

static void virtio_blk_stop_ioeventfd(VirtIODevice *vdev)
{
...
/*
* Set ->ioeventfd_started to false before draining so that host notifiers
* are not detached/attached anymore.
*/
s->ioeventfd_started = false;

/* Wait for virtio_blk_dma_restart_bh() and in flight I/O to complete */
blk_drain(s->conf.conf.blk);

During blk_drain() the conditional produces the wrong result because
ioeventfd_started is false.

Use qemu_in_iothread() instead of checking the ioeventfd state.

Cc: qemu-stable@nongnu.org
Buglink: https://issues.redhat.com/browse/RHEL-15394
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240122172625.415386-1-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

52bff01f02-Feb-2024 Hanna Czenczek <hreitz@redhat.com>

virtio-blk: Use ioeventfd_attach in start_ioeventfd

Commit d3f6f294aeadd5f88caf0155e4360808c95b3146 ("virtio-blk: always set
ioeventfd during startup") has made virtio_blk_start_ioeventfd() always
k

virtio-blk: Use ioeventfd_attach in start_ioeventfd

Commit d3f6f294aeadd5f88caf0155e4360808c95b3146 ("virtio-blk: always set
ioeventfd during startup") has made virtio_blk_start_ioeventfd() always
kick the virtqueue (set the ioeventfd), regardless of whether the BB is
drained. That is no longer necessary, because attaching the host
notifier will now set the ioeventfd, too; this happens either
immediately right here in virtio_blk_start_ioeventfd(), or later when
the drain ends, in virtio_blk_ioeventfd_attach().

With event_notifier_set() removed, the code becomes the same as the one
in virtio_blk_ioeventfd_attach(), so we can reuse that function.

Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20240202153158.788922-4-hreitz@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

b3d9bb9a06-Feb-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: do not use C99 mixed declarations

QEMU's coding style generally forbids C99 mixed declarations.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240206140410.65650-1-

virtio-blk: do not use C99 mixed declarations

QEMU's coding style generally forbids C99 mixed declarations.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240206140410.65650-1-stefanha@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

f2eea93c06-Feb-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: add vq_rq[] bounds check in virtio_blk_dma_restart_cb()

Hanna Czenczek <hreitz@redhat.com> noted that the array index in
virtio_blk_dma_restart_cb() is not bounds-checked:

g_autofree

virtio-blk: add vq_rq[] bounds check in virtio_blk_dma_restart_cb()

Hanna Czenczek <hreitz@redhat.com> noted that the array index in
virtio_blk_dma_restart_cb() is not bounds-checked:

g_autofree VirtIOBlockReq **vq_rq = g_new0(VirtIOBlockReq *, num_queues);
...
while (rq) {
VirtIOBlockReq *next = rq->next;
uint16_t idx = virtio_get_queue_index(rq->vq);

rq->next = vq_rq[idx];
^^^^^^^^^^

The code is correct because both rq->vq and vq_rq[] depend on
num_queues, but this is indirect and not 100% obvious. Add an assertion.

Suggested-by: Hanna Czenczek <hreitz@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240206190610.107963-4-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

5fbcbd5006-Feb-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: clarify that there is at least 1 virtqueue

It is not possible to instantiate a virtio-blk device with 0 virtqueues.
The following check is located in ->realize():

if (!conf->num_queue

virtio-blk: clarify that there is at least 1 virtqueue

It is not possible to instantiate a virtio-blk device with 0 virtqueues.
The following check is located in ->realize():

if (!conf->num_queues) {
error_setg(errp, "num-queues property must be larger than 0");
return;
}

Later on we access s->vq_aio_context[0] under the assumption that there
is as least one virtqueue. Hanna Czenczek <hreitz@redhat.com> noted that
it would help to show that the array index is already valid.

Add an assertion to document that s->vq_aio_context[0] is always
safe...and catch future code changes that break this assumption.

Suggested-by: Hanna Czenczek <hreitz@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240206190610.107963-3-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

1f995a4706-Feb-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: enforce iothread-vq-mapping validation

Hanna Czenczek <hreitz@redhat.com> noticed that the safety of
`vq_aio_context[vq->value] = ctx;` with user-defined vq->value inputs is
not obvious.

virtio-blk: enforce iothread-vq-mapping validation

Hanna Czenczek <hreitz@redhat.com> noticed that the safety of
`vq_aio_context[vq->value] = ctx;` with user-defined vq->value inputs is
not obvious.

The code is structured in validate() + apply() steps so input validation
is there, but it happens way earlier and there is nothing that
guarantees apply() can only be called with validated inputs.

This patch moves the validate() call inside the apply() function so
validation is guaranteed. I also added the bounds checking assertion
that Hanna suggested.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20240206190610.107963-2-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...


/qemu/.mailmap
/qemu/MAINTAINERS
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/ldst_common.c.inc
/qemu/accel/tcg/meson.build
/qemu/accel/tcg/tb-jmp-cache.h
/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/qemu/accel/tcg/tcg-accel-ops-rr.c
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/tcg-accel-ops.h
/qemu/accel/tcg/translate-all.c
/qemu/audio/pwaudio.c
/qemu/backends/hostmem.c
/qemu/bsd-user/signal.c
/qemu/cpu-target.c
/qemu/disas/riscv-xthead.c
/qemu/disas/riscv-xventana.c
/qemu/disas/riscv.h
/qemu/docs/colo-proxy.txt
/qemu/docs/devel/docs.rst
/qemu/docs/interop/qemu-ga.rst
/qemu/docs/specs/fsi.rst
/qemu/docs/specs/index.rst
/qemu/docs/sphinx/hxtool.py
/qemu/docs/system/arm/raspi.rst
/qemu/docs/system/i386/xen.rst
/qemu/docs/system/keys.rst.inc
/qemu/dump/dump-hmp-cmds.c
/qemu/hw/Kconfig
/qemu/hw/alpha/dp264.c
/qemu/hw/arm/Kconfig
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/allwinner-h3.c
/qemu/hw/arm/allwinner-r40.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/aspeed_eeprom.c
/qemu/hw/arm/aspeed_eeprom.h
/qemu/hw/arm/aspeed_soc_common.c
/qemu/hw/arm/bcm2835_peripherals.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/exynos4_boards.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/kzm.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/mps2-tz.c
/qemu/hw/arm/mps2.c
/qemu/hw/arm/msf2-soc.c
/qemu/hw/arm/msf2-som.c
/qemu/hw/arm/musca.c
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/npcm7xx_boards.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/trace-events
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xen_arm.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/arm/z2.c
virtio-blk.c
/qemu/hw/core/bus.c
/qemu/hw/core/loader.c
/qemu/hw/cris/axis_dev88.c
/qemu/hw/cxl/cxl-events.c
/qemu/hw/fsi/Kconfig
/qemu/hw/fsi/aspeed_apb2opb.c
/qemu/hw/fsi/cfam.c
/qemu/hw/fsi/fsi-master.c
/qemu/hw/fsi/fsi.c
/qemu/hw/fsi/lbus.c
/qemu/hw/fsi/meson.build
/qemu/hw/fsi/trace-events
/qemu/hw/fsi/trace.h
/qemu/hw/hppa/machine.c
/qemu/hw/hyperv/hv-balloon-internal.h
/qemu/hw/hyperv/hv-balloon-our_range_memslots.c
/qemu/hw/hyperv/hv-balloon-our_range_memslots.h
/qemu/hw/hyperv/hv-balloon-page_range_tree.c
/qemu/hw/hyperv/hv-balloon-page_range_tree.h
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/acpi-build.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/input/adb.c
/qemu/hw/intc/xics.c
/qemu/hw/loongarch/acpi-build.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/m68k/q800.c
/qemu/hw/meson.build
/qemu/hw/microblaze/petalogix_ml605_mmu.c
/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/qemu/hw/mips/fuloong2e.c
/qemu/hw/mips/jazz.c
/qemu/hw/mips/loongson3_virt.c
/qemu/hw/mips/malta.c
/qemu/hw/mips/mipssim.c
/qemu/hw/net/etraxfs_eth.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/lasi_i82596.c
/qemu/hw/net/meson.build
/qemu/hw/net/npcm_gmac.c
/qemu/hw/net/smc91c111.c
/qemu/hw/net/trace-events
/qemu/hw/nvram/fw_cfg-acpi.c
/qemu/hw/openrisc/openrisc_sim.c
/qemu/hw/pci-host/designware.c
/qemu/hw/pci/pci.c
/qemu/hw/ppc/e500.c
/qemu/hw/ppc/mac_newworld.c
/qemu/hw/ppc/mac_oldworld.c
/qemu/hw/ppc/ppc440_bamboo.c
/qemu/hw/ppc/prep.c
/qemu/hw/ppc/spapr.c
/qemu/hw/riscv/microchip_pfsoc.c
/qemu/hw/riscv/sifive_u.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/sh4/r2d.c
/qemu/hw/sparc/sun4m.c
/qemu/hw/sparc64/sun4u.c
/qemu/hw/ssi/Kconfig
/qemu/hw/ssi/bcm2835_spi.c
/qemu/hw/ssi/meson.build
/qemu/hw/virtio/virtio-acpi.c
/qemu/hw/xen/trace-events
/qemu/hw/xen/xen-bus.c
/qemu/hw/xen/xen-hvm-common.c
/qemu/hw/xen/xen-mapcache.c
/qemu/hw/xen/xen_devconfig.c
/qemu/hw/xenpv/xen_machine_pv.c
/qemu/hw/xtensa/virt.c
/qemu/hw/xtensa/xtfpga.c
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-common.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/translation-block.h
/qemu/include/exec/translator.h
/qemu/include/exec/vaddr.h
/qemu/include/hw/arm/aspeed_soc.h
/qemu/include/hw/arm/bcm2835_peripherals.h
/qemu/include/hw/arm/msf2-soc.h
/qemu/include/hw/arm/npcm7xx.h
/qemu/include/hw/arm/raspberrypi-fw-defs.h
/qemu/include/hw/audio/asc.h
/qemu/include/hw/core/cpu.h
/qemu/include/hw/core/tcg-cpu-ops.h
/qemu/include/hw/cris/etraxfs.h
/qemu/include/hw/fsi/aspeed_apb2opb.h
/qemu/include/hw/fsi/cfam.h
/qemu/include/hw/fsi/fsi-master.h
/qemu/include/hw/fsi/fsi.h
/qemu/include/hw/fsi/lbus.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/m68k/q800-glue.h
/qemu/include/hw/mem/memory-device.h
/qemu/include/hw/net/lan9118.h
/qemu/include/hw/net/lasi_82596.h
/qemu/include/hw/net/ne2000-isa.h
/qemu/include/hw/net/npcm_gmac.h
/qemu/include/hw/net/smc91c111.h
/qemu/include/hw/nvram/fw_cfg_acpi.h
/qemu/include/hw/pci/pci.h
/qemu/include/hw/ppc/spapr_nested.h
/qemu/include/hw/qdev-core.h
/qemu/include/hw/ssi/bcm2835_spi.h
/qemu/include/hw/virtio/virtio-acpi.h
/qemu/include/hw/xen/xen-bus.h
/qemu/include/hw/xen/xen-hvm-common.h
/qemu/include/hw/xen/xen-legacy-backend.h
/qemu/include/net/net.h
/qemu/include/qemu/qtree.h
/qemu/include/qemu/typedefs.h
/qemu/include/tcg/debuginfo.h
/qemu/include/tcg/perf.h
/qemu/include/ui/rect.h
/qemu/linux-user/aarch64/vdso-be.so
/qemu/linux-user/aarch64/vdso-le.so
/qemu/linux-user/aarch64/vdso.S
/qemu/linux-user/elfload.c
/qemu/linux-user/exit.c
/qemu/linux-user/main.c
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/cpu_loop.c
/qemu/linux-user/sparc/signal.c
/qemu/meson.build
/qemu/net/af-xdp.c
/qemu/net/net.c
/qemu/plugins/core.c
/qemu/plugins/loader.c
/qemu/qapi/block-core.json
/qemu/qapi/block-export.json
/qemu/qapi/introspect.json
/qemu/qapi/migration.json
/qemu/qapi/misc-target.json
/qemu/qemu-options.hx
/qemu/qga/commands-posix.c
/qemu/qga/commands-win32.c
/qemu/qga/main.c
/qemu/qga/qapi-schema.json
/qemu/scripts/clean-includes
/qemu/semihosting/uaccess.c
/qemu/system/globals.c
/qemu/system/physmem.c
/qemu/system/vl.c
/qemu/target/alpha/cpu.c
/qemu/target/alpha/cpu.h
/qemu/target/alpha/translate.c
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/syndrome.h
/qemu/target/arm/tcg/cpu32.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/mte_helper.c
/qemu/target/arm/tcg/sve_helper.c
/qemu/target/arm/tcg/tlb_helper.c
/qemu/target/arm/tcg/translate.c
/qemu/target/avr/cpu.c
/qemu/target/avr/cpu.h
/qemu/target/avr/translate.c
/qemu/target/cris/cpu.c
/qemu/target/cris/cpu.h
/qemu/target/cris/translate.c
/qemu/target/cris/translate_v10.c.inc
/qemu/target/hexagon/cpu.c
/qemu/target/hexagon/cpu.h
/qemu/target/hexagon/translate.c
/qemu/target/hppa/cpu.c
/qemu/target/hppa/cpu.h
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/tcg/helper-tcg.h
/qemu/target/i386/tcg/sysemu/seg_helper.c
/qemu/target/i386/tcg/tcg-cpu.c
/qemu/target/i386/tcg/translate.c
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/cpu.h
/qemu/target/loongarch/cpu_helper.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/meson.build
/qemu/target/loongarch/tcg/insn_trans/trans_privileged.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/loongarch/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/meson.build
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/helper.c
/qemu/target/microblaze/mmu.c
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu.c
/qemu/target/mips/cpu.h
/qemu/target/mips/sysemu/physaddr.c
/qemu/target/mips/tcg/msa_helper.c
/qemu/target/mips/tcg/sysemu/cp0_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/mips/tcg/translate.h
/qemu/target/nios2/cpu.c
/qemu/target/nios2/cpu.h
/qemu/target/nios2/translate.c
/qemu/target/openrisc/cpu.c
/qemu/target/openrisc/cpu.h
/qemu/target/openrisc/translate.c
/qemu/target/ppc/cpu.h
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/mem_helper.c
/qemu/target/ppc/mmu_common.c
/qemu/target/ppc/translate.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/op_helper.c
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.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/cpu.h
/qemu/target/rx/translate.c
/qemu/target/s390x/cpu.c
/qemu/target/s390x/cpu.h
/qemu/target/s390x/tcg/mem_helper.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/sparc/cpu.h
/qemu/target/sparc/fop_helper.c
/qemu/target/sparc/gdbstub.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/machine.c
/qemu/target/sparc/mmu_helper.c
/qemu/target/sparc/translate.c
/qemu/target/target-common.c
/qemu/target/tricore/cpu.c
/qemu/target/tricore/cpu.h
/qemu/target/tricore/helper.c
/qemu/target/tricore/translate.c
/qemu/target/xtensa/cpu.c
/qemu/target/xtensa/cpu.h
/qemu/target/xtensa/mmu_helper.c
/qemu/target/xtensa/translate.c
/qemu/tcg/debuginfo.c
/qemu/tcg/loongarch64/tcg-target.c.inc
/qemu/tcg/meson.build
/qemu/tcg/perf.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/machine_aspeed.py
/qemu/tests/guest-debug/run-test.py
/qemu/tests/guest-debug/test_gdbstub.py
/qemu/tests/qtest/aspeed_fsi-test.c
/qemu/tests/qtest/meson.build
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/npcm_gmac-test.c
/qemu/tests/qtest/qtest_aspeed.h
/qemu/tests/qtest/xlnx-versal-trng-test.c
/qemu/tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
/qemu/tests/tcg/aarch64/gdbstub/test-sve.py
/qemu/tests/tcg/aarch64/sysregs.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/qemu/tests/tcg/multiarch/gdbstub/memory.py
/qemu/tests/tcg/multiarch/gdbstub/prot-none.py
/qemu/tests/tcg/multiarch/gdbstub/registers.py
/qemu/tests/tcg/multiarch/gdbstub/sha1.py
/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
/qemu/tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
/qemu/tests/tcg/multiarch/prot-none.c
/qemu/tests/tcg/s390x/gdbstub/test-signals-s390x.py
/qemu/tests/tcg/s390x/gdbstub/test-svc.py
/qemu/tests/unit/test-qga.c
/qemu/util/userfaultfd.c
954b33da30-Jan-2024 Manos Pitsidianakis <manos.pitsidianakis@linaro.org>

hw/block/block.c: improve confusing blk_check_size_and_read_all() error

In cases where a device tries to read more bytes than the block device
contains, the error is vague: "device requires X bytes,

hw/block/block.c: improve confusing blk_check_size_and_read_all() error

In cases where a device tries to read more bytes than the block device
contains, the error is vague: "device requires X bytes, block backend
provides Y bytes".

This patch changes the errors of this function to include the block
backend name, the device id and device type name where appropriate.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-id: 7260eadff22c08457740117c1bb7bd2b4353acb9.1706598705.git.manos.pitsidianakis@linaro.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...

d5eaeefb30-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

pflash: fix sectors vs bytes confusion in blk_pread_nonzeroes()

The following expression is incorrect because blk_pread_nonzeroes()
deals in units of bytes, not sectors:

bytes = MIN(size - offset

pflash: fix sectors vs bytes confusion in blk_pread_nonzeroes()

The following expression is incorrect because blk_pread_nonzeroes()
deals in units of bytes, not sectors:

bytes = MIN(size - offset, BDRV_REQUEST_MAX_SECTORS)
^^^^^^^

BDRV_REQUEST_MAX_BYTES is the appropriate constant.

Fixes: a4b15a8b9ef2 ("pflash: Only read non-zero parts of backend image")
Cc: Xiang Zheng <zhengxiang9@huawei.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240130002712.257815-1-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/block/blkio.c
/qemu/block/blklogwrites.c
/qemu/block/io_uring.c
/qemu/docs/devel/qapi-code-gen.rst
/qemu/docs/devel/writing-monitor-commands.rst
/qemu/docs/interop/bitmaps.rst
/qemu/docs/system/arm/bananapi_m2u.rst
/qemu/docs/system/arm/virt.rst
/qemu/hw/arm/Kconfig
/qemu/hw/arm/allwinner-a10.c
/qemu/hw/arm/allwinner-h3.c
/qemu/hw/arm/allwinner-r40.c
/qemu/hw/arm/armv7m.c
/qemu/hw/arm/aspeed_ast2400.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/bcm2836.c
/qemu/hw/arm/collie.c
/qemu/hw/arm/exynos4210.c
/qemu/hw/arm/fsl-imx25.c
/qemu/hw/arm/fsl-imx31.c
/qemu/hw/arm/fsl-imx6.c
/qemu/hw/arm/fsl-imx6ul.c
/qemu/hw/arm/fsl-imx7.c
/qemu/hw/arm/gumstix.c
/qemu/hw/arm/highbank.c
/qemu/hw/arm/integratorcp.c
/qemu/hw/arm/mainstone.c
/qemu/hw/arm/meson.build
/qemu/hw/arm/musicpal.c
/qemu/hw/arm/npcm7xx.c
/qemu/hw/arm/nseries.c
/qemu/hw/arm/omap1.c
/qemu/hw/arm/omap2.c
/qemu/hw/arm/omap_sx1.c
/qemu/hw/arm/palm.c
/qemu/hw/arm/realview.c
/qemu/hw/arm/sbsa-ref.c
/qemu/hw/arm/smmuv3-internal.h
/qemu/hw/arm/spitz.c
/qemu/hw/arm/strongarm.c
/qemu/hw/arm/versatilepb.c
/qemu/hw/arm/vexpress.c
/qemu/hw/arm/virt-acpi-build.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xilinx_zynq.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/arm/xlnx-versal.c
/qemu/hw/arm/xlnx-zynqmp.c
/qemu/hw/arm/z2.c
block.c
/qemu/hw/char/imx_serial.c
/qemu/hw/cpu/a15mpcore.c
/qemu/hw/cpu/a9mpcore.c
/qemu/hw/cpu/meson.build
/qemu/hw/misc/meson.build
/qemu/hw/misc/xlnx-versal-crl.c
/qemu/hw/net/virtio-net.c
/qemu/hw/vfio/common.c
/qemu/hw/vfio/pci.c
/qemu/include/hw/arm/allwinner-r40.h
/qemu/include/hw/arm/fsl-imx6.h
/qemu/include/hw/arm/fsl-imx6ul.h
/qemu/include/hw/arm/xlnx-versal.h
/qemu/include/hw/char/imx_serial.h
/qemu/include/hw/intc/armv7m_nvic.h
/qemu/include/hw/misc/xlnx-versal-crl.h
/qemu/include/qapi/visitor.h
/qemu/include/qemu/bswap.h
/qemu/include/qemu/yank.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/migration/migration-hmp-cmds.c
/qemu/migration/migration.c
/qemu/migration/migration.h
/qemu/migration/postcopy-ram.c
/qemu/migration/ram.c
/qemu/migration/savevm.c
/qemu/migration/yank_functions.c
/qemu/qapi/block-core.json
/qemu/qapi/char.json
/qemu/qapi/introspect.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-util.c
/qemu/qapi/qdev.json
/qemu/qapi/qom.json
/qemu/qapi/yank.json
/qemu/scripts/analyze-migration.py
/qemu/scripts/qapi/parser.py
/qemu/subprojects/libvhost-user/libvhost-user.c
/qemu/target/arm/arm-powerctl.c
/qemu/target/arm/cpregs.h
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/gtimer.h
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/kvm.c
/qemu/target/arm/machine.c
/qemu/target/arm/multiprocessing.h
/qemu/target/arm/tcg/psci.c
/qemu/target/arm/tcg/tlb_helper.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/xtensa/mmu_helper.c
/qemu/tests/qemu-iotests/264
/qemu/tests/qemu-iotests/277
/qemu/tests/qemu-iotests/tests/iothreads-stream
/qemu/tests/qtest/migration-test.c
/qemu/tests/unit/meson.build
/qemu/util/yank.c
d3f6f29419-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: always set ioeventfd during startup

When starting ioeventfd it is common practice to set the event notifier
so that the ioeventfd handler is triggered to run immediately. There may
be no

virtio-blk: always set ioeventfd during startup

When starting ioeventfd it is common practice to set the event notifier
so that the ioeventfd handler is triggered to run immediately. There may
be no requests waiting to be processed, but the idea is that if a
request snuck in then we guarantee that it will be detected.

One scenario where self-triggering the ioeventfd is necessary is when
virtio_blk_handle_output() is called from a vCPU thread before the
VIRTIO Device Status transitions to DRIVER_OK. In that case we need to
self-trigger the ioeventfd so that the kick handled by the vCPU thread
causes the vq AioContext thread to take over handling the request(s).

Fixes: b6948ab01df0 ("virtio-blk: add iothread-vq-mapping parameter")
Reported-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-7-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

ea0736d719-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: tolerate failure to set BlockBackend AioContext

We no longer rely on setting the AioContext since the block layer
IO_CODE APIs can be called from any thread. Now it's just a hint to help

virtio-blk: tolerate failure to set BlockBackend AioContext

We no longer rely on setting the AioContext since the block layer
IO_CODE APIs can be called from any thread. Now it's just a hint to help
block jobs and other operations co-locate themselves in a thread with
the guest I/O requests. Keep going if setting the AioContext fails.

Suggested-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-6-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

71ee0cdd19-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: restart s->rq reqs in vq AioContexts

A virtio-blk device with the iothread-vq-mapping parameter has
per-virtqueue AioContexts. It is not thread-safe to process s->rq
requests in the Bloc

virtio-blk: restart s->rq reqs in vq AioContexts

A virtio-blk device with the iothread-vq-mapping parameter has
per-virtqueue AioContexts. It is not thread-safe to process s->rq
requests in the BlockBackend AioContext since that may be different from
the virtqueue's AioContext to which this request belongs. The code
currently races and could crash.

Adapt virtio_blk_dma_restart_cb() to first split s->rq into per-vq lists
and then schedule a BH each vq's AioContext as necessary. This way
requests are safely processed in their vq's AioContext.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-5-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

3cdaf3dd19-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: rename dataplane to ioeventfd

The dataplane code is really about using ioeventfd. It's used both for
IOThreads (what we think of as dataplane) and for the core virtio-pci
code's ioeventf

virtio-blk: rename dataplane to ioeventfd

The dataplane code is really about using ioeventfd. It's used both for
IOThreads (what we think of as dataplane) and for the core virtio-pci
code's ioeventfd feature (which is enabled by default and used when no
IOThread has been specified). Rename the code to reflect this.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-4-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

57bc265819-Jan-2024 Stefan Hajnoczi <stefanha@redhat.com>

virtio-blk: rename dataplane create/destroy functions

virtio_blk_data_plane_create() and virtio_blk_data_plane_destroy() are
actually about s->vq_aio_context[] rather than managing
dataplane-specifi

virtio-blk: rename dataplane create/destroy functions

virtio_blk_data_plane_create() and virtio_blk_data_plane_destroy() are
actually about s->vq_aio_context[] rather than managing
dataplane-specific state.

As a prerequisite to using s->vq_aio_context[] in all code paths (even
when dataplane is not used), rename these functions to reflect that they
just manage s->vq_aio_context and call them regardless of whether or not
dataplane is in use.

Note that virtio-blk supports running with -device
virtio-blk-pci,ioevent=off where the vCPU thread enters the device
emulation code. In this mode ioeventfd is not used for virtqueue
processing. However, we still want to initialize s->vq_aio_context[] to
qemu_aio_context in that case since I/O completion callbacks will be
invoked in the main loop thread.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240119135748.270944-3-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>

show more ...

12345678910>>...49