History log of /openbmc/qemu/hw/net/ (Results 426 – 450 of 1727)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
df8d070820-Oct-2022 Laurent Vivier <lvivier@redhat.com>

virtio-net: fix bottom-half packet TX on asynchronous completion

When virtio-net is used with the socket netdev backend, the backend
can be busy and not able to collect new packets.

In this case, n

virtio-net: fix bottom-half packet TX on asynchronous completion

When virtio-net is used with the socket netdev backend, the backend
can be busy and not able to collect new packets.

In this case, net_socket_receive() returns 0 and registers a poll function
to detect when the socket is ready again.

In virtio_net_tx_bh(), virtio_net_flush_tx() forwards the 0, the virtio
notifications are disabled and the function is not re-scheduled, waiting
for the backend to be ready.

When the socket netdev backend is again able to send packets, the poll
function re-starts to flush remaining packets. This is done by
calling virtio_net_tx_complete(). It re-enables notifications and calls
again virtio_net_flush_tx().

But it seems if virtio_net_flush_tx() reaches the tx_burst value all
the queue is not flushed and no new notification is sent to re-schedule
virtio_net_tx_bh(). Nothing re-start to flush the queue and remaining
packets are stuck in the queue.

To fix that, detect in virtio_net_tx_complete() if virtio_net_flush_tx()
has been stopped by tx_burst and if yes re-schedule the bottom half
function virtio_net_tx_bh() to flush the remaining packets.

This is what is done in virtio_net_tx_bh() when the virtio_net_flush_tx()
is synchronous, and completly by-passed when the operation needs to be
asynchronous.

Fixes: a697a334b3c4 ("virtio-net: Introduce a new bottom half packet TX")
Cc: alex.williamson@redhat.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/meson.build
/openbmc/qemu/accel/tcg/tb-maint.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/bsd-user/mmap.c
/openbmc/qemu/cpu.c
/openbmc/qemu/dump/dump.c
/openbmc/qemu/dump/win_dump.c
/openbmc/qemu/fsdev/virtfs-proxy-helper.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/m25p80_sfdp.c
/openbmc/qemu/hw/block/m25p80_sfdp.h
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/block/trace-events
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/m68k/bootinfo.h
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
virtio-net.c
/openbmc/qemu/hw/s390x/pv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/ssi/ssi.c
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/ram_addr.h
/openbmc/qemu/include/exec/translate-all.h
/openbmc/qemu/include/hw/core/tcg-cpu-ops.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/s390x/pv.h
/openbmc/qemu/include/hw/ssi/aspeed_smc.h
/openbmc/qemu/include/hw/ssi/ssi.h
/openbmc/qemu/include/qemu/atomic.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/qemu/thread.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo-virt.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo.h
/openbmc/qemu/include/sysemu/dump-arch.h
/openbmc/qemu/include/sysemu/dump.h
/openbmc/qemu/linux-user/cpu_loop-common.h
/openbmc/qemu/linux-user/i386/cpu_loop.c
/openbmc/qemu/linux-user/ioctls.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/mte_helper.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/translate.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/ops_sse_header.h
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/decode-new.h
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/tcg/tcg-internal.h
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/cpu.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/rx/translate.c
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/kvm/kvm_s390x.h
/openbmc/qemu/target/s390x/kvm/meson.build
/openbmc/qemu/target/s390x/kvm/stubs.c
/openbmc/qemu/target/s390x/s390x-internal.h
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/cpu.h
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.c.inc
/openbmc/qemu/tcg/loongarch64/tcg-target.h
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/virtio-9p-client.c
/openbmc/qemu/tests/qtest/libqos/virtio-9p-client.h
/openbmc/qemu/tests/qtest/virtio-9p-test.c
/openbmc/qemu/tests/tcg/i386/test-avx.c
/openbmc/qemu/tests/tcg/i386/test-avx.py
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/gtk.c
c1dadb8424-Oct-2022 Bin Meng <bmeng@tinylab.org>

treewide: Remove the unnecessary space before semicolon

%s/return ;/return;

Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Christian

treewide: Remove the unnecessary space before semicolon

%s/return ;/return;

Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <20221024072802.457832-1-bmeng@tinylab.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/audio/alsaaudio.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio_int.h
/openbmc/qemu/audio/audio_template.h
/openbmc/qemu/audio/dbusaudio.c
/openbmc/qemu/audio/noaudio.c
/openbmc/qemu/audio/rate_template.h
/openbmc/qemu/audio/spiceaudio.c
/openbmc/qemu/audio/wavaudio.c
/openbmc/qemu/block.c
/openbmc/qemu/block/blkverify.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/curl.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/nfs.c
/openbmc/qemu/block/nvme.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qcow2.h
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/quorum.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/block/replication.c
/openbmc/qemu/block/throttle.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/blockjob.c
/openbmc/qemu/configs/devices/ppc-softmmu/default.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/elf2dmp/main.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/docs/specs/pci-ids.txt
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/nuvoton.rst
/openbmc/qemu/docs/system/ppc/ppce500.rst
/openbmc/qemu/dump/dump.c
/openbmc/qemu/fpu/softfloat-parts.c.inc
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/9pfs/9p.h
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/block/virtio-blk-common.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/exynos4210_uart.c
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/core/sysbus-fdt.c
/openbmc/qemu/hw/display/blizzard.c
/openbmc/qemu/hw/display/cirrus_vga.c
/openbmc/qemu/hw/dma/pl330.c
/openbmc/qemu/hw/gpio/Kconfig
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/ide/microdrive.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/misc/cbus.c
can/can_sja1000.c
/openbmc/qemu/hw/nios2/boot.c
/openbmc/qemu/hw/nios2/meson.build
/openbmc/qemu/hw/nvram/eeprom93xx.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/e500.h
/openbmc/qemu/hw/ppc/e500plat.c
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/mpc8544ds.c
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/ppc405.h
/openbmc/qemu/hw/ppc/ppc405_boards.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc440.h
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/mptsas.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/ssi/ibex_spi_host.c
/openbmc/qemu/hw/timer/renesas_cmt.c
/openbmc/qemu/hw/timer/renesas_tmr.c
/openbmc/qemu/hw/usb/ccid-card-emulated.c
/openbmc/qemu/hw/virtio/meson.build
/openbmc/qemu/hw/virtio/virtio-iommu-pci.c
/openbmc/qemu/hw/virtio/virtio-mem-pci.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/virtio/virtio-pmem-pci.c
/openbmc/qemu/hw/virtio/virtio-stub.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/include/block/aio-wait.h
/openbmc/qemu/include/block/blockjob.h
/openbmc/qemu/include/block/nbd.h
/openbmc/qemu/include/hw/core/sysemu-cpu-ops.h
/openbmc/qemu/include/hw/cxl/cxl_device.h
/openbmc/qemu/include/hw/elf_ops.h
/openbmc/qemu/include/hw/firmware/smbios.h
/openbmc/qemu/include/hw/nvram/fw_cfg.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/ppc/ppc4xx.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/ssi/ibex_spi_host.h
/openbmc/qemu/include/hw/virtio/vhost-user-blk.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio-blk-common.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/io/channel-command.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/job.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/sysemu/device_tree.h
/openbmc/qemu/include/sysemu/dump.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/kvm_int.h
/openbmc/qemu/io/channel-command.c
/openbmc/qemu/job-qmp.c
/openbmc/qemu/job.c
/openbmc/qemu/linux-user/i386/signal.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/monitor/qmp-cmds.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qapi/virtio.json
/openbmc/qemu/qemu-edid.c
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/vmstate-static-checker.py
/openbmc/qemu/softmmu/device_tree.c
/openbmc/qemu/target/arm/arch_dump.c
/openbmc/qemu/target/arm/cpu-param.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/m_helper.c
/openbmc/qemu/target/arm/mte_helper.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/sve_ldst_internal.h
/openbmc/qemu/target/arm/tlb_helper.c
/openbmc/qemu/target/arm/translate-a32.h
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-m-nocp.c
/openbmc/qemu/target/arm/translate-mve.c
/openbmc/qemu/target/arm/translate-vfp.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/i386/arch_dump.c
/openbmc/qemu/target/i386/cpu-param.h
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/kvm/hyperv.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/kvm/kvm_i386.h
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/ops_sse_header.h
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/decode-new.h
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/misc_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/svm_helper.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/whpx/whpx-all.c
/openbmc/qemu/target/loongarch/insn_trans/trans_bit.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/ppc/arch_dump.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/riscv/arch_dump.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/kvm.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/op_helper.c
/openbmc/qemu/target/s390x/arch_dump.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/s390x-internal.h
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/ppc_bamboo.py
/openbmc/qemu/tests/data/acpi/pc/DSDT
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/q35/DSDT
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/q35/DSDT.xapic
/openbmc/qemu/tests/data/acpi/virt/GTDT
/openbmc/qemu/tests/data/acpi/virt/GTDT.memhp
/openbmc/qemu/tests/data/acpi/virt/GTDT.numamem
/openbmc/qemu/tests/migration/guestperf/engine.py
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/device-plug-test.c
/openbmc/qemu/tests/qtest/drive_del-test.c
/openbmc/qemu/tests/qtest/fuzz-lsi53c895a-test.c
/openbmc/qemu/tests/qtest/fuzz-megasas-test.c
/openbmc/qemu/tests/qtest/fuzz-sb16-test.c
/openbmc/qemu/tests/qtest/fuzz-sdcard-test.c
/openbmc/qemu/tests/qtest/fuzz-virtio-scsi-test.c
/openbmc/qemu/tests/qtest/fuzz-xlnx-dp-test.c
/openbmc/qemu/tests/qtest/hd-geo-test.c
/openbmc/qemu/tests/qtest/ivshmem-test.c
/openbmc/qemu/tests/qtest/libqos/pci-pc.c
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/qmp-cmd-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/qtest/vnc-display-test.c
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/i386/test-avx.c
/openbmc/qemu/tests/tcg/i386/test-avx.py
/openbmc/qemu/tests/unit/io-channel-helpers.c
/openbmc/qemu/tests/unit/test-bdrv-drain.c
/openbmc/qemu/tests/unit/test-block-iothread.c
/openbmc/qemu/tests/unit/test-blockjob-txn.c
/openbmc/qemu/tests/unit/test-blockjob.c
/openbmc/qemu/tests/unit/test-coroutine.c
/openbmc/qemu/tests/unit/test-image-locking.c
/openbmc/qemu/tests/unit/test-io-channel-command.c
/openbmc/qemu/ui/gtk-egl.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/vnc-enc-hextile.c
/openbmc/qemu/ui/vnc-jobs.c
/openbmc/qemu/ui/vnc.c
/openbmc/qemu/util/iov.c
/openbmc/qemu/util/osdep.c
/openbmc/qemu/util/qemu-coroutine-lock.c
/openbmc/qemu/util/qemu-coroutine.c
/openbmc/qemu/util/qemu-thread-win32.c
d74c30c806-Sep-2022 Daniil Tatianin <d-tatianin@yandex-team.ru>

virtio: introduce VirtIOConfigSizeParams & virtio_get_config_size

This is the first step towards moving all device config size calculation
logic into the virtio core code. In particular, this adds a

virtio: introduce VirtIOConfigSizeParams & virtio_get_config_size

This is the first step towards moving all device config size calculation
logic into the virtio core code. In particular, this adds a struct that
contains all the necessary information for common virtio code to be able
to calculate the final config size for a device. This is expected to be
used with the new virtio_get_config_size helper, which calculates the
final length based on the provided host features.

This builds on top of already existing code like VirtIOFeature and
virtio_feature_get_config_size(), but adds additional fields, as well as
sanity checking so that device-specifc code doesn't have to duplicate it.

An example usage would be:

static const VirtIOFeature dev_features[] = {
{.flags = 1ULL << FEATURE_1_BIT,
.end = endof(struct virtio_dev_config, feature_1)},
{.flags = 1ULL << FEATURE_2_BIT,
.end = endof(struct virtio_dev_config, feature_2)},
{}
};

static const VirtIOConfigSizeParams dev_cfg_size_params = {
.min_size = DEV_BASE_CONFIG_SIZE,
.max_size = sizeof(struct virtio_dev_config),
.feature_sizes = dev_features
};

// code inside my_dev_device_realize()
size_t config_size = virtio_get_config_size(&dev_cfg_size_params,
host_features);
virtio_init(vdev, VIRTIO_ID_MYDEV, config_size);

Currently every device is expected to write its own boilerplate from the
example above in device_realize(), however, the next step of this
transition is moving VirtIOConfigSizeParams into VirtioDeviceClass,
so that it can be done automatically by the virtio initialization code.

All of the users of virtio_feature_get_config_size have been converted
to use virtio_get_config_size so it's no longer needed and is removed
with this commit.

Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru>
Message-Id: <20220906073111.353245-2-d-tatianin@yandex-team.ru>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...


/openbmc/qemu/.gitignore
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-11.vars
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/.mailmap
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/accel-common.c
/openbmc/qemu/accel/kvm/kvm-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/kvm/kvm-cpus.h
/openbmc/qemu/accel/stubs/kvm-stub.c
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/internal.h
/openbmc/qemu/accel/tcg/plugin-gen.c
/openbmc/qemu/accel/tcg/tb-hash.h
/openbmc/qemu/accel/tcg/tb-jmp-cache.h
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/tcg-all.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio_template.h
/openbmc/qemu/audio/meson.build
/openbmc/qemu/audio/sndioaudio.c
/openbmc/qemu/block/accounting.c
/openbmc/qemu/block/file-posix.c
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/iscsi.c
/openbmc/qemu/block/monitor/block-hmp-cmds.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/raw-format.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/chardev/msmouse.c
/openbmc/qemu/chardev/wctablet.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/gitdm/domain-map
/openbmc/qemu/contrib/gitdm/group-map-academics
/openbmc/qemu/contrib/gitdm/group-map-individuals
/openbmc/qemu/contrib/plugins/execlog.c
/openbmc/qemu/cpu.c
/openbmc/qemu/disas.c
/openbmc/qemu/disas/capstone.c
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/fuzzing.rst
/openbmc/qemu/docs/devel/tcg-plugins.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/devel/writing-monitor-commands.rst
/openbmc/qemu/docs/specs/tpm.rst
/openbmc/qemu/docs/system/riscv/virt.rst
/openbmc/qemu/docs/tools/qemu-img.rst
/openbmc/qemu/gdb-xml/riscv-32bit-cpu.xml
/openbmc/qemu/gdb-xml/riscv-32bit-fpu.xml
/openbmc/qemu/gdb-xml/riscv-64bit-cpu.xml
/openbmc/qemu/gdb-xml/riscv-64bit-fpu.xml
/openbmc/qemu/gdbstub/gdbstub.c
/openbmc/qemu/gdbstub/internals.h
/openbmc/qemu/gdbstub/meson.build
/openbmc/qemu/gdbstub/softmmu.c
/openbmc/qemu/gdbstub/trace-events
/openbmc/qemu/gdbstub/trace.h
/openbmc/qemu/gdbstub/user.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/block/block.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/char/serial.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/cpu-sysemu.c
/openbmc/qemu/hw/display/ati_2d.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/m68k/bootinfo.h
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/misc/mos6522.c
virtio-net.c
/openbmc/qemu/hw/nvram/fw_cfg.c
/openbmc/qemu/hw/remote/iommu.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/s390x/meson.build
/openbmc/qemu/hw/s390x/s390-pci-bus.c
/openbmc/qemu/hw/s390x/s390-pci-inst.c
/openbmc/qemu/hw/s390x/s390-pci-kvm.c
/openbmc/qemu/hw/s390x/s390-pci-vfio.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/vhost-scsi.c
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/ssi/ibex_spi_host.c
/openbmc/qemu/hw/usb/dev-network.c
/openbmc/qemu/hw/usb/dev-storage.c
/openbmc/qemu/hw/usb/hcd-ohci.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/virtio/Kconfig
/openbmc/qemu/hw/virtio/meson.build
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-shadow-virtqueue.c
/openbmc/qemu/hw/virtio/vhost-user-fs.c
/openbmc/qemu/hw/virtio/vhost-user-gpio-pci.c
/openbmc/qemu/hw/virtio/vhost-user-gpio.c
/openbmc/qemu/hw/virtio/vhost-user-i2c.c
/openbmc/qemu/hw/virtio/vhost-user-rng.c
/openbmc/qemu/hw/virtio/vhost-user-vsock.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vsock-common.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/hw/watchdog/sbsa_gwdt.c
/openbmc/qemu/hw/watchdog/watchdog.c
/openbmc/qemu/hw/watchdog/wdt_aspeed.c
/openbmc/qemu/hw/watchdog/wdt_diag288.c
/openbmc/qemu/hw/watchdog/wdt_i6300esb.c
/openbmc/qemu/hw/watchdog/wdt_ib700.c
/openbmc/qemu/hw/watchdog/wdt_imx2.c
/openbmc/qemu/hw/xen/xen_pt_config_init.c
/openbmc/qemu/include/block/accounting.h
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-io.h
/openbmc/qemu/include/chardev/char.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/cpu-defs.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/plugin-gen.h
/openbmc/qemu/include/hw/arm/xlnx-zynqmp.h
/openbmc/qemu/include/hw/block/block.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/ide/internal.h
/openbmc/qemu/include/hw/nvram/fw_cfg.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/riscv/sifive_e.h
/openbmc/qemu/include/hw/s390x/s390-pci-bus.h
/openbmc/qemu/include/hw/s390x/s390-pci-kvm.h
/openbmc/qemu/include/hw/s390x/s390-pci-vfio.h
/openbmc/qemu/include/hw/s390x/s390-virtio-ccw.h
/openbmc/qemu/include/hw/usb/msd.h
/openbmc/qemu/include/hw/virtio/vhost-user-gpio.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/monitor/monitor.h
/openbmc/qemu/include/qemu-main.h
/openbmc/qemu/include/qemu/accel.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/include/qemu/plugin.h
/openbmc/qemu/include/qemu/sockets.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/include/standard-headers/asm-x86/bootparam.h
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/input.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/vhost_types.h
/openbmc/qemu/include/standard-headers/linux/virtio_9p.h
/openbmc/qemu/include/standard-headers/linux/virtio_config.h
/openbmc/qemu/include/standard-headers/linux/virtio_ids.h
/openbmc/qemu/include/standard-headers/linux/virtio_net.h
/openbmc/qemu/include/standard-headers/linux/virtio_pci.h
/openbmc/qemu/include/standard-headers/linux/virtio_ring.h
/openbmc/qemu/include/sysemu/accel-ops.h
/openbmc/qemu/include/sysemu/cpus.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/sysemu/watchdog.h
/openbmc/qemu/include/tcg/tcg.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/unistd.h
/openbmc/qemu/linux-headers/asm-s390/kvm.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/mman.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/userfaultfd.h
/openbmc/qemu/linux-headers/linux/vduse.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-headers/linux/vfio_zdev.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/linux-user/aarch64/target_mman.h
/openbmc/qemu/linux-user/alpha/target_mman.h
/openbmc/qemu/linux-user/arm/target_mman.h
/openbmc/qemu/linux-user/cpu_loop-common.h
/openbmc/qemu/linux-user/cris/target_mman.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/generic/target_mman.h
/openbmc/qemu/linux-user/hexagon/target_mman.h
/openbmc/qemu/linux-user/hppa/cpu_loop.c
/openbmc/qemu/linux-user/hppa/signal.c
/openbmc/qemu/linux-user/hppa/target_mman.h
/openbmc/qemu/linux-user/hppa/target_signal.h
/openbmc/qemu/linux-user/hppa/target_syscall.h
/openbmc/qemu/linux-user/i386/target_elf.h
/openbmc/qemu/linux-user/i386/target_mman.h
/openbmc/qemu/linux-user/include/host/s390/host-signal.h
/openbmc/qemu/linux-user/loongarch64/target_mman.h
/openbmc/qemu/linux-user/m68k/target_mman.h
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/microblaze/target_mman.h
/openbmc/qemu/linux-user/mips/target_mman.h
/openbmc/qemu/linux-user/mips64/target_mman.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/nios2/target_mman.h
/openbmc/qemu/linux-user/openrisc/target_mman.h
/openbmc/qemu/linux-user/ppc/target_mman.h
/openbmc/qemu/linux-user/riscv/target_mman.h
/openbmc/qemu/linux-user/s390x/signal.c
/openbmc/qemu/linux-user/s390x/target_mman.h
/openbmc/qemu/linux-user/sh4/signal.c
/openbmc/qemu/linux-user/sh4/target_mman.h
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/linux-user/sparc/target_mman.h
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/linux-user/x86_64/target_elf.h
/openbmc/qemu/linux-user/x86_64/target_mman.h
/openbmc/qemu/linux-user/xtensa/target_mman.h
/openbmc/qemu/meson
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/hmp.c
/openbmc/qemu/monitor/monitor-internal.h
/openbmc/qemu/net/tap.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/optionrom/Makefile
/openbmc/qemu/pc-bios/qboot.rom
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/vof/Makefile
/openbmc/qemu/plugins/api.c
/openbmc/qemu/plugins/core.c
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/meson.build
/openbmc/qemu/replay/replay-char.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/scripts/ci/setup/build-environment.yml
/openbmc/qemu/scripts/main.c
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/softmmu/cpus.c
/openbmc/qemu/softmmu/dirtylimit.c
/openbmc/qemu/softmmu/main.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/replay-tools.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/mte_helper.c
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/hexagon/attribs_def.h.inc
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/decode.c
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/hex_common.py
/openbmc/qemu/target/hexagon/imported/ldst.idef
/openbmc/qemu/target/hexagon/imported/subinsns.idef
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hppa/cpu.c
/openbmc/qemu/target/hppa/helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/helper.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/whpx/whpx-all.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/tcg/exception.c
/openbmc/qemu/target/mips/tcg/sysemu/special_helper.c
/openbmc/qemu/target/nios2/cpu.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/debug.c
/openbmc/qemu/target/riscv/debug.h
/openbmc/qemu/target/riscv/gdbstub.c
/openbmc/qemu/target/riscv/helper.h
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/kvm/kvm_s390x.h
/openbmc/qemu/target/s390x/tcg/crypto_helper.c
/openbmc/qemu/target/s390x/tcg/insn-data.def
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/cpu.h
/openbmc/qemu/target/sh4/helper.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/tcg.c
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/machine_s390_ccw_virtio.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-riscv64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-i386-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/docker/run
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/172.out
/openbmc/qemu/tests/qemu-iotests/227.out
/openbmc/qemu/tests/qemu-iotests/tests/backing-file-invalidation
/openbmc/qemu/tests/qemu-iotests/tests/backing-file-invalidation.out
/openbmc/qemu/tests/qtest/ahci-test.c
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/boot-serial-test.c
/openbmc/qemu/tests/qtest/cxl-test.c
/openbmc/qemu/tests/qtest/dbus-display-test.c
/openbmc/qemu/tests/qtest/device-plug-test.c
/openbmc/qemu/tests/qtest/fdc-test.c
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/openbmc/qemu/tests/qtest/fuzz/virtio_blk_fuzz.c
/openbmc/qemu/tests/qtest/hd-geo-test.c
/openbmc/qemu/tests/qtest/i440fx-test.c
/openbmc/qemu/tests/qtest/ide-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/qgraph.h
/openbmc/qemu/tests/qtest/libqos/virtio-gpio.c
/openbmc/qemu/tests/qtest/libqos/virtio-gpio.h
/openbmc/qemu/tests/qtest/libqos/virtio.c
/openbmc/qemu/tests/qtest/libqtest-single.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/microbit-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/pflash-cfi02-test.c
/openbmc/qemu/tests/qtest/qmp-test.c
/openbmc/qemu/tests/qtest/qos-test.c
/openbmc/qemu/tests/qtest/vhost-user-blk-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/qtest/virtio-blk-test.c
/openbmc/qemu/tests/qtest/virtio-net-failover.c
/openbmc/qemu/tests/qtest/virtio-net-test.c
/openbmc/qemu/tests/qtest/virtio-scsi-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/aarch64/Makefile.target
/openbmc/qemu/tests/tcg/arm/Makefile.target
/openbmc/qemu/tests/tcg/cris/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/linux/linux-madvise.c
/openbmc/qemu/tests/tcg/multiarch/system/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/ppc64/bcdsub.c
/openbmc/qemu/tests/tcg/ppc64/byte_reverse.c
/openbmc/qemu/tests/tcg/ppc64/mffsce.c
/openbmc/qemu/tests/tcg/ppc64/mtfsf.c
/openbmc/qemu/tests/tcg/ppc64/non_signalling_xscv.c
/openbmc/qemu/tests/tcg/ppc64/signal_save_restore_xer.c
/openbmc/qemu/tests/tcg/ppc64/xxspltw.c
/openbmc/qemu/tests/tcg/ppc64le/Makefile.target
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/Makefile.softmmu-target
/openbmc/qemu/tests/unit/test-image-locking.c
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tests/vhost-user-bridge.c
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/trace-events
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/ui/clipboard.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus.h
/openbmc/qemu/ui/trace-events
/openbmc/qemu/ui/vdagent.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/qemu-config.c
ca8717f906-Sep-2022 Eugenio Pérez <eperezma@redhat.com>

virtio-net: Update virtio-net curr_queue_pairs in vdpa backends

It was returned as error before. Instead of it, simply update the
corresponding field so qemu can send it in the migration data.

Sign

virtio-net: Update virtio-net curr_queue_pairs in vdpa backends

It was returned as error before. Instead of it, simply update the
corresponding field so qemu can send it in the migration data.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Si-Wei Liu <si-wei.liu@oracle.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

8dc2779114-Sep-2022 Ding Hui <dinghui@sangfor.com.cn>

e1000e: set RX desc status with DD flag in a separate operation

Like commit 034d00d48581 ("e1000: set RX descriptor status in
a separate operation"), there is also same issue in e1000e, which
would

e1000e: set RX desc status with DD flag in a separate operation

Like commit 034d00d48581 ("e1000: set RX descriptor status in
a separate operation"), there is also same issue in e1000e, which
would cause lost packets or stop sending packets to VM with DPDK.

Do similar fix in e1000e.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/402
Signed-off-by: Ding Hui <dinghui@sangfor.com.cn>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

c140a69019-Aug-2022 Philippe Mathieu-Daudé <philmd@redhat.com>

hw/net/e1000e_core: Use definition to avoid dynamic stack allocation

The compiler isn't clever enough to figure 'min_buf_size'
is a constant, so help it by using a definitions instead.

Signed-off-b

hw/net/e1000e_core: Use definition to avoid dynamic stack allocation

The compiler isn't clever enough to figure 'min_buf_size'
is a constant, so help it by using a definitions instead.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20220819153931.3147384-6-peter.maydell@linaro.org

show more ...

895a803c29-Aug-2022 Lucas Dietrich <ld.adecy@gmail.com>

hw/net/lan9118: Signal TSFL_INT flag when TX FIFO reaches specified level

The LAN9118 allows the guest to specify a level for both the TX and
RX FIFOs at which an interrupt will be generated. We im

hw/net/lan9118: Signal TSFL_INT flag when TX FIFO reaches specified level

The LAN9118 allows the guest to specify a level for both the TX and
RX FIFOs at which an interrupt will be generated. We implement the
RSFL_INT interrupt for the RX FIFO but are missing the handling of
the equivalent TSFL_INT for the TX FIFO. Add the missing test to set
the interrupt if the TX FIFO has exceeded the guest-specified level.

This flag is required for Micrium lan911x ethernet driver to work.

Signed-off-by: Lucas Dietrich <ld.adecy@gmail.com>
[PMM: Tweaked commit message and comment]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

fb96d13117-Aug-2022 Anton Kochkov <anton.kochkov@proton.me>

hw/net/can: fix Xilinx ZynqMP CAN RX FIFO logic

For consistency, function "update_rx_fifo()" should use the RX FIFO
register field names, not the TX FIFO ones, even if they refer to the
same bit pos

hw/net/can: fix Xilinx ZynqMP CAN RX FIFO logic

For consistency, function "update_rx_fifo()" should use the RX FIFO
register field names, not the TX FIFO ones, even if they refer to the
same bit positions in the register.

Signed-off-by: Anton Kochkov <anton.kochkov@proton.me>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Message-id: 20220817141754.2105981-1-anton.kochkov@proton.me
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1123
[PMM: tweaked commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/container-core.yml
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-22.04-aarch64.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/accel/tcg/translator.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio.h
/openbmc/qemu/backends/tpm/tpm_emulator.c
/openbmc/qemu/backends/tpm/tpm_ioctl.h
/openbmc/qemu/backends/tpm/trace-events
/openbmc/qemu/chardev/char-socket.c
/openbmc/qemu/configs/devices/or1k-softmmu/default.mak
/openbmc/qemu/configs/targets/or1k-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/qemu-ga.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/system/openrisc/cpu-features.rst
/openbmc/qemu/docs/system/openrisc/emulation.rst
/openbmc/qemu/docs/system/openrisc/or1k-sim.rst
/openbmc/qemu/docs/system/openrisc/virt.rst
/openbmc/qemu/docs/system/target-openrisc.rst
/openbmc/qemu/docs/system/targets.rst
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/microbit.c
/openbmc/qemu/hw/arm/mps2-tz.c
/openbmc/qemu/hw/arm/mps2.c
/openbmc/qemu/hw/arm/msf2-som.c
/openbmc/qemu/hw/arm/musca.c
/openbmc/qemu/hw/arm/netduino2.c
/openbmc/qemu/hw/arm/netduinoplus2.c
/openbmc/qemu/hw/arm/stellaris.c
/openbmc/qemu/hw/arm/stm32vldiscovery.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/core/sysbus-fdt.c
/openbmc/qemu/hw/intc/riscv_aclint.c
/openbmc/qemu/hw/intc/riscv_imsic.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/fw_cfg.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/misc/bcm2835_property.c
can/xlnx-zynqmp-can.c
/openbmc/qemu/hw/openrisc/Kconfig
/openbmc/qemu/hw/openrisc/boot.c
/openbmc/qemu/hw/openrisc/cputimer.c
/openbmc/qemu/hw/openrisc/meson.build
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/openrisc/virt.c
/openbmc/qemu/hw/pci-host/pnv_phb3.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/microchip_pfsoc.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/shakti_c.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/goldfish_rtc.c
/openbmc/qemu/hw/scsi/esp.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/megasas.c
/openbmc/qemu/hw/scsi/mptsas.c
/openbmc/qemu/hw/scsi/scsi-bus.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/scsi/virtio-scsi.c
/openbmc/qemu/hw/scsi/vmw_pvscsi.c
/openbmc/qemu/hw/smbios/smbios.c
/openbmc/qemu/hw/timer/ibex_timer.c
/openbmc/qemu/hw/tpm/tpm_crb.c
/openbmc/qemu/hw/usb/dev-storage.c
/openbmc/qemu/hw/usb/dev-uas.c
/openbmc/qemu/include/elf.h
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/exec-all.h
/openbmc/qemu/include/exec/translator.h
/openbmc/qemu/include/hw/arm/boot.h
/openbmc/qemu/include/hw/intc/riscv_aclint.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/openrisc/boot.h
/openbmc/qemu/include/hw/pci-host/ls7a.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/riscv/microchip_pfsoc.h
/openbmc/qemu/include/hw/riscv/opentitan.h
/openbmc/qemu/include/hw/riscv/virt.h
/openbmc/qemu/include/hw/rtc/goldfish_rtc.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/timer/ibex_timer.h
/openbmc/qemu/include/semihosting/semihost.h
/openbmc/qemu/include/sysemu/os-win32.h
/openbmc/qemu/linux-user/arm/target_cpu.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/monitor/hmp.c
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/pc-bios/keymaps/meson.build
/openbmc/qemu/pc-bios/opensbi-riscv32-generic-fw_dynamic.bin
/openbmc/qemu/pc-bios/opensbi-riscv64-generic-fw_dynamic.bin
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/guest-agent-core.h
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/roms/opensbi
/openbmc/qemu/roms/qboot
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/semihost.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/avr/translate.c
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/hexagon/translate.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/ops_sse.h
/openbmc/qemu/target/i386/ops_sse_header.h
/openbmc/qemu/target/i386/tcg/excp_helper.c
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/i386/tcg/tcg-cpu.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/i386/tcg/user/excp_helper.c
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/m68k-semi.c
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/mips16e_translate.c.inc
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/nios2-semi.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/cpu.h
/openbmc/qemu/target/openrisc/interrupt.c
/openbmc/qemu/target/openrisc/mmu.c
/openbmc/qemu/target/openrisc/sys_helper.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/dfp_helper.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-ops.c.inc
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn16.decode
/openbmc/qemu/target/riscv/insn32.decode
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/instmap.h
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/riscv/pmu.h
/openbmc/qemu/target/riscv/time_helper.c
/openbmc/qemu/target/riscv/time_helper.h
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/rx/translate.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/target/sh4/translate.c
/openbmc/qemu/target/sparc/translate.c
/openbmc/qemu/target/tricore/translate.c
/openbmc/qemu/target/xtensa/translate.c
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/boot_linux.py
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/data/test-qga-config
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/docker.py
/openbmc/qemu/tests/docker/dockerfiles/debian-all-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-alpha-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hexagon-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-hppa-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-loongarch-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-m68k-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-riscv64-test-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-sh4-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-sparc64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-toolchain.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/fp/meson.build
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qapi-schema/meson.build
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/e1000-test.c
/openbmc/qemu/tests/qtest/es1370-test.c
/openbmc/qemu/tests/qtest/fuzz-lsi53c895a-test.c
/openbmc/qemu/tests/qtest/fuzz-sb16-test.c
/openbmc/qemu/tests/qtest/intel-hda-test.c
/openbmc/qemu/tests/qtest/npcm7xx_emc-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/i386/Makefile.target
/openbmc/qemu/tests/tcg/i386/README
/openbmc/qemu/tests/tcg/i386/test-3dnow.c
/openbmc/qemu/tests/tcg/i386/test-avx.c
/openbmc/qemu/tests/tcg/i386/test-avx.py
/openbmc/qemu/tests/tcg/i386/test-i386-bmi2.c
/openbmc/qemu/tests/tcg/i386/test-i386.c
/openbmc/qemu/tests/tcg/i386/test-mmx.c
/openbmc/qemu/tests/tcg/i386/test-mmx.py
/openbmc/qemu/tests/tcg/i386/x86.csv
/openbmc/qemu/tests/tcg/multiarch/noexec.c.inc
/openbmc/qemu/tests/tcg/riscv64/Makefile.target
/openbmc/qemu/tests/tcg/riscv64/noexec.c
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/noexec.c
/openbmc/qemu/tests/tcg/x86_64/Makefile.target
/openbmc/qemu/tests/tcg/x86_64/noexec.c
/openbmc/qemu/tests/unit/check-block-qdict.c
/openbmc/qemu/tests/unit/socket-helpers.c
/openbmc/qemu/tests/unit/socket-helpers.h
/openbmc/qemu/tests/unit/test-io-channel-command.c
/openbmc/qemu/tests/unit/test-io-channel-socket.c
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tests/unit/test-visitor-serialization.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/util/qemu-sockets.c
36a894ae21-Aug-2022 Zheyu Ma <zheyuma97@gmail.com>

net: tulip: Restrict DMA engine to memories

The DMA engine is started by I/O access and then itself accesses the
I/O registers, triggering a reentrancy bug.

The following log can reveal it:
==5637=

net: tulip: Restrict DMA engine to memories

The DMA engine is started by I/O access and then itself accesses the
I/O registers, triggering a reentrancy bug.

The following log can reveal it:
==5637==ERROR: AddressSanitizer: stack-overflow
#0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673
#1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13
#2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5
#3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18
#4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c
#5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23
#6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12
#7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18
#8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12
#9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12
#10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12
#11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1
#12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1
#13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9
#14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9
#15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13

Fix this bug by restricting the DMA engine to memories regions.

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

539573c323-Aug-2022 Eugenio Pérez <eperezma@redhat.com>

vhost_net: add NetClientState->load() callback

It allows per-net client operations right after device's successful
start. In particular, to load the device status.

Vhost-vdpa net will use it to add

vhost_net: add NetClientState->load() callback

It allows per-net client operations right after device's successful
start. In particular, to load the device status.

Vhost-vdpa net will use it to add the CVQ buffers to restore the device
status.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

c5e5269d23-Aug-2022 Eugenio Pérez <eperezma@redhat.com>

vhost_net: Add NetClientInfo stop callback

Used by the backend to perform actions after the device is stopped.

In particular, vdpa net use it to unmap CVQ buffers to the device,
cleaning the action

vhost_net: Add NetClientInfo stop callback

Used by the backend to perform actions after the device is stopped.

In particular, vdpa net use it to unmap CVQ buffers to the device,
cleaning the actions performed in prepare().

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

eb92b75323-Aug-2022 Eugenio Pérez <eperezma@redhat.com>

vhost_net: Add NetClientInfo start callback

This is used by the backend to perform actions before the device is
started.

In particular, vdpa net use it to map CVQ buffers to the device, so it
can s

vhost_net: Add NetClientInfo start callback

This is used by the backend to perform actions before the device is
started.

In particular, vdpa net use it to map CVQ buffers to the device, so it
can send control commands using them.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/VERSION
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/backends/dbus-vmstate.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/backends/tpm/tpm_ioctl.h
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/specs/acpi_erst.rst
/openbmc/qemu/docs/system/devices/canokey.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/loongarch/loongson3.rst
/openbmc/qemu/docs/system/ppc/embedded.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/fpu/softfloat-parts.c.inc
/openbmc/qemu/fpu/softfloat.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/dataplane/virtio-blk.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-device-utils.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/i386/intel_iommu.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/intc/ppc-uic.c
/openbmc/qemu/hw/m68k/virt.c
vhost_net.c
/openbmc/qemu/hw/pci-host/meson.build
/openbmc/qemu/hw/pci-host/pnv_phb.c
/openbmc/qemu/hw/pci-host/pnv_phb.h
/openbmc/qemu/hw/pci-host/pnv_phb3.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci-host/pnv_phb4_pec.c
/openbmc/qemu/hw/ppc/Kconfig
/openbmc/qemu/hw/ppc/meson.build
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_sbe.c
/openbmc/qemu/hw/ppc/pnv_xscom.c
/openbmc/qemu/hw/ppc/ppc405.h
/openbmc/qemu/hw/ppc/ppc405_boards.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/ppc/ppc4xx_devs.c
/openbmc/qemu/hw/ppc/ppc4xx_pci.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/trace-events
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/virtio-scsi-dataplane.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/virtio/vhost-iova-tree.c
/openbmc/qemu/hw/virtio/vhost-iova-tree.h
/openbmc/qemu/hw/virtio/vhost-shadow-virtqueue.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/fpu/softfloat-types.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/intc/ppc-uic.h
/openbmc/qemu/include/hw/pci-host/pnv_phb3.h
/openbmc/qemu/include/hw/pci-host/pnv_phb4.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/pnv_sbe.h
/openbmc/qemu/include/hw/ppc/pnv_xscom.h
/openbmc/qemu/include/hw/ppc/ppc4xx.h
/openbmc/qemu/include/net/net.h
/openbmc/qemu/include/qemu/iova-tree.h
/openbmc/qemu/include/qemu/mmap-alloc.h
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/README
/openbmc/qemu/pc-bios/slof.bin
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/roms/SLOF
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/hppa/op_helper.c
/openbmc/qemu/target/loongarch/README
/openbmc/qemu/target/ppc/cpu-qom.h
/openbmc/qemu/target/ppc/cpu.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/s390x/cpu_features_def.h.inc
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/tcg/insn-data.def
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/info_usernet.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/avocado/migration.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/migration/aarch64/a-b-kernel.S
/openbmc/qemu/tests/migration/aarch64/a-b-kernel.h
/openbmc/qemu/tests/migration/i386/a-b-bootblock.S
/openbmc/qemu/tests/migration/i386/a-b-bootblock.h
/openbmc/qemu/tests/migration/stress.c
/openbmc/qemu/tests/qtest/ac97-test.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/cdrom-test.c
/openbmc/qemu/tests/qtest/cxl-test.c
/openbmc/qemu/tests/qtest/device-plug-test.c
/openbmc/qemu/tests/qtest/e1000e-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz_configs.h
/openbmc/qemu/tests/qtest/fuzz/qos_fuzz.c
/openbmc/qemu/tests/qtest/i440fx-test.c
/openbmc/qemu/tests/qtest/ivshmem-test.c
/openbmc/qemu/tests/qtest/libqos/aarch64-xlnx-zcu102-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-imx25-pdk-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-n800-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-raspi2-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-sabrelite-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-smdkc210-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-virt-machine.c
/openbmc/qemu/tests/qtest/libqos/arm-xilinx-zynq-a9-machine.c
/openbmc/qemu/tests/qtest/libqos/e1000e.c
/openbmc/qemu/tests/qtest/libqos/generic-pcihost.h
/openbmc/qemu/tests/qtest/libqos/libqos-malloc.c
/openbmc/qemu/tests/qtest/libqos/libqos-malloc.h
/openbmc/qemu/tests/qtest/libqos/libqos.c
/openbmc/qemu/tests/qtest/libqos/libqos.h
/openbmc/qemu/tests/qtest/libqos/malloc-pc.h
/openbmc/qemu/tests/qtest/libqos/malloc-spapr.h
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/pci-pc.h
/openbmc/qemu/tests/qtest/libqos/pci-spapr.h
/openbmc/qemu/tests/qtest/libqos/qgraph.h
/openbmc/qemu/tests/qtest/libqos/qos_external.c
/openbmc/qemu/tests/qtest/libqos/qos_external.h
/openbmc/qemu/tests/qtest/libqos/rtas.h
/openbmc/qemu/tests/qtest/libqos/virtio-9p.c
/openbmc/qemu/tests/qtest/libqos/virtio-mmio.c
/openbmc/qemu/tests/qtest/libqos/virtio-pci.c
/openbmc/qemu/tests/qtest/libqos/virtio.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/m48t59-test.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-helpers.h
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/npcm7xx_emc-test.c
/openbmc/qemu/tests/qtest/prom-env-test.c
/openbmc/qemu/tests/qtest/qmp-test.c
/openbmc/qemu/tests/qtest/qos-test.c
/openbmc/qemu/tests/qtest/readconfig-test.c
/openbmc/qemu/tests/qtest/rtc-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/unit/test-crypto-tlscredsx509.c
/openbmc/qemu/tests/unit/test-crypto-tlssession.c
/openbmc/qemu/tests/unit/test-io-channel-tls.c
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tests/unit/test-qobject-input-visitor.c
/openbmc/qemu/tests/vm/freebsd
/openbmc/qemu/tests/vm/haiku.x86_64
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/ui/console.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/iova-tree.c
/openbmc/qemu/util/mmap-alloc.c
/openbmc/qemu/util/oslib-posix.c
7cf745dd29-Jul-2022 Peter Maydell <peter.maydell@linaro.org>

hw/net/rocker: Avoid undefined shifts with more than 31 ports

In rocker_port_phys_link_status() and rocker_port_phys_enable_read()
we construct a 64-bit value with one bit per front-panel port.
Howe

hw/net/rocker: Avoid undefined shifts with more than 31 ports

In rocker_port_phys_link_status() and rocker_port_phys_enable_read()
we construct a 64-bit value with one bit per front-panel port.
However we accidentally do the shift as 32-bit arithmetic, which
means that if there are more than 31 front-panel ports this is
undefined behaviour.

Fix the problem by ensuring we use 64-bit arithmetic for the whole
calculation. (We won't ever shift off the 64-bit value because
ROCKER_FP_PORTS_MAX is 62.)

Resolves: Coverity CID 1487121, 1487160
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/.cirrus.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/build.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/macos-11.vars
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
/openbmc/qemu/.gitlab-ci.d/stages.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/README.rst
/openbmc/qemu/VERSION
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/cache.c
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/qom.rst
/openbmc/qemu/docs/interop/live-block-operations.rst
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/s390x/bootdevices.rst
/openbmc/qemu/docs/system/tls.rst
/openbmc/qemu/docs/tools/qemu-pr-helper.rst
/openbmc/qemu/gdb-xml/loongarch-base64.xml
/openbmc/qemu/gdb-xml/loongarch-fpu.xml
/openbmc/qemu/hw/acpi/nvdimm.c
/openbmc/qemu/hw/acpi/trace-events
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/fby35.c
/openbmc/qemu/hw/arm/omap2.c
/openbmc/qemu/hw/block/hd-geometry.c
/openbmc/qemu/hw/core/clock.c
/openbmc/qemu/hw/display/bcm2835_fb.c
/openbmc/qemu/hw/display/vga.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/sgx.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/intc/arm_gicv3_redist.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/ipmi/smbus_ipmi.c
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/meson.build
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/grlib_ahb_apb_pnp.c
/openbmc/qemu/hw/misc/iotkit-secctl.c
/openbmc/qemu/hw/misc/iotkit-sysctl.c
/openbmc/qemu/hw/misc/mac_via.c
/openbmc/qemu/hw/misc/trace-events
rocker/rocker.c
/openbmc/qemu/hw/nios2/boot.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/pci-host/i440fx.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr_nvdimm.c
/openbmc/qemu/hw/rx/rx-gdbsim.c
/openbmc/qemu/hw/s390x/s390-ccw.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/usb/u2f.h
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/cxl/cxl_component.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/i386/x86.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/mem/nvdimm.h
/openbmc/qemu/include/hw/pci-host/i440fx.h
/openbmc/qemu/include/hw/pci-host/ls7a.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/main-loop.h
/openbmc/qemu/include/standard-headers/asm-x86/bootparam.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/user/safe-syscall.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/linux-user/flatload.c
/openbmc/qemu/linux-user/hppa/cpu_loop.c
/openbmc/qemu/linux-user/i386/cpu_loop.c
/openbmc/qemu/linux-user/loongarch64/signal.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/riscv/signal.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/virtio-blkdev.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-scsi.c
/openbmc/qemu/python/Makefile
/openbmc/qemu/python/qemu/utils/__init__.py
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/oss-fuzz/build.sh
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/semihosting/syscalls.c
/openbmc/qemu/softmmu/main.c
/openbmc/qemu/softmmu/runstate.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/stubs/replay-tools.c
/openbmc/qemu/subprojects/libvduse/libvduse.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/hexagon/gen_tcg_funcs.py
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/loongarch/README
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/fpu_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/helper.h
/openbmc/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/mips16e_translate.c.inc
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/mips/tcg/translate.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/docker/dockerfiles/alpine.docker
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-native.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2004.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/projects/qemu.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/131
/openbmc/qemu/tests/qemu-iotests/131.out
/openbmc/qemu/tests/qemu-iotests/264
/openbmc/qemu/tests/qemu-iotests/common.rc
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/microbit-test.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/readconfig-test.c
/openbmc/qemu/tests/tcg/hexagon/float_convd.ref
/openbmc/qemu/tests/tcg/hexagon/hvx_misc.c
/openbmc/qemu/tests/tcg/hexagon/load_unpack.c
/openbmc/qemu/tests/tcg/loongarch64/Makefile.target
/openbmc/qemu/tests/tcg/loongarch64/test_fcsr.c
/openbmc/qemu/tests/tcg/multiarch/linux/linux-test.c
/openbmc/qemu/tests/tcg/s390x/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/s390x/unaligned-lowcore.S
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tools/virtiofsd/fuse_lowlevel.c
/openbmc/qemu/tools/virtiofsd/fuse_virtio.c
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/ui/meson.build
/openbmc/qemu/ui/vdagent.c
/openbmc/qemu/util/qemu-sockets.c
dd0ef12820-Jul-2022 Ake Koomsin <ake@igel.co.jp>

e1000e: Fix possible interrupt loss when using MSI

Commit "e1000e: Prevent MSI/MSI-X storms" introduced msi_causes_pending
to prevent interrupt storms problem. It was tested with MSI-X.

In case of

e1000e: Fix possible interrupt loss when using MSI

Commit "e1000e: Prevent MSI/MSI-X storms" introduced msi_causes_pending
to prevent interrupt storms problem. It was tested with MSI-X.

In case of MSI, the guest can rely solely on interrupts to clear ICR.
Upon clearing all pending interrupts, msi_causes_pending gets cleared.
However, when e1000e_itr_should_postpone() in e1000e_send_msi() returns
true, MSI never gets fired by e1000e_intrmgr_on_throttling_timer()
because msi_causes_pending is still set. This results in interrupt loss.

To prevent this, we need to clear msi_causes_pending when MSI is going
to get fired by the throttling timer. The guest can then receive
interrupts eventually.

Signed-off-by: Ake Koomsin <ake@igel.co.jp>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/kvm-stub.c
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/cpus-common.c
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/intc/loongarch_pch_pic.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/acpi-build.c
/openbmc/qemu/hw/loongarch/fw_cfg.c
/openbmc/qemu/hw/loongarch/fw_cfg.h
/openbmc/qemu/hw/loongarch/loongson3.c
/openbmc/qemu/hw/loongarch/meson.build
e1000e_core.c
/openbmc/qemu/hw/virtio/vhost-shadow-virtqueue.c
/openbmc/qemu/hw/virtio/vhost-shadow-virtqueue.h
/openbmc/qemu/hw/virtio/vhost-vdpa.c
/openbmc/qemu/include/exec/cpu-common.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/pci-host/ls7a.h
/openbmc/qemu/include/hw/virtio/vhost-vdpa.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/sysemu/dirtylimit.h
/openbmc/qemu/include/sysemu/dirtyrate.h
/openbmc/qemu/include/sysemu/kvm.h
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/migration/channel.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/dirtyrate.h
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd-zlib.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.h
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/postcopy-ram.h
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/socket.c
/openbmc/qemu/migration/socket.h
/openbmc/qemu/migration/tls.c
/openbmc/qemu/migration/tls.h
/openbmc/qemu/migration/trace-events
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/colo.c
/openbmc/qemu/net/filter-rewriter.c
/openbmc/qemu/net/meson.build
/openbmc/qemu/net/trace-events
/openbmc/qemu/net/vhost-vdpa-stub.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/softmmu/dirtylimit.c
/openbmc/qemu/softmmu/meson.build
/openbmc/qemu/softmmu/runstate.c
/openbmc/qemu/softmmu/trace-events
/openbmc/qemu/target/hexagon/gen_tcg.h
/openbmc/qemu/target/hexagon/genptr.c
/openbmc/qemu/target/hexagon/helper.h
/openbmc/qemu/target/hexagon/macros.h
/openbmc/qemu/target/hexagon/op_helper.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/fpu_helper.c
/openbmc/qemu/target/loongarch/op_helper.c
/openbmc/qemu/target/loongarch/tlb_helper.c
/openbmc/qemu/target/s390x/tcg/vec_fpu_helper.c
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-loongarch-cross.docker
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-helpers.h
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/qmp-cmd-test.c
/openbmc/qemu/tests/tcg/hexagon/Makefile.target
/openbmc/qemu/tests/tcg/hexagon/mem_noshuf.c
/openbmc/qemu/tests/tcg/hexagon/mem_noshuf_exception.c
/openbmc/qemu/tests/tcg/loongarch64/Makefile.target
/openbmc/qemu/tests/tcg/loongarch64/float_convd.ref
/openbmc/qemu/tests/tcg/loongarch64/float_convs.ref
/openbmc/qemu/tests/tcg/loongarch64/float_madds.ref
/openbmc/qemu/tests/tcg/loongarch64/test_bit.c
/openbmc/qemu/tests/tcg/loongarch64/test_div.c
/openbmc/qemu/tests/tcg/loongarch64/test_fclass.c
/openbmc/qemu/tests/tcg/loongarch64/test_fpcom.c
/openbmc/qemu/tests/tcg/loongarch64/test_pcadd.c
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/vfminmax.c
640b8a1c20-Jul-2022 Eugenio Pérez <eperezma@redhat.com>

virtio-net: Expose ctrl virtqueue logic

This allows external vhost-net devices to modify the state of the
VirtIO device model once the vhost-vdpa device has acknowledged the
control commands.

Signe

virtio-net: Expose ctrl virtqueue logic

This allows external vhost-net devices to modify the state of the
VirtIO device model once the vhost-vdpa device has acknowledged the
control commands.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...

6758c01f20-Jul-2022 Eugenio Pérez <eperezma@redhat.com>

virtio-net: Expose MAC_TABLE_ENTRIES

vhost-vdpa control virtqueue needs to know the maximum entries supported
by the virtio-net device, so we know if it is possible to apply the
filter.

Signed-off-

virtio-net: Expose MAC_TABLE_ENTRIES

vhost-vdpa control virtqueue needs to know the maximum entries supported
by the virtio-net device, so we know if it is possible to apply the
filter.

Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-12.vars
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-13.vars
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/cputlb.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/audio/meson.build
/openbmc/qemu/block.c
/openbmc/qemu/block/blklogwrites.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/bochs.c
/openbmc/qemu/block/cloop.c
/openbmc/qemu/block/commit.c
/openbmc/qemu/block/coroutines.h
/openbmc/qemu/block/crypto.c
/openbmc/qemu/block/dmg.c
/openbmc/qemu/block/export/fuse.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/meson.build
/openbmc/qemu/block/parallels-ext.c
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/qcow.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2-cache.c
/openbmc/qemu/block/qcow2-cluster.c
/openbmc/qemu/block/qcow2-refcount.c
/openbmc/qemu/block/qcow2-snapshot.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vhdx-log.c
/openbmc/qemu/block/vhdx.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/block/vpc.c
/openbmc/qemu/block/vvfat.c
/openbmc/qemu/configure
/openbmc/qemu/crypto/block-luks.c
/openbmc/qemu/crypto/block.c
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/virt.rst
/openbmc/qemu/docs/system/devices/nvme.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/tools/qemu-nbd.rst
/openbmc/qemu/ebpf/ebpf_rss.c
/openbmc/qemu/hw/adc/npcm7xx_adc.c
/openbmc/qemu/hw/arm/allwinner-h3.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/bcm2835_peripherals.c
/openbmc/qemu/hw/arm/fby35.c
/openbmc/qemu/hw/arm/meson.build
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/block.c
/openbmc/qemu/hw/block/fdc.c
/openbmc/qemu/hw/block/hd-geometry.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/nand.c
/openbmc/qemu/hw/block/onenand.c
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/block/pflash_cfi02.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/pmbus_device.c
/openbmc/qemu/hw/i386/microvm.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/input/lasips2.c
/openbmc/qemu/hw/input/pckbd.c
/openbmc/qemu/hw/input/pl050.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/input/trace-events
/openbmc/qemu/hw/intc/armv7m_nvic.c
/openbmc/qemu/hw/intc/pnv_xive.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/m68k/bootinfo.h
/openbmc/qemu/hw/m68k/q800.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/misc/aspeed_sbc.c
/openbmc/qemu/hw/misc/mac_via.c
/openbmc/qemu/hw/misc/sifive_u_otp.c
virtio-net.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/trace-events
/openbmc/qemu/hw/nvram/eeprom_at24c.c
/openbmc/qemu/hw/nvram/spapr_nvram.c
/openbmc/qemu/hw/nvram/xlnx-bbram.c
/openbmc/qemu/hw/nvram/xlnx-efuse.c
/openbmc/qemu/hw/pci-host/pnv_phb3.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci-host/pnv_phb4_pec.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/mac_newworld.c
/openbmc/qemu/hw/ppc/mac_oldworld.c
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_pnor.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc405_uc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/prep.c
/openbmc/qemu/hw/ppc/prep_systemio.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_hcall.c
/openbmc/qemu/hw/ppc/spapr_iommu.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/spapr_rtas_ddw.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/trace-events
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/sensor/isl_pmbus_vr.c
/openbmc/qemu/hw/usb/hcd-xhci.c
/openbmc/qemu/hw/virtio/vhost-shadow-virtqueue.c
/openbmc/qemu/hw/watchdog/meson.build
/openbmc/qemu/hw/watchdog/spapr_watchdog.c
/openbmc/qemu/hw/watchdog/trace-events
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-io.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/crypto/block.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/arm/bcm2835_peripherals.h
/openbmc/qemu/include/hw/arm/virt.h
/openbmc/qemu/include/hw/i2c/pmbus_device.h
/openbmc/qemu/include/hw/input/i8042.h
/openbmc/qemu/include/hw/input/lasips2.h
/openbmc/qemu/include/hw/input/pl050.h
/openbmc/qemu/include/hw/input/ps2.h
/openbmc/qemu/include/hw/misc/aspeed_sbc.h
/openbmc/qemu/include/hw/pci-host/pnv_phb3_regs.h
/openbmc/qemu/include/hw/ppc/pnv.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/scsi/scsi.h
/openbmc/qemu/include/hw/sensor/isl_pmbus_vr.h
/openbmc/qemu/include/hw/virtio/virtio-net.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/scsi/constants.h
/openbmc/qemu/include/semihosting/console.h
/openbmc/qemu/include/standard-headers/asm-m68k/bootinfo-virt.h
/openbmc/qemu/include/sysemu/block-backend-io.h
/openbmc/qemu/linux-user/aarch64/cpu_loop.c
/openbmc/qemu/linux-user/aarch64/signal.c
/openbmc/qemu/linux-user/aarch64/target_cpu.h
/openbmc/qemu/linux-user/aarch64/target_prctl.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block.c
/openbmc/qemu/nbd/server.c
/openbmc/qemu/pc-bios/keymaps/meson.build
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/pc-bios/optionrom/Makefile
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/bootmap.c
/openbmc/qemu/pc-bios/s390-ccw/main.c
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/s390-ccw/s390-ccw.h
/openbmc/qemu/pc-bios/s390-ccw/virtio-blkdev.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-scsi.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-scsi.h
/openbmc/qemu/pc-bios/s390-ccw/virtio.c
/openbmc/qemu/pc-bios/s390-ccw/virtio.h
/openbmc/qemu/pc-bios/s390-netboot.img
/openbmc/qemu/pc-bios/vof/Makefile
/openbmc/qemu/python/qemu/qmp/legacy.py
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-img.c
/openbmc/qemu/qemu-io-cmds.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/scripts/meson-buildoptions.py
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/oss-fuzz/build.sh
/openbmc/qemu/scripts/qapi/common.py
/openbmc/qemu/scripts/symlink-install-tree.py
/openbmc/qemu/scripts/vmstate-static-checker.py
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/softmmu/datadir.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/helper-sme.h
/openbmc/qemu/target/arm/helper-sve.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sme-fa64.decode
/openbmc/qemu/target/arm/sme.decode
/openbmc/qemu/target/arm/sme_helper.c
/openbmc/qemu/target/arm/sve.decode
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/tlb_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-sme.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate-vfp.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/vmcs.h
/openbmc/qemu/target/i386/hvf/x86_cpuid.c
/openbmc/qemu/target/mips/cpu-defs.c.inc
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/mips/tcg/meson.build
/openbmc/qemu/target/mips/tcg/octeon.decode
/openbmc/qemu/target/mips/tcg/octeon_translate.c
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/mips/tcg/translate.h
/openbmc/qemu/target/ppc/cpu-models.c
/openbmc/qemu/target/ppc/cpu-models.h
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/dfp_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.c
/openbmc/qemu/target/ppc/mmu-book3s-v3.h
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/mmu-radix64.c
/openbmc/qemu/target/ppc/mmu_helper.c
/openbmc/qemu/target/ppc/monitor.c
/openbmc/qemu/target/ppc/power8-pmu-regs.c.inc
/openbmc/qemu/target/ppc/timebase_helper.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/fixedpoint-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-ops.c.inc
/openbmc/qemu/target/ppc/translate/storage-ctrl-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-ops.c.inc
/openbmc/qemu/target/s390x/tcg/misc_helper.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/region.c
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/qemu-iotests/108
/openbmc/qemu/tests/qemu-iotests/223.out
/openbmc/qemu/tests/qemu-iotests/307.out
/openbmc/qemu/tests/qemu-iotests/mypy.ini
/openbmc/qemu/tests/qemu-iotests/tests/copy-before-write
/openbmc/qemu/tests/qtest/aspeed_gpio-test.c
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/bcm2835-dma-test.c
/openbmc/qemu/tests/qtest/fuzz-lsi53c895a-test.c
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/npcm7xx_adc-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/aarch64/system/pauth-3.c
/openbmc/qemu/tests/tcg/aarch64/system/semiconsole.c
/openbmc/qemu/tests/tcg/aarch64/system/semiheap.c
/openbmc/qemu/tests/tcg/multiarch/system/memory.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/tcg/ppc64le/Makefile.target
/openbmc/qemu/tests/tcg/ppc64le/mffsce.c
/openbmc/qemu/tests/unit/ptimer-test.c
/openbmc/qemu/tests/unit/test-block-iothread.c
/openbmc/qemu/tests/unit/test-crypto-block.c
/openbmc/qemu/tests/unit/test-iov.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tests/vm/centos
/openbmc/qemu/tests/vm/centos.aarch64
/openbmc/qemu/tests/vm/fedora
/openbmc/qemu/tests/vm/freebsd
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/tests/vm/ubuntu.aarch64
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/dbus.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/module.c
/openbmc/qemu/util/oslib-posix.c
034d00d429-Jun-2022 Ding Hui <dinghui@sangfor.com.cn>

e1000: set RX descriptor status in a separate operation

The code of setting RX descriptor status field maybe work fine in
previously, however with the update of glibc version, it shows two
issues wh

e1000: set RX descriptor status in a separate operation

The code of setting RX descriptor status field maybe work fine in
previously, however with the update of glibc version, it shows two
issues when guest using dpdk receive packets:

1. The dpdk has a certain probability getting wrong buffer_addr

this impact may be not obvious, such as lost a packet once in
a while

2. The dpdk may consume a packet twice when scan the RX desc queue
over again

this impact will lead a infinite wait in Qemu, since the RDT
(tail pointer) be inscreased to equal to RDH by unexpected,
which regard as the RX desc queue is full

Write a whole of RX desc with DD flag on is not quite correct, because
when the underlying implementation of memcpy using XMM registers to
copy e1000_rx_desc (when AVX or something else CPU feature is usable),
the bytes order of desc writing to memory is indeterminacy

We can use full-scale test case to reproduce the issue-2 by
https://github.com/BASM/qemu_dpdk_e1000_test (thanks to Leonid Myravjev)

I also write a POC test case at https://github.com/cdkey/e1000_poc
which can reproduce both of them, and easy to verify the patch effect.

The hw watchpoint also shows that, when Qemu using XMM related instructions
writing 16 bytes e1000_rx_desc, concurrent with DPDK using movb
writing 1 byte status, the final result of writing to memory will be one
of them, if it made by Qemu which DD flag is on, DPDK will consume it
again.

Setting DD status in a separate operation, can prevent the impact of
disorder memory writing by memcpy, also avoid unexpected data when
concurrent writing status by qemu and guest dpdk.

Links: https://lore.kernel.org/qemu-devel/20200102110504.GG121208@stefanha-x1.localdomain/T/

Reported-by: Leonid Myravjev <asm@asm.pp.ru>
Cc: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: qemu-stable@nongnu.org
Tested-by: Jing Zhang <zhangjing@sangfor.com.cn>
Reviewed-by: Frank Lee <lifan38153@sangfor.com.cn>
Signed-off-by: Ding Hui <dinghui@sangfor.com.cn>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml
/openbmc/qemu/.gitlab-ci.d/edk2.yml
/openbmc/qemu/.gitlab-ci.d/opensbi.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/block/block-copy.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/mirror.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/trace-events
/openbmc/qemu/bsd-user/bsd-file.h
/openbmc/qemu/bsd-user/freebsd/os-syscall.c
/openbmc/qemu/common-user/meson.build
/openbmc/qemu/configs/targets/loongarch64-linux-user.mak
/openbmc/qemu/contrib/vhost-user-blk/meson.build
/openbmc/qemu/contrib/vhost-user-blk/vhost-user-blk.c
/openbmc/qemu/disas.c
/openbmc/qemu/disas/meson.build
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/specs/fw_cfg.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/system/devices/canokey.rst
/openbmc/qemu/hw/9pfs/9p-xattr-user.c
/openbmc/qemu/hw/acpi/nvdimm.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/pxa2xx.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/display/sii9022.c
/openbmc/qemu/hw/display/ssd0303.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/core.c
/openbmc/qemu/hw/i2c/pmbus_device.c
/openbmc/qemu/hw/i2c/smbus_slave.c
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/xen/xen-hvm.c
/openbmc/qemu/hw/ide/atapi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/loongarch_pch_msi.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/loongarch/loongson3.c
/openbmc/qemu/hw/misc/aspeed_hace.c
/openbmc/qemu/hw/misc/aspeed_peci.c
/openbmc/qemu/hw/misc/aspeed_scu.c
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/trace-events
e1000.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvram/eeprom_at24c.c
/openbmc/qemu/hw/pci-host/i440fx.c
/openbmc/qemu/hw/pci/msi.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/rtc/ls7a_rtc.c
/openbmc/qemu/hw/sensor/Kconfig
/openbmc/qemu/hw/sensor/lsm303dlhc_mag.c
/openbmc/qemu/hw/sensor/max31785.c
/openbmc/qemu/hw/sensor/meson.build
/openbmc/qemu/hw/ssi/aspeed_smc.c
/openbmc/qemu/hw/usb/canokey.c
/openbmc/qemu/hw/virtio/vhost-backend.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/xen/xen_pt_config_init.c
/openbmc/qemu/include/block/block-copy.h
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/i2c/i2c.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/intc/loongarch_pch_msi.h
/openbmc/qemu/include/hw/misc/aspeed_peci.h
/openbmc/qemu/include/hw/pci-host/i440fx.h
/openbmc/qemu/include/hw/virtio/vhost-backend.h
/openbmc/qemu/include/hw/virtio/vhost.h
/openbmc/qemu/include/hw/xen/xen.h
/openbmc/qemu/include/hw/xen/xen_common.h
/openbmc/qemu/include/qemu/coroutine.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/loongarch64/cpu_loop.c
/openbmc/qemu/linux-user/loongarch64/signal.c
/openbmc/qemu/linux-user/loongarch64/sockbits.h
/openbmc/qemu/linux-user/loongarch64/syscall_nr.h
/openbmc/qemu/linux-user/loongarch64/target_cpu.h
/openbmc/qemu/linux-user/loongarch64/target_elf.h
/openbmc/qemu/linux-user/loongarch64/target_errno_defs.h
/openbmc/qemu/linux-user/loongarch64/target_fcntl.h
/openbmc/qemu/linux-user/loongarch64/target_prctl.h
/openbmc/qemu/linux-user/loongarch64/target_resource.h
/openbmc/qemu/linux-user/loongarch64/target_signal.h
/openbmc/qemu/linux-user/loongarch64/target_structs.h
/openbmc/qemu/linux-user/loongarch64/target_syscall.h
/openbmc/qemu/linux-user/loongarch64/termbits.h
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/meson.build
/openbmc/qemu/nbd/client-connection.c
/openbmc/qemu/nbd/trace-events
/openbmc/qemu/po/LINGUAS
/openbmc/qemu/po/uk.po
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/scripts/clean-header-guards.pl
/openbmc/qemu/scripts/clean-includes
/openbmc/qemu/scripts/coverity-scan/COMPONENTS.md
/openbmc/qemu/scripts/gensyscalls.sh
/openbmc/qemu/scripts/qemu-binfmt-conf.sh
/openbmc/qemu/stubs/xen-hw-stub.c
/openbmc/qemu/subprojects/libvhost-user/libvhost-user.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/loongarch/README
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/csr_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/helper.h
/openbmc/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/op_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvh.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvi.c.inc
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/meson.build
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmu.c
/openbmc/qemu/target/riscv/pmu.h
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/tcg/tci/tcg-target.c.inc
/openbmc/qemu/tcg/tci/tcg-target.h
/openbmc/qemu/tests/fp/meson.build
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qemu-iotests/tests/copy-before-write
/openbmc/qemu/tests/qemu-iotests/tests/copy-before-write.out
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/riscv64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/riscv64/issue1060.S
/openbmc/qemu/tests/tcg/riscv64/semihost.ld
/openbmc/qemu/tests/unit/test-cutils.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/qemu-co-timeout.c
118d4ed014-Jun-2022 Dr. David Alan Gilbert <dgilbert@redhat.com>

Trivial: 3 char repeat typos

Inspired by Julia Lawall's fixing of Linux
kernel comments, I looked at qemu, although I did it manually.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Re

Trivial: 3 char repeat typos

Inspired by Julia Lawall's fixing of Linux
kernel comments, I looked at qemu, although I did it manually.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
Message-Id: <20220614104045.85728-2-dgilbert@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/Kconfig.host
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/accel-common.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/stubs/tcg-stub.c
/openbmc/qemu/accel/tcg/cpu-exec.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-mttcg.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-rr.c
/openbmc/qemu/accel/tcg/tcg-accel-ops.c
/openbmc/qemu/accel/tcg/translate-all.c
/openbmc/qemu/backends/cryptodev-builtin.c
/openbmc/qemu/backends/cryptodev-vhost-user.c
/openbmc/qemu/backends/cryptodev.c
/openbmc/qemu/block/backup.c
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/block/dirty-bitmap.c
/openbmc/qemu/block/export/export.c
/openbmc/qemu/block/export/meson.build
/openbmc/qemu/block/export/vduse-blk.c
/openbmc/qemu/block/export/vduse-blk.h
/openbmc/qemu/block/export/vhost-user-blk-server.c
/openbmc/qemu/block/export/virtio-blk-handler.c
/openbmc/qemu/block/export/virtio-blk-handler.h
/openbmc/qemu/block/gluster.c
/openbmc/qemu/block/io.c
/openbmc/qemu/block/io_uring.c
/openbmc/qemu/block/linux-aio.c
/openbmc/qemu/block/monitor/bitmap-qmp-cmds.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/rbd.c
/openbmc/qemu/bsd-user/bsd-file.h
/openbmc/qemu/bsd-user/bsd-proc.h
/openbmc/qemu/bsd-user/freebsd/os-syscall.c
/openbmc/qemu/bsd-user/syscall_defs.h
/openbmc/qemu/configs/targets/aarch64-linux-user.mak
/openbmc/qemu/configs/targets/aarch64_be-linux-user.mak
/openbmc/qemu/configs/targets/arm-linux-user.mak
/openbmc/qemu/configs/targets/armeb-linux-user.mak
/openbmc/qemu/configs/targets/riscv32-linux-user.mak
/openbmc/qemu/configs/targets/riscv64-linux-user.mak
/openbmc/qemu/configure
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/system/arm/cpu-features.rst
/openbmc/qemu/docs/system/device-emulation.rst
/openbmc/qemu/docs/system/devices/canokey.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/devices/nvme.rst
/openbmc/qemu/docs/system/devices/usb.rst
/openbmc/qemu/docs/tools/qemu-storage-daemon.rst
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/acpi/erst.c
/openbmc/qemu/hw/acpi/pcihp.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/block/xen-block.c
/openbmc/qemu/hw/core/qdev.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/display/artist.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga.c
/openbmc/qemu/hw/display/xenfb.c
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/i2c/aspeed_i2c.c
/openbmc/qemu/hw/i2c/trace-events
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/input/lasips2.c
/openbmc/qemu/hw/input/pckbd.c
/openbmc/qemu/hw/input/pl050.c
/openbmc/qemu/hw/input/ps2.c
/openbmc/qemu/hw/intc/openpic.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/mips/boston.c
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/misc/aspeed_hace.c
imx_fec.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/nvme/trace-events
/openbmc/qemu/hw/pci-bridge/cxl_downstream.c
/openbmc/qemu/hw/pci-bridge/cxl_upstream.c
/openbmc/qemu/hw/pci-bridge/meson.build
/openbmc/qemu/hw/pci-host/pnv_phb3.c
/openbmc/qemu/hw/pci-host/pnv_phb4.c
/openbmc/qemu/hw/pci-host/pnv_phb4_pec.c
/openbmc/qemu/hw/pci-host/q35.c
/openbmc/qemu/hw/pci/msi.c
/openbmc/qemu/hw/pci/msix.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pcie_aer.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/ppc/ppc440_uc.c
/openbmc/qemu/hw/ppc/spapr_caps.c
/openbmc/qemu/hw/remote/Kconfig
/openbmc/qemu/hw/remote/iommu.c
/openbmc/qemu/hw/remote/machine.c
/openbmc/qemu/hw/remote/meson.build
/openbmc/qemu/hw/remote/trace-events
/openbmc/qemu/hw/remote/vfio-user-obj.c
/openbmc/qemu/hw/s390x/virtio-ccw.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/scsi/scsi-generic.c
/openbmc/qemu/hw/scsi/spapr_vscsi.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/canokey.c
/openbmc/qemu/hw/usb/canokey.h
/openbmc/qemu/hw/usb/hcd-ehci.c
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/usb/trace-events
/openbmc/qemu/hw/vfio/display.c
/openbmc/qemu/hw/virtio/trace-events
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-bus.c
/openbmc/qemu/hw/virtio/virtio-crypto.c
/openbmc/qemu/hw/virtio/virtio-iommu.c
/openbmc/qemu/hw/virtio/virtio-mmio.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/block/aio-wait.h
/openbmc/qemu/include/block/block-io.h
/openbmc/qemu/include/block/block_int-io.h
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/exec/cpu-all.h
/openbmc/qemu/include/exec/gdbstub.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/cxl/cxl.h
/openbmc/qemu/include/hw/i2c/aspeed_i2c.h
/openbmc/qemu/include/hw/input/i8042.h
/openbmc/qemu/include/hw/input/lasips2.h
/openbmc/qemu/include/hw/input/ps2.h
/openbmc/qemu/include/hw/pci/msi.h
/openbmc/qemu/include/hw/pci/msix.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_ids.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/registerfields.h
/openbmc/qemu/include/hw/remote/iommu.h
/openbmc/qemu/include/hw/remote/machine.h
/openbmc/qemu/include/hw/remote/vfio-user-obj.h
/openbmc/qemu/include/hw/virtio/virtio-crypto.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-iommu.h
/openbmc/qemu/include/io/channel-null.h
/openbmc/qemu/include/monitor/hmp.h
/openbmc/qemu/include/monitor/stats.h
/openbmc/qemu/include/qemu/accel.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/hbitmap.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/qemu/int128.h
/openbmc/qemu/include/qemu/iova-tree.h
/openbmc/qemu/include/qom/object.h
/openbmc/qemu/include/semihosting/common-semi.h
/openbmc/qemu/include/semihosting/console.h
/openbmc/qemu/include/semihosting/guestfd.h
/openbmc/qemu/include/semihosting/semihost.h
/openbmc/qemu/include/semihosting/softmmu-uaccess.h
/openbmc/qemu/include/semihosting/syscalls.h
/openbmc/qemu/include/sysemu/block-backend-io.h
/openbmc/qemu/include/sysemu/cryptodev.h
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/include/ui/gtk.h
/openbmc/qemu/io/channel-null.c
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/meson.build
/openbmc/qemu/io/trace-events
/openbmc/qemu/linux-headers/linux/vduse.h
/openbmc/qemu/linux-user/aarch64/cpu_loop.c
/openbmc/qemu/linux-user/arm/cpu_loop.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/mmap.c
/openbmc/qemu/linux-user/riscv/cpu_loop.c
/openbmc/qemu/linux-user/semihost.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/linux-user/user-mmap.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/block.c
/openbmc/qemu/migration/channel-block.c
/openbmc/qemu/migration/channel-block.h
/openbmc/qemu/migration/channel.c
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/qemu-file.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/monitor/qmp-cmds.c
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qapi/stats.json
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/semihosting/console.c
/openbmc/qemu/semihosting/guestfd.c
/openbmc/qemu/semihosting/meson.build
/openbmc/qemu/semihosting/syscalls.c
/openbmc/qemu/semihosting/uaccess.c
/openbmc/qemu/softmmu/physmem.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/stubs/semihost.c
/openbmc/qemu/stubs/vfio-user-obj.c
/openbmc/qemu/subprojects/libvduse/include/atomic.h
/openbmc/qemu/subprojects/libvduse/include/compiler.h
/openbmc/qemu/subprojects/libvduse/libvduse.c
/openbmc/qemu/subprojects/libvduse/libvduse.h
/openbmc/qemu/subprojects/libvduse/linux-headers/linux
/openbmc/qemu/subprojects/libvduse/meson.build
/openbmc/qemu/subprojects/libvduse/standard-headers/linux
/openbmc/qemu/subprojects/libvfio-user
/openbmc/qemu/target/arm/common-semi-target.h
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/helper-sme.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/m_helper.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sme_helper.c
/openbmc/qemu/target/arm/syndrome.h
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/cpu.h
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/m68k/m68k-semi.c
/openbmc/qemu/target/m68k/meson.build
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/tcg/exception.c
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/mips16e_translate.c.inc
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/sysemu/mips-semi.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/mips/tcg/sysemu_helper.h.inc
/openbmc/qemu/target/mips/tcg/tcg-internal.h
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/meson.build
/openbmc/qemu/target/nios2/nios2-semi.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/riscv/common-semi-target.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.h
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/machine_aspeed.py
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/centos8.docker
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/fuzz/generic_fuzz.c
/openbmc/qemu/tests/qtest/virtio-9p-test.c
/openbmc/qemu/tests/tcg/arm/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/i386/test-i386-fp-exceptions.c
/openbmc/qemu/tests/tcg/i386/test-i386.c
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-cutils.c
/openbmc/qemu/tests/unit/test-io-channel-null.c
/openbmc/qemu/tests/unit/test-vmstate.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tools/virtiofsd/passthrough_ll.c
/openbmc/qemu/ui/cocoa.m
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/gtk-egl.c
/openbmc/qemu/ui/gtk-gl-area.c
/openbmc/qemu/ui/gtk.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/util/aio-wait.c
/openbmc/qemu/util/cacheflush.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/hbitmap.c
/openbmc/qemu/util/host-utils.c
/openbmc/qemu/util/iova-tree.c
/openbmc/qemu/util/meson.build
/openbmc/qemu/util/qemu-timer.c
3d96415020-May-2022 Bernhard Beschow <shentey@gmail.com>

hw/net/fsl_etsec/etsec: Remove obsolete and unused etsec_create()

etsec_create() wraps qdev API which is outdated. It is also unused,
so remove it.

Signed-off-by: Bernhard Beschow <shentey@gmail.co

hw/net/fsl_etsec/etsec: Remove obsolete and unused etsec_create()

etsec_create() wraps qdev API which is outdated. It is also unused,
so remove it.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <20220520180109.8224-8-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest-template.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/.gitlab-ci.d/container-cross.yml
/openbmc/qemu/.gitlab-ci.d/container-template.yml
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/.gitlab-ci.d/crossbuilds.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml
/openbmc/qemu/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml
/openbmc/qemu/.gitlab-ci.d/qemu-project.yml
/openbmc/qemu/.gitlab-ci.d/static_checks.yml
/openbmc/qemu/.gitlab-ci.d/windows.yml
/openbmc/qemu/.gitmodules
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/Makefile
/openbmc/qemu/accel/hvf/hvf-accel-ops.c
/openbmc/qemu/accel/kvm/kvm-all.c
/openbmc/qemu/accel/tcg/tcg-accel-ops-icount.c
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/backends/hostmem.c
/openbmc/qemu/configs/devices/loongarch64-softmmu/default.mak
/openbmc/qemu/configs/targets/loongarch64-softmmu.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/elf2dmp/qemu_elf.c
/openbmc/qemu/crypto/akcipher-gcrypt.c.inc
/openbmc/qemu/crypto/akcipher-nettle.c.inc
/openbmc/qemu/crypto/akcipher.c
/openbmc/qemu/crypto/akcipherpriv.h
/openbmc/qemu/crypto/der.c
/openbmc/qemu/crypto/der.h
/openbmc/qemu/crypto/meson.build
/openbmc/qemu/crypto/rsakey-builtin.c.inc
/openbmc/qemu/crypto/rsakey-nettle.c.inc
/openbmc/qemu/crypto/rsakey.c
/openbmc/qemu/crypto/rsakey.h
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/ci-jobs.rst.inc
/openbmc/qemu/docs/devel/ci.rst
/openbmc/qemu/docs/devel/index-tcg.rst
/openbmc/qemu/docs/devel/replay.rst
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/devel/testing.rst
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/specs/vmgenid.txt
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/devices/cxl.rst
/openbmc/qemu/docs/system/i386/hyperv.rst
/openbmc/qemu/docs/system/index.rst
/openbmc/qemu/docs/system/loongarch/loongson3.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/docs/system/replay.rst
/openbmc/qemu/docs/system/target-i386.rst
/openbmc/qemu/docs/tools/virtiofsd.rst
/openbmc/qemu/gdb-xml/loongarch-base64.xml
/openbmc/qemu/gdb-xml/loongarch-fpu64.xml
/openbmc/qemu/gdbstub.c
/openbmc/qemu/hmp-commands-info.hx
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/acpi/acpi_interface.c
/openbmc/qemu/hw/acpi/cxl.c
/openbmc/qemu/hw/acpi/ghes.c
/openbmc/qemu/hw/acpi/ipmi-stub.c
/openbmc/qemu/hw/acpi/ipmi.c
/openbmc/qemu/hw/acpi/meson.build
/openbmc/qemu/hw/acpi/piix4.c
/openbmc/qemu/hw/acpi/viot.c
/openbmc/qemu/hw/arm/armv7m.c
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast10x0.c
/openbmc/qemu/hw/arm/aspeed_ast2600.c
/openbmc/qemu/hw/arm/aspeed_soc.c
/openbmc/qemu/hw/arm/boot.c
/openbmc/qemu/hw/arm/xlnx-zynqmp.c
/openbmc/qemu/hw/audio/ac97.c
/openbmc/qemu/hw/audio/cs4231a.c
/openbmc/qemu/hw/block/fdc-isa.c
/openbmc/qemu/hw/block/fdc-sysbus.c
/openbmc/qemu/hw/block/m25p80.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/char/parallel.c
/openbmc/qemu/hw/char/serial-isa.c
/openbmc/qemu/hw/core/generic-loader.c
/openbmc/qemu/hw/core/loader.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/uboot_image.h
/openbmc/qemu/hw/cxl/cxl-component-utils.c
/openbmc/qemu/hw/cxl/cxl-host-stubs.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/display/qxl.c
/openbmc/qemu/hw/display/vhost-user-gpu-pci.c
/openbmc/qemu/hw/display/vhost-user-gpu.c
/openbmc/qemu/hw/display/vhost-user-vga.c
/openbmc/qemu/hw/display/virtio-gpu-base.c
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci-gl.c
/openbmc/qemu/hw/display/virtio-gpu-pci.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/display/virtio-vga-gl.c
/openbmc/qemu/hw/display/virtio-vga.c
/openbmc/qemu/hw/display/xlnx_dp.c
/openbmc/qemu/hw/gpio/aspeed_gpio.c
/openbmc/qemu/hw/gpio/trace-events
/openbmc/qemu/hw/hppa/hppa_hardware.h
/openbmc/qemu/hw/hppa/machine.c
/openbmc/qemu/hw/hyperv/vmbus.c
/openbmc/qemu/hw/i2c/smbus_ich9.c
/openbmc/qemu/hw/i386/acpi-build.c
/openbmc/qemu/hw/i386/microvm-dt.c
/openbmc/qemu/hw/i386/pc.c
/openbmc/qemu/hw/i386/pc_piix.c
/openbmc/qemu/hw/i386/pc_q35.c
/openbmc/qemu/hw/i386/x86.c
/openbmc/qemu/hw/i386/xen/xen_platform.c
/openbmc/qemu/hw/ide/core.c
/openbmc/qemu/hw/ide/macio.c
/openbmc/qemu/hw/ide/piix.c
/openbmc/qemu/hw/input/pckbd.c
/openbmc/qemu/hw/intc/Kconfig
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/arm_gicv3_dist.c
/openbmc/qemu/hw/intc/arm_gicv3_redist.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/loongarch_ipi.c
/openbmc/qemu/hw/intc/loongarch_pch_msi.c
/openbmc/qemu/hw/intc/loongarch_pch_pic.c
/openbmc/qemu/hw/intc/meson.build
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/riscv_aclint.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/intc/trace-events
/openbmc/qemu/hw/ipmi/isa_ipmi_bt.c
/openbmc/qemu/hw/ipmi/isa_ipmi_kcs.c
/openbmc/qemu/hw/ipmi/smbus_ipmi.c
/openbmc/qemu/hw/isa/isa-bus.c
/openbmc/qemu/hw/isa/lpc_ich9.c
/openbmc/qemu/hw/isa/piix3.c
/openbmc/qemu/hw/isa/piix4.c
/openbmc/qemu/hw/loongarch/Kconfig
/openbmc/qemu/hw/loongarch/loongson3.c
/openbmc/qemu/hw/loongarch/meson.build
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/mips/jazz.c
/openbmc/qemu/hw/mips/malta.c
/openbmc/qemu/hw/misc/applesmc.c
/openbmc/qemu/hw/misc/pvpanic-isa.c
fsl_etsec/etsec.c
fsl_etsec/etsec.h
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/nvme/dif.c
/openbmc/qemu/hw/nvme/ns.c
/openbmc/qemu/hw/nvme/nvme.h
/openbmc/qemu/hw/nvme/subsys.c
/openbmc/qemu/hw/pci-bridge/meson.build
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge_stubs.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/shpc.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/opentitan.c
/openbmc/qemu/hw/riscv/sifive_e.c
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/spike.c
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/rtc/Kconfig
/openbmc/qemu/hw/rtc/ls7a_rtc.c
/openbmc/qemu/hw/rtc/mc146818rtc.c
/openbmc/qemu/hw/rtc/meson.build
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/s390x/virtio-ccw-gpu.c
/openbmc/qemu/hw/scsi/mfi.h
/openbmc/qemu/hw/scsi/vhost-user-scsi.c
/openbmc/qemu/hw/sd/allwinner-sdhost.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/sparc64/sun4u_iommu.c
/openbmc/qemu/hw/timer/sse-timer.c
/openbmc/qemu/hw/tpm/tpm_crb.c
/openbmc/qemu/hw/tpm/tpm_tis_common.c
/openbmc/qemu/hw/tpm/tpm_tis_isa.c
/openbmc/qemu/hw/usb/ccid-card-emulated.c
/openbmc/qemu/hw/usb/ccid-card-passthru.c
/openbmc/qemu/hw/usb/host-libusb.c
/openbmc/qemu/hw/usb/redirect.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/include/crypto/akcipher.h
/openbmc/qemu/include/disas/dis-asm.h
/openbmc/qemu/include/exec/poison.h
/openbmc/qemu/include/hw/acpi/acpi_aml_interface.h
/openbmc/qemu/include/hw/acpi/cxl.h
/openbmc/qemu/include/hw/acpi/ipmi.h
/openbmc/qemu/include/hw/acpi/piix4.h
/openbmc/qemu/include/hw/arm/aspeed_soc.h
/openbmc/qemu/include/hw/block/fdc.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/cxl/cxl.h
/openbmc/qemu/include/hw/cxl/cxl_host.h
/openbmc/qemu/include/hw/display/xlnx_dp.h
/openbmc/qemu/include/hw/gpio/aspeed_gpio.h
/openbmc/qemu/include/hw/hyperv/vmbus.h
/openbmc/qemu/include/hw/i386/pc.h
/openbmc/qemu/include/hw/ide.h
/openbmc/qemu/include/hw/intc/loongarch_extioi.h
/openbmc/qemu/include/hw/intc/loongarch_ipi.h
/openbmc/qemu/include/hw/intc/loongarch_pch_msi.h
/openbmc/qemu/include/hw/intc/loongarch_pch_pic.h
/openbmc/qemu/include/hw/isa/isa.h
/openbmc/qemu/include/hw/loader.h
/openbmc/qemu/include/hw/loongarch/virt.h
/openbmc/qemu/include/hw/misc/pvpanic.h
/openbmc/qemu/include/hw/pci-bridge/pci_expander_bridge.h
/openbmc/qemu/include/hw/pci-host/ls7a.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/rtc/mc146818rtc.h
/openbmc/qemu/include/hw/southbridge/piix.h
/openbmc/qemu/include/qemu/cutils.h
/openbmc/qemu/include/qemu/module.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/include/sysemu/arch_init.h
/openbmc/qemu/include/sysemu/cpu-timers.h
/openbmc/qemu/include/sysemu/replay.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/tcg/tcg-op.h
/openbmc/qemu/linux-user/aarch64/signal.c
/openbmc/qemu/linux-user/aarch64/target_prctl.h
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/include/host/s390/host-signal.h
/openbmc/qemu/linux-user/linuxload.c
/openbmc/qemu/linux-user/m68k/cpu_loop.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/s390x/signal.c
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/strace.h
/openbmc/qemu/linux-user/strace.list
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/uname.c
/openbmc/qemu/linux-user/uname.h
/openbmc/qemu/linux-user/user-internals.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/monitor/misc.c
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/pc-bios/meson.build
/openbmc/qemu/pc-bios/optionrom/Makefile
/openbmc/qemu/pc-bios/s390-ccw/Makefile
/openbmc/qemu/pc-bios/s390-ccw/netboot.mak
/openbmc/qemu/pc-bios/vof/Makefile
/openbmc/qemu/python/qemu/machine/machine.py
/openbmc/qemu/python/qemu/qmp/util.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-io.c
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/channel-posix.c
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/qga/cutils.c
/openbmc/qemu/qga/cutils.h
/openbmc/qemu/qga/installer/qemu-ga.wxs
/openbmc/qemu/qga/main.c
/openbmc/qemu/qga/meson.build
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/replay/replay-events.c
/openbmc/qemu/replay/replay-internal.h
/openbmc/qemu/replay/replay-snapshot.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/scripts/ci/setup/build-environment.yml
/openbmc/qemu/scripts/device-crash-test
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/modinfo-generate.py
/openbmc/qemu/scripts/mtest2make.py
/openbmc/qemu/semihosting/arm-compat-semi.c
/openbmc/qemu/semihosting/config.c
/openbmc/qemu/softmmu/globals.c
/openbmc/qemu/softmmu/icount.c
/openbmc/qemu/softmmu/qdev-monitor.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/storage-daemon/qemu-storage-daemon.c
/openbmc/qemu/stubs/icount.c
/openbmc/qemu/target/Kconfig
/openbmc/qemu/target/arm/arch_dump.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/gdbstub.c
/openbmc/qemu/target/arm/gdbstub64.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/helper.h
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/meson.build
/openbmc/qemu/target/arm/mve_helper.c
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/sve.decode
/openbmc/qemu/target/arm/sve_helper.c
/openbmc/qemu/target/arm/sve_ldst_internal.h
/openbmc/qemu/target/arm/syndrome.h
/openbmc/qemu/target/arm/tlb_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/target/arm/translate-m-nocp.c
/openbmc/qemu/target/arm/translate-mve.c
/openbmc/qemu/target/arm/translate-sve.c
/openbmc/qemu/target/arm/translate-vfp.c
/openbmc/qemu/target/arm/translate.c
/openbmc/qemu/target/arm/translate.h
/openbmc/qemu/target/arm/vec_helper.c
/openbmc/qemu/target/arm/vec_internal.h
/openbmc/qemu/target/i386/cpu-sysemu.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/hvf/vmcs.h
/openbmc/qemu/target/i386/hvf/vmx.h
/openbmc/qemu/target/i386/kvm/hyperv-proto.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/loongarch/Kconfig
/openbmc/qemu/target/loongarch/README
/openbmc/qemu/target/loongarch/constant_timer.c
/openbmc/qemu/target/loongarch/cpu-csr.h
/openbmc/qemu/target/loongarch/cpu-param.h
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/csr_helper.c
/openbmc/qemu/target/loongarch/disas.c
/openbmc/qemu/target/loongarch/fpu_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/helper.h
/openbmc/qemu/target/loongarch/insn_trans/trans_arith.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_atomic.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_bit.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_branch.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_extra.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_farith.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fcmp.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fcnv.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmemory.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_fmov.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_memory.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_privileged.c.inc
/openbmc/qemu/target/loongarch/insn_trans/trans_shift.c.inc
/openbmc/qemu/target/loongarch/insns.decode
/openbmc/qemu/target/loongarch/internals.h
/openbmc/qemu/target/loongarch/iocsr_helper.c
/openbmc/qemu/target/loongarch/machine.c
/openbmc/qemu/target/loongarch/meson.build
/openbmc/qemu/target/loongarch/op_helper.c
/openbmc/qemu/target/loongarch/tlb_helper.c
/openbmc/qemu/target/loongarch/translate.c
/openbmc/qemu/target/loongarch/translate.h
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/cpu.h
/openbmc/qemu/target/m68k/helper.h
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/meson.build
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/tcg/msa_helper.c
/openbmc/qemu/target/mips/tcg/msa_translate.c
/openbmc/qemu/target/mips/tcg/nanomips_translate.c.inc
/openbmc/qemu/target/mips/tcg/sysemu/cp0_helper.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/fpu_helper.c
/openbmc/qemu/target/ppc/helper.h
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/ppc/insn32.decode
/openbmc/qemu/target/ppc/insn64.decode
/openbmc/qemu/target/ppc/int_helper.c
/openbmc/qemu/target/ppc/internal.h
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/ppc/translate/fp-impl.c.inc
/openbmc/qemu/target/ppc/translate/fp-ops.c.inc
/openbmc/qemu/target/ppc/translate/vmx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vmx-ops.c.inc
/openbmc/qemu/target/ppc/translate/vsx-impl.c.inc
/openbmc/qemu/target/ppc/translate/vsx-ops.c.inc
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/csr.c
/openbmc/qemu/target/riscv/debug.c
/openbmc/qemu/target/riscv/insn_trans/trans_rvm.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/target/s390x/cpu_features_def.h.inc
/openbmc/qemu/target/s390x/gen-features.c
/openbmc/qemu/target/s390x/ioinst.c
/openbmc/qemu/target/s390x/kvm/kvm.c
/openbmc/qemu/target/s390x/tcg/translate.c
/openbmc/qemu/tcg/aarch64/tcg-target.c.inc
/openbmc/qemu/tcg/i386/tcg-target.c.inc
/openbmc/qemu/tcg/ppc/tcg-target.c.inc
/openbmc/qemu/tests/Makefile.include
/openbmc/qemu/tests/avocado/avocado_qemu/__init__.py
/openbmc/qemu/tests/avocado/replay_linux.py
/openbmc/qemu/tests/avocado/virtio_check_params.py
/openbmc/qemu/tests/avocado/virtio_version.py
/openbmc/qemu/tests/bench/benchmark-crypto-akcipher.c
/openbmc/qemu/tests/bench/meson.build
/openbmc/qemu/tests/bench/test_akcipher_keys.inc
/openbmc/qemu/tests/data/acpi/pc/DSDT
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/q35/CEDT.cxl
/openbmc/qemu/tests/data/acpi/q35/DSDT
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/q35/DSDT.xapic
/openbmc/qemu/tests/data/acpi/q35/VIOT.viot
/openbmc/qemu/tests/docker/Makefile.include
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mips64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-mipsel-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-ppc64el-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian10.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win32-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/aspeed_gpio-test.c
/openbmc/qemu/tests/qtest/aspeed_smc-test.c
/openbmc/qemu/tests/qtest/bios-tables-test.c
/openbmc/qemu/tests/qtest/cxl-test.c
/openbmc/qemu/tests/qtest/fuzz/fuzz.c
/openbmc/qemu/tests/qtest/libqmp.c
/openbmc/qemu/tests/qtest/libqmp.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/libqtest.h
/openbmc/qemu/tests/qtest/npcm7xx_pwm-test.c
/openbmc/qemu/tests/qtest/npcm7xx_sdhci-test.c
/openbmc/qemu/tests/qtest/vhost-user-test.c
/openbmc/qemu/tests/requirements.txt
/openbmc/qemu/tests/tcg/loongarch64/Makefile.softmmu-target
/openbmc/qemu/tests/tcg/loongarch64/system/boot.S
/openbmc/qemu/tests/tcg/loongarch64/system/kernel.ld
/openbmc/qemu/tests/tcg/loongarch64/system/regdef.h
/openbmc/qemu/tests/tcg/m68k/Makefile.target
/openbmc/qemu/tests/tcg/m68k/trap.c
/openbmc/qemu/tests/tcg/multiarch/overflow.c
/openbmc/qemu/tests/tcg/s390x/signals-s390x.c
/openbmc/qemu/tests/tcg/x86_64/system/boot.S
/openbmc/qemu/tests/unit/meson.build
/openbmc/qemu/tests/unit/test-crypto-akcipher.c
/openbmc/qemu/tests/unit/test-crypto-der.c
/openbmc/qemu/tests/unit/test-qga.c
/openbmc/qemu/tests/vm/Makefile.include
/openbmc/qemu/tests/vm/basevm.py
/openbmc/qemu/tests/vm/netbsd
/openbmc/qemu/tests/vm/openbsd
/openbmc/qemu/ui/sdl2.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/cutils.c
/openbmc/qemu/util/oslib-posix.c
/openbmc/qemu/util/oslib-win32.c
/openbmc/qemu/util/thread-pool.c
9598c1bb16-May-2022 Peter Maydell <peter.maydell@linaro.org>

ptimer: Rename PTIMER_POLICY_DEFAULT to PTIMER_POLICY_LEGACY

The traditional ptimer behaviour includes a collection of weird edge
case behaviours. In 2016 we improved the ptimer implementation to
f

ptimer: Rename PTIMER_POLICY_DEFAULT to PTIMER_POLICY_LEGACY

The traditional ptimer behaviour includes a collection of weird edge
case behaviours. In 2016 we improved the ptimer implementation to
fix these and generally make the behaviour more flexible, with
ptimers opting in to the new behaviour by passing an appropriate set
of policy flags to ptimer_init(). For backwards-compatibility, we
defined PTIMER_POLICY_DEFAULT (which sets no flags) to give the old
weird behaviour.

This turns out to be a poor choice of name, because people writing
new devices which use ptimers are misled into thinking that the
default is probably a sensible choice of flags, when in fact it is
almost always not what you want. Rename PTIMER_POLICY_DEFAULT to
PTIMER_POLICY_LEGACY and beef up the comment to more clearly say that
new devices should not be using it.

The code-change part of this commit was produced by
sed -i -e 's/PTIMER_POLICY_DEFAULT/PTIMER_POLICY_LEGACY/g' $(git grep -l PTIMER_POLICY_DEFAULT)
with the exception of a test name string change in
tests/unit/ptimer-test.c which was added manually.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Francisco Iglesias <francisco.iglesias@amd.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220516103058.162280-1-peter.maydell@linaro.org

show more ...


/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/hw/adc/zynq-xadc.c
/openbmc/qemu/hw/arm/musicpal.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/artist.c
/openbmc/qemu/hw/dma/xilinx_axidma.c
/openbmc/qemu/hw/dma/xlnx_csu_dma.c
/openbmc/qemu/hw/intc/arm_gicv3_common.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/arm_gicv3_kvm.c
/openbmc/qemu/hw/m68k/mcf5206.c
/openbmc/qemu/hw/m68k/mcf5208.c
can/xlnx-zynqmp-can.c
fsl_etsec/etsec.c
lan9118.c
/openbmc/qemu/hw/rtc/exynos4210_rtc.c
/openbmc/qemu/hw/timer/allwinner-a10-pit.c
/openbmc/qemu/hw/timer/altera_timer.c
/openbmc/qemu/hw/timer/arm_timer.c
/openbmc/qemu/hw/timer/digic-timer.c
/openbmc/qemu/hw/timer/etraxfs_timer.c
/openbmc/qemu/hw/timer/exynos4210_mct.c
/openbmc/qemu/hw/timer/exynos4210_pwm.c
/openbmc/qemu/hw/timer/grlib_gptimer.c
/openbmc/qemu/hw/timer/imx_epit.c
/openbmc/qemu/hw/timer/imx_gpt.c
/openbmc/qemu/hw/timer/mss-timer.c
/openbmc/qemu/hw/timer/sh_timer.c
/openbmc/qemu/hw/timer/slavio_timer.c
/openbmc/qemu/hw/timer/xilinx_timer.c
/openbmc/qemu/include/hw/adc/zynq-xadc.h
/openbmc/qemu/include/hw/intc/arm_gicv3_common.h
/openbmc/qemu/include/hw/ptimer.h
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/target/arm/cpregs.h
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/cpu64.c
/openbmc/qemu/target/arm/cpu_tcg.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm64.c
/openbmc/qemu/target/arm/op_helper.c
/openbmc/qemu/target/arm/translate-a64.c
/openbmc/qemu/target/arm/translate-a64.h
/openbmc/qemu/tests/unit/ptimer-test.c
052c257910-Mar-2022 Helge Deller <deller@gmx.de>

tulip: Assign default MAC address if not specified

The MAC of the tulip card is stored in the EEPROM and at startup
tulip_fill_eeprom() is called to initialize the EEPROM with the MAC
address given

tulip: Assign default MAC address if not specified

The MAC of the tulip card is stored in the EEPROM and at startup
tulip_fill_eeprom() is called to initialize the EEPROM with the MAC
address given on the command line, e.g.:
-device tulip,mac=00:11:22:33:44:55

In case the mac address was not given on the command line,
tulip_fill_eeprom() initializes the MAC in EEPROM with 00:00:00:00:00:00
which breaks e.g. a HP-UX guest.

Fix this problem by moving qemu_macaddr_default_if_unset() a few lines
up, so that a default mac address is assigned before tulip_fill_eeprom()
initializes the EEPROM.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Jason Wang <jasowang@redhat.com>

show more ...


/openbmc/qemu/Makefile
/openbmc/qemu/audio/audio.c
/openbmc/qemu/audio/audio.h
/openbmc/qemu/backends/rng.c
/openbmc/qemu/chardev/char-io.c
/openbmc/qemu/configure
/openbmc/qemu/contrib/vhost-user-scsi/vhost-user-scsi.c
/openbmc/qemu/crypto/secret_common.c
/openbmc/qemu/crypto/tlscredsanon.c
/openbmc/qemu/crypto/tlscredspsk.c
/openbmc/qemu/crypto/tlscredsx509.c
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/qapi-code-gen.rst
/openbmc/qemu/hmp-commands.hx
/openbmc/qemu/hw/audio/intel-hda.c
/openbmc/qemu/hw/audio/soundhw.c
/openbmc/qemu/hw/core/qdev-properties.c
tulip.c
/openbmc/qemu/hw/openrisc/openrisc_sim.c
/openbmc/qemu/hw/remote/mpqemu-link.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/include/hw/audio/soundhw.h
/openbmc/qemu/include/hw/qdev-properties.h
/openbmc/qemu/include/io/channel-socket.h
/openbmc/qemu/include/io/channel.h
/openbmc/qemu/include/standard-headers/linux/input-event-codes.h
/openbmc/qemu/include/standard-headers/linux/virtio_config.h
/openbmc/qemu/include/standard-headers/linux/virtio_crypto.h
/openbmc/qemu/io/channel-buffer.c
/openbmc/qemu/io/channel-command.c
/openbmc/qemu/io/channel-file.c
/openbmc/qemu/io/channel-socket.c
/openbmc/qemu/io/channel-tls.c
/openbmc/qemu/io/channel-websock.c
/openbmc/qemu/io/channel.c
/openbmc/qemu/linux-headers/asm-arm64/kvm.h
/openbmc/qemu/linux-headers/asm-generic/mman-common.h
/openbmc/qemu/linux-headers/asm-mips/mman.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/psci.h
/openbmc/qemu/linux-headers/linux/userfaultfd.h
/openbmc/qemu/linux-headers/linux/vfio.h
/openbmc/qemu/linux-headers/linux/vhost.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/migration/channel.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.h
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/socket.c
/openbmc/qemu/monitor/hmp-cmds.c
/openbmc/qemu/net/clients.h
/openbmc/qemu/net/meson.build
/openbmc/qemu/net/net.c
/openbmc/qemu/net/vmnet-bridged.m
/openbmc/qemu/net/vmnet-common.m
/openbmc/qemu/net/vmnet-host.c
/openbmc/qemu/net/vmnet-shared.c
/openbmc/qemu/net/vmnet_int.h
/openbmc/qemu/qapi/audio.json
/openbmc/qemu/qapi/block-core.json
/openbmc/qemu/qapi/block-export.json
/openbmc/qemu/qapi/block.json
/openbmc/qemu/qapi/char.json
/openbmc/qemu/qapi/common.json
/openbmc/qemu/qapi/control.json
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/dump.json
/openbmc/qemu/qapi/job.json
/openbmc/qemu/qapi/machine-target.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/misc-target.json
/openbmc/qemu/qapi/misc.json
/openbmc/qemu/qapi/net.json
/openbmc/qemu/qapi/pragma.json
/openbmc/qemu/qapi/replay.json
/openbmc/qemu/qapi/run-state.json
/openbmc/qemu/qapi/sockets.json
/openbmc/qemu/qapi/ui.json
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/qga/qapi-schema.json
/openbmc/qemu/qga/vss-win32/meson.build
/openbmc/qemu/qga/vss-win32/requester.cpp
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/qapi/expr.py
/openbmc/qemu/scsi/pr-manager-helper.c
/openbmc/qemu/softmmu/vl.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/machine.c
/openbmc/qemu/target/i386/whpx/whpx-all.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-helpers.h
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/unit/crypto-tls-psk-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-psk-helpers.h
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.c
/openbmc/qemu/tests/unit/crypto-tls-x509-helpers.h
/openbmc/qemu/tests/unit/test-crypto-tlssession.c
/openbmc/qemu/tests/unit/test-io-channel-socket.c
2a7888cc06-May-2022 Si-Wei Liu <si-wei.liu@oracle.com>

virtio-net: don't handle mq request in userspace handler for vhost-vdpa

virtio_queue_host_notifier_read() tends to read pending event
left behind on ioeventfd in the vhost_net_stop() path, and
attem

virtio-net: don't handle mq request in userspace handler for vhost-vdpa

virtio_queue_host_notifier_read() tends to read pending event
left behind on ioeventfd in the vhost_net_stop() path, and
attempts to handle outstanding kicks from userspace vq handler.
However, in the ctrl_vq handler, virtio_net_handle_mq() has a
recursive call into virtio_net_set_status(), which may lead to
segmentation fault as shown in below stack trace:

0 0x000055f800df1780 in qdev_get_parent_bus (dev=0x0) at ../hw/core/qdev.c:376
1 0x000055f800c68ad8 in virtio_bus_device_iommu_enabled (vdev=vdev@entry=0x0) at ../hw/virtio/virtio-bus.c:331
2 0x000055f800d70d7f in vhost_memory_unmap (dev=<optimized out>) at ../hw/virtio/vhost.c:318
3 0x000055f800d70d7f in vhost_memory_unmap (dev=<optimized out>, buffer=0x7fc19bec5240, len=2052, is_write=1, access_len=2052) at ../hw/virtio/vhost.c:336
4 0x000055f800d71867 in vhost_virtqueue_stop (dev=dev@entry=0x55f8037ccc30, vdev=vdev@entry=0x55f8044ec590, vq=0x55f8037cceb0, idx=0) at ../hw/virtio/vhost.c:1241
5 0x000055f800d7406c in vhost_dev_stop (hdev=hdev@entry=0x55f8037ccc30, vdev=vdev@entry=0x55f8044ec590) at ../hw/virtio/vhost.c:1839
6 0x000055f800bf00a7 in vhost_net_stop_one (net=0x55f8037ccc30, dev=0x55f8044ec590) at ../hw/net/vhost_net.c:315
7 0x000055f800bf0678 in vhost_net_stop (dev=dev@entry=0x55f8044ec590, ncs=0x55f80452bae0, data_queue_pairs=data_queue_pairs@entry=7, cvq=cvq@entry=1)
at ../hw/net/vhost_net.c:423
8 0x000055f800d4e628 in virtio_net_set_status (status=<optimized out>, n=0x55f8044ec590) at ../hw/net/virtio-net.c:296
9 0x000055f800d4e628 in virtio_net_set_status (vdev=vdev@entry=0x55f8044ec590, status=15 '\017') at ../hw/net/virtio-net.c:370
10 0x000055f800d534d8 in virtio_net_handle_ctrl (iov_cnt=<optimized out>, iov=<optimized out>, cmd=0 '\000', n=0x55f8044ec590) at ../hw/net/virtio-net.c:1408
11 0x000055f800d534d8 in virtio_net_handle_ctrl (vdev=0x55f8044ec590, vq=0x7fc1a7e888d0) at ../hw/net/virtio-net.c:1452
12 0x000055f800d69f37 in virtio_queue_host_notifier_read (vq=0x7fc1a7e888d0) at ../hw/virtio/virtio.c:2331
13 0x000055f800d69f37 in virtio_queue_host_notifier_read (n=n@entry=0x7fc1a7e8894c) at ../hw/virtio/virtio.c:3575
14 0x000055f800c688e6 in virtio_bus_cleanup_host_notifier (bus=<optimized out>, n=n@entry=14) at ../hw/virtio/virtio-bus.c:312
15 0x000055f800d73106 in vhost_dev_disable_notifiers (hdev=hdev@entry=0x55f8035b51b0, vdev=vdev@entry=0x55f8044ec590)
at ../../../include/hw/virtio/virtio-bus.h:35
16 0x000055f800bf00b2 in vhost_net_stop_one (net=0x55f8035b51b0, dev=0x55f8044ec590) at ../hw/net/vhost_net.c:316
17 0x000055f800bf0678 in vhost_net_stop (dev=dev@entry=0x55f8044ec590, ncs=0x55f80452bae0, data_queue_pairs=data_queue_pairs@entry=7, cvq=cvq@entry=1)
at ../hw/net/vhost_net.c:423
18 0x000055f800d4e628 in virtio_net_set_status (status=<optimized out>, n=0x55f8044ec590) at ../hw/net/virtio-net.c:296
19 0x000055f800d4e628 in virtio_net_set_status (vdev=0x55f8044ec590, status=15 '\017') at ../hw/net/virtio-net.c:370
20 0x000055f800d6c4b2 in virtio_set_status (vdev=0x55f8044ec590, val=<optimized out>) at ../hw/virtio/virtio.c:1945
21 0x000055f800d11d9d in vm_state_notify (running=running@entry=false, state=state@entry=RUN_STATE_SHUTDOWN) at ../softmmu/runstate.c:333
22 0x000055f800d04e7a in do_vm_stop (state=state@entry=RUN_STATE_SHUTDOWN, send_stop=send_stop@entry=false) at ../softmmu/cpus.c:262
23 0x000055f800d04e99 in vm_shutdown () at ../softmmu/cpus.c:280
24 0x000055f800d126af in qemu_cleanup () at ../softmmu/runstate.c:812
25 0x000055f800ad5b13 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../softmmu/main.c:51

For now, temporarily disable handling MQ request from the ctrl_vq
userspace hanlder to avoid the recursive virtio_net_set_status()
call. Some rework is needed to allow changing the number of
queues without going through a full virtio_net_set_status cycle,
particularly for vhost-vdpa backend.

This patch will need to be reverted as soon as future patches of
having the change of #queues handled in userspace is merged.

Fixes: 402378407db ("vhost-vdpa: multiqueue support")
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <1651890498-24478-8-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

6f3910b506-May-2022 Si-Wei Liu <si-wei.liu@oracle.com>

vhost-net: fix improper cleanup in vhost_net_start

vhost_net_start() missed a corresponding stop_one() upon error from
vhost_set_vring_enable(). While at it, make the error handling for
err_start mo

vhost-net: fix improper cleanup in vhost_net_start

vhost_net_start() missed a corresponding stop_one() upon error from
vhost_set_vring_enable(). While at it, make the error handling for
err_start more robust. No real issue was found due to this though.

Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <1651890498-24478-5-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

68b0a63906-May-2022 Si-Wei Liu <si-wei.liu@oracle.com>

virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa

With MQ enabled vdpa device and non-MQ supporting guest e.g.
booting vdpa with mq=on over OVMF of single vqp, below assert
failure is

virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa

With MQ enabled vdpa device and non-MQ supporting guest e.g.
booting vdpa with mq=on over OVMF of single vqp, below assert
failure is seen:

../hw/virtio/vhost-vdpa.c:560: vhost_vdpa_get_vq_index: Assertion `idx >= dev->vq_index && idx < dev->vq_index + dev->nvqs' failed.

0 0x00007f8ce3ff3387 in raise () at /lib64/libc.so.6
1 0x00007f8ce3ff4a78 in abort () at /lib64/libc.so.6
2 0x00007f8ce3fec1a6 in __assert_fail_base () at /lib64/libc.so.6
3 0x00007f8ce3fec252 in () at /lib64/libc.so.6
4 0x0000558f52d79421 in vhost_vdpa_get_vq_index (dev=<optimized out>, idx=<optimized out>) at ../hw/virtio/vhost-vdpa.c:563
5 0x0000558f52d79421 in vhost_vdpa_get_vq_index (dev=<optimized out>, idx=<optimized out>) at ../hw/virtio/vhost-vdpa.c:558
6 0x0000558f52d7329a in vhost_virtqueue_mask (hdev=0x558f55c01800, vdev=0x558f568f91f0, n=2, mask=<optimized out>) at ../hw/virtio/vhost.c:1557
7 0x0000558f52c6b89a in virtio_pci_set_guest_notifier (d=d@entry=0x558f568f0f60, n=n@entry=2, assign=assign@entry=true, with_irqfd=with_irqfd@entry=false)
at ../hw/virtio/virtio-pci.c:974
8 0x0000558f52c6c0d8 in virtio_pci_set_guest_notifiers (d=0x558f568f0f60, nvqs=3, assign=true) at ../hw/virtio/virtio-pci.c:1019
9 0x0000558f52bf091d in vhost_net_start (dev=dev@entry=0x558f568f91f0, ncs=0x558f56937cd0, data_queue_pairs=data_queue_pairs@entry=1, cvq=cvq@entry=1)
at ../hw/net/vhost_net.c:361
10 0x0000558f52d4e5e7 in virtio_net_set_status (status=<optimized out>, n=0x558f568f91f0) at ../hw/net/virtio-net.c:289
11 0x0000558f52d4e5e7 in virtio_net_set_status (vdev=0x558f568f91f0, status=15 '\017') at ../hw/net/virtio-net.c:370
12 0x0000558f52d6c4b2 in virtio_set_status (vdev=vdev@entry=0x558f568f91f0, val=val@entry=15 '\017') at ../hw/virtio/virtio.c:1945
13 0x0000558f52c69eff in virtio_pci_common_write (opaque=0x558f568f0f60, addr=<optimized out>, val=<optimized out>, size=<optimized out>) at ../hw/virtio/virtio-pci.c:1292
14 0x0000558f52d15d6e in memory_region_write_accessor (mr=0x558f568f19d0, addr=20, value=<optimized out>, size=1, shift=<optimized out>, mask=<optimized out>, attrs=...)
at ../softmmu/memory.c:492
15 0x0000558f52d127de in access_with_adjusted_size (addr=addr@entry=20, value=value@entry=0x7f8cdbffe748, size=size@entry=1, access_size_min=<optimized out>, access_size_max=<optimized out>, access_fn=0x558f52d15cf0 <memory_region_write_accessor>, mr=0x558f568f19d0, attrs=...) at ../softmmu/memory.c:554
16 0x0000558f52d157ef in memory_region_dispatch_write (mr=mr@entry=0x558f568f19d0, addr=20, data=<optimized out>, op=<optimized out>, attrs=attrs@entry=...)
at ../softmmu/memory.c:1504
17 0x0000558f52d078e7 in flatview_write_continue (fv=fv@entry=0x7f8accbc3b90, addr=addr@entry=103079215124, attrs=..., ptr=ptr@entry=0x7f8ce6300028, len=len@entry=1, addr1=<optimized out>, l=<optimized out>, mr=0x558f568f19d0) at /home/opc/qemu-upstream/include/qemu/host-utils.h:165
18 0x0000558f52d07b06 in flatview_write (fv=0x7f8accbc3b90, addr=103079215124, attrs=..., buf=0x7f8ce6300028, len=1) at ../softmmu/physmem.c:2822
19 0x0000558f52d0b36b in address_space_write (as=<optimized out>, addr=<optimized out>, attrs=..., buf=buf@entry=0x7f8ce6300028, len=<optimized out>)
at ../softmmu/physmem.c:2914
20 0x0000558f52d0b3da in address_space_rw (as=<optimized out>, addr=<optimized out>, attrs=...,
attrs@entry=..., buf=buf@entry=0x7f8ce6300028, len=<optimized out>, is_write=<optimized out>) at ../softmmu/physmem.c:2924
21 0x0000558f52dced09 in kvm_cpu_exec (cpu=cpu@entry=0x558f55c2da60) at ../accel/kvm/kvm-all.c:2903
22 0x0000558f52dcfabd in kvm_vcpu_thread_fn (arg=arg@entry=0x558f55c2da60) at ../accel/kvm/kvm-accel-ops.c:49
23 0x0000558f52f9f04a in qemu_thread_start (args=<optimized out>) at ../util/qemu-thread-posix.c:556
24 0x00007f8ce4392ea5 in start_thread () at /lib64/libpthread.so.0
25 0x00007f8ce40bb9fd in clone () at /lib64/libc.so.6

The cause for the assert failure is due to that the vhost_dev index
for the ctrl vq was not aligned with actual one in use by the guest.
Upon multiqueue feature negotiation in virtio_net_set_multiqueue(),
if guest doesn't support multiqueue, the guest vq layout would shrink
to a single queue pair, consisting of 3 vqs in total (rx, tx and ctrl).
This results in ctrl_vq taking a different vhost_dev group index than
the default. We can map vq to the correct vhost_dev group by checking
if MQ is supported by guest and successfully negotiated. Since the
MQ feature is only present along with CTRL_VQ, we ensure the index
2 is only meant for the control vq while MQ is not supported by guest.

Fixes: 22288fe ("virtio-net: vhost control virtqueue support")
Suggested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <1651890498-24478-3-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

aa85819406-May-2022 Si-Wei Liu <si-wei.liu@oracle.com>

virtio-net: setup vhost_dev and notifiers for cvq only when feature is negotiated

When the control virtqueue feature is absent or not negotiated,
vhost_net_start() still tries to set up vhost_dev an

virtio-net: setup vhost_dev and notifiers for cvq only when feature is negotiated

When the control virtqueue feature is absent or not negotiated,
vhost_net_start() still tries to set up vhost_dev and install
vhost notifiers for the control virtqueue, which results in
erroneous ioctl calls with incorrect queue index sending down
to driver. Do that only when needed.

Fixes: 22288fe ("virtio-net: vhost control virtqueue support")
Signed-off-by: Si-Wei Liu <si-wei.liu@oracle.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Message-Id: <1651890498-24478-2-git-send-email-si-wei.liu@oracle.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

1...<<11121314151617181920>>...70