History log of /qemu/hw/core/ (Results 1 – 25 of 1142)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f037f5b426-Apr-2024 Peter Maydell <peter.maydell@linaro.org>

target/arm: Default to 1GHz cntfrq for 'max' and new CPUs

In previous versions of the Arm architecture, the frequency of the
generic timers as reported in CNTFRQ_EL0 could be any IMPDEF value,
and f

target/arm: Default to 1GHz cntfrq for 'max' and new CPUs

In previous versions of the Arm architecture, the frequency of the
generic timers as reported in CNTFRQ_EL0 could be any IMPDEF value,
and for QEMU we picked 62.5MHz, giving a timer tick period of 16ns.
In Armv8.6, the architecture standardized this frequency to 1GHz.

Because there is no ID register feature field that indicates whether
a CPU is v8.6 or that it ought to have this counter frequency, we
implement this by changing our default CNTFRQ value for all CPUs,
with exceptions for backwards compatibility:

* CPU types which we already implement will retain the old
default value. None of these are v8.6 CPUs, so this is
architecturally OK.
* CPUs used in versioned machine types with a version of 9.0
or earlier will retain the old default value.

The upshot is that the only CPU type that changes is 'max'; but any
new type we add in future (whether v8.6 or not) will also get the new
1GHz default.

It remains the case that the machine model can override the default
value via the 'cntfrq' QOM property (regardless of the CPU type).

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

show more ...

845dd03819-Apr-2024 Raphael Poggi <raphael.poggi@lynxleap.co.uk>

hw/core/clock: allow clock_propagate on child clocks

clock_propagate() has an assert that clk->source is NULL, i.e. that
you are calling it on a clock which has no source clock. This made
sense in

hw/core/clock: allow clock_propagate on child clocks

clock_propagate() has an assert that clk->source is NULL, i.e. that
you are calling it on a clock which has no source clock. This made
sense in the original design where the only way for a clock's
frequency to change if it had a source clock was when that source
clock changed. However, we subsequently added multiplier/divider
support, but didn't look at what that meant for propagation.

If a clock-management device changes the multiplier or divider value
on a clock, it needs to propagate that change down to child clocks,
even if the clock has a source clock set. So the assertion is now
incorrect.

Remove the assertion.

Signed-off-by: Raphael Poggi <raphael.poggi@lynxleap.co.uk>
Message-id: 20240419162951.23558-1-raphael.poggi@lynxleap.co.uk
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: Rewrote the commit message]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...

4250826112-Dec-2023 Philippe Mathieu-Daudé <philmd@linaro.org>

exec: Declare target_words_bigendian() in 'exec/tswap.h'

We usually check target endianess before swapping values,
so target_words_bigendian() declaration makes sense in
"exec/tswap.h" with the targ

exec: Declare target_words_bigendian() in 'exec/tswap.h'

We usually check target endianess before swapping values,
so target_words_bigendian() declaration makes sense in
"exec/tswap.h" with the target swapping helpers.

Remove "hw/core/cpu.h" when it was only included to get
the target_words_bigendian() declaration.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20231212123401.37493-16-philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

show more ...


/qemu/accel/hvf/hvf-accel-ops.c
/qemu/accel/stubs/tcg-stub.c
/qemu/accel/tcg/cpu-exec.c
/qemu/accel/tcg/cputlb.c
/qemu/accel/tcg/ldst_atomicity.c.inc
/qemu/accel/tcg/tb-jmp-cache.h
/qemu/accel/tcg/tcg-accel-ops.c
/qemu/accel/tcg/translator.c
/qemu/accel/tcg/user-exec.c
/qemu/accel/tcg/user-retaddr.h
/qemu/cpu-target.c
/qemu/disas/disas.c
/qemu/gdbstub/gdbstub.c
/qemu/host/include/aarch64/host/load-extract-al16-al8.h.inc
/qemu/host/include/aarch64/host/store-insert-al16.h.inc
/qemu/host/include/generic/host/load-extract-al16-al8.h.inc
/qemu/host/include/generic/host/store-insert-al16.h.inc
/qemu/host/include/loongarch64/host/load-extract-al16-al8.h.inc
/qemu/host/include/loongarch64/host/store-insert-al16.h.inc
/qemu/host/include/x86_64/host/load-extract-al16-al8.h.inc
/qemu/hw/audio/virtio-snd.c
cpu-sysemu.c
generic-loader.c
/qemu/hw/display/vga.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/cpu-all.h
/qemu/include/exec/cpu-defs.h
/qemu/include/exec/cpu_ldst.h
/qemu/include/exec/exec-all.h
/qemu/include/exec/helper-gen.h.inc
/qemu/include/exec/helper-head.h.inc
/qemu/include/exec/helper-info.c.inc
/qemu/include/exec/helper-proto.h.inc
/qemu/include/exec/memop.h
/qemu/include/exec/memory.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/tswap.h
/qemu/include/gdbstub/helpers.h
/qemu/include/hw/core/cpu.h
/qemu/include/qemu/osdep.h
/qemu/include/semihosting/uaccess.h
/qemu/include/sysemu/hvf.h
/qemu/include/sysemu/hvf_int.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/nvmm.h
/qemu/include/sysemu/whpx.h
/qemu/include/sysemu/xen.h
/qemu/meson.build
/qemu/page-target.c
/qemu/scripts/analyze-inclusions
/qemu/semihosting/guestfd.c
/qemu/system/physmem.c
/qemu/target/alpha/cpu-param.h
/qemu/target/alpha/cpu.h
/qemu/target/arm/cpu-param.h
/qemu/target/arm/cpu.h
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/kvm-consts.h
/qemu/target/avr/cpu-param.h
/qemu/target/avr/cpu.h
/qemu/target/avr/gdbstub.c
/qemu/target/hexagon/translate.c
/qemu/target/hppa/cpu-param.h
/qemu/target/hppa/cpu.h
/qemu/target/i386/cpu-param.h
/qemu/target/i386/cpu.h
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/nvmm/nvmm-all.c
/qemu/target/i386/tcg/fpu_helper.c
/qemu/target/i386/whpx/whpx-all.c
/qemu/target/loongarch/cpu-param.h
/qemu/target/loongarch/cpu.h
/qemu/target/meson.build
/qemu/target/microblaze/cpu-param.h
/qemu/target/microblaze/cpu.c
/qemu/target/microblaze/cpu.h
/qemu/target/microblaze/translate.c
/qemu/target/mips/cpu-param.h
/qemu/target/mips/cpu.h
/qemu/target/openrisc/cpu-param.h
/qemu/target/openrisc/cpu.h
/qemu/target/ppc/cpu-param.h
/qemu/target/ppc/cpu.h
/qemu/target/ppc/excp_helper.c
/qemu/target/riscv/cpu-param.h
/qemu/target/riscv/cpu.h
/qemu/target/s390x/cpu-param.h
/qemu/target/s390x/cpu.h
/qemu/target/sparc/cpu-param.h
/qemu/target/sparc/cpu.h
/qemu/target/sparc/gdbstub.c
/qemu/target/tricore/gdbstub.c
/qemu/target/xtensa/cpu-param.h
/qemu/target/xtensa/cpu.h
098de99a24-Apr-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core: Support module-id in numa configuration

Module is a level above the core, thereby supporting numa
configuration on the module level can bring user more numa flexibility.

This is the natura

hw/core: Support module-id in numa configuration

Module is a level above the core, thereby supporting numa
configuration on the module level can bring user more numa flexibility.

This is the natural further support for module level.

Add module level support in numa configuration.

Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Message-ID: <20240424154929.1487382-5-zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

989bb31224-Apr-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core: Introduce module-id as the topology subindex

Add module-id in CpuInstanceProperties, to locate the CPU with module
level.

Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Yongwei

hw/core: Introduce module-id as the topology subindex

Add module-id in CpuInstanceProperties, to locate the CPU with module
level.

Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240424154929.1487382-4-zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

8ec0a46324-Apr-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core/machine: Support modules in -smp

Add "modules" parameter parsing support in -smp.

Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Signed-off-by:

hw/core/machine: Support modules in -smp

Add "modules" parameter parsing support in -smp.

Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240424154929.1487382-3-zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

dcba73b424-Apr-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core/machine: Introduce the module as a CPU topology level

In x86, module is the topology level above core, which contains a set
of cores that share certain resources (in current products, the re

hw/core/machine: Introduce the module as a CPU topology level

In x86, module is the topology level above core, which contains a set
of cores that share certain resources (in current products, the resource
usually includes L2 cache, as well as module scoped features and MSRs).

Though smp.clusters could also share the L2 cache resource [1], there
are following reasons that drive us to introduce the new smp.modules:

* As the CPU topology abstraction in device tree [2], cluster supports
nesting (though currently QEMU hasn't support that). In contrast,
(x86) module does not support nesting.

* Due to nesting, there is great flexibility in sharing resources
on cluster, rather than narrowing cluster down to sharing L2 (and
L3 tags) as the lowest topology level that contains cores.

* Flexible nesting of cluster allows it to correspond to any level
between the x86 package and core.

* In Linux kernel, x86's cluster only represents the L2 cache domain
but QEMU's smp.clusters is the CPU topology level. Linux kernel will
also expose module level topology information in sysfs for x86. To
avoid cluster ambiguity and keep a consistent CPU topology naming
style with the Linux kernel, we introduce module level for x86.

The module is, in existing hardware practice, the lowest layer that
contains the core, while the cluster is able to have a higher
topological scope than the module due to its nesting.

Therefore, place the module between the cluster and the core:

drawer/book/socket/die/cluster/module/core/thread

With the above topological hierarchy order, introduce module level
support in MachineState and MachineClass.

[1]: https://lore.kernel.org/qemu-devel/c3d68005-54e0-b8fe-8dc1-5989fe3c7e69@huawei.com/
[2]: https://www.kernel.org/doc/Documentation/devicetree/bindings/cpu/cpu-topology.txt

Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Message-ID: <20240424154929.1487382-2-zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

159fb79018-Apr-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/elf_ops: Rename elf_ops.h -> elf_ops.h.inc

Since commit 139c1837db ("meson: rename included C source files
to .c.inc"), QEMU standard procedure for included C files is to
use *.c.inc.

Besides, s

hw/elf_ops: Rename elf_ops.h -> elf_ops.h.inc

Since commit 139c1837db ("meson: rename included C source files
to .c.inc"), QEMU standard procedure for included C files is to
use *.c.inc.

Besides, since commit 6a0057aa22 ("docs/devel: make a statement
about includes") this is documented in the Coding Style:

If you do use template header files they should be named with
the ``.c.inc`` or ``.h.inc`` suffix to make it clear they are
being included for expansion.

Therefore rename "hw/elf_ops.h" as "hw/elf_ops.h.inc".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240424173333.96148-2-philmd@linaro.org>

show more ...

631f46d412-Apr-2024 Peter Maydell <peter.maydell@linaro.org>

reset: Add RESET_TYPE_SNAPSHOT_LOAD

Some devices and machines need to handle the reset before a vmsave
snapshot is loaded differently -- the main user is the handling of
RNG seed information, which

reset: Add RESET_TYPE_SNAPSHOT_LOAD

Some devices and machines need to handle the reset before a vmsave
snapshot is loaded differently -- the main user is the handling of
RNG seed information, which does not want to put a new RNG seed into
a ROM blob when we are doing a snapshot load.

Currently this kind of reset handling is supported only for:
* TYPE_MACHINE reset methods, which take a ShutdownCause argument
* reset functions registered with qemu_register_reset_nosnapshotload

To allow a three-phase-reset device to also distinguish "snapshot
load" reset from the normal kind, add a new ResetType
RESET_TYPE_SNAPSHOT_LOAD. All our existing reset methods ignore
the reset type, so we don't need to update any device code.

Add the enum type, and make qemu_devices_reset() use the
right reset type for the ShutdownCause it is passed. This
allows us to get rid of the device_reset_reason global we
were using to implement qemu_register_reset_nosnapshotload().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Luc Michel <luc.michel@amd.com>
Message-id: 20240412160809.1260625-7-peter.maydell@linaro.org

show more ...

ad80e36712-Apr-2024 Peter Maydell <peter.maydell@linaro.org>

hw, target: Add ResetType argument to hold and exit phase methods

We pass a ResetType argument to the Resettable class enter
phase method, but we don't pass it to hold and exit, even though
the call

hw, target: Add ResetType argument to hold and exit phase methods

We pass a ResetType argument to the Resettable class enter
phase method, but we don't pass it to hold and exit, even though
the callsites have it readily available. This means that if
a device cared about the ResetType it would need to record it
in the enter phase method to use later on. Pass the type to
all three of the phase methods to avoid having to do that.

Commit created with

for dir in hw target include; do \
spatch --macro-file scripts/cocci-macro-file.h \
--sp-file scripts/coccinelle/reset-type.cocci \
--keep-comments --smpl-spacing --in-place \
--include-headers --dir $dir; done

and no manual edits.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Luc Michel <luc.michel@amd.com>
Message-id: 20240412160809.1260625-5-peter.maydell@linaro.org

show more ...


/qemu/bsd-user/qemu.h
/qemu/docs/system/arm/emulation.rst
/qemu/hw/adc/npcm7xx_adc.c
/qemu/hw/arm/pxa2xx_pic.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/arm/smmuv3.c
/qemu/hw/arm/stellaris.c
/qemu/hw/arm/virt.c
/qemu/hw/audio/asc.c
/qemu/hw/char/cadence_uart.c
/qemu/hw/char/sifive_uart.c
cpu-common.c
qdev.c
reset.c
resettable.c
/qemu/hw/display/virtio-vga.c
/qemu/hw/dma/soc_dma.c
/qemu/hw/gpio/npcm7xx_gpio.c
/qemu/hw/gpio/pl061.c
/qemu/hw/gpio/stm32l4x5_gpio.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i2c/allwinner-i2c.c
/qemu/hw/i2c/npcm7xx_smbus.c
/qemu/hw/input/adb.c
/qemu/hw/input/ps2.c
/qemu/hw/intc/arm_gic_common.c
/qemu/hw/intc/arm_gic_kvm.c
/qemu/hw/intc/arm_gicv3.c
/qemu/hw/intc/arm_gicv3_common.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/arm_gicv3_dist.c
/qemu/hw/intc/arm_gicv3_its.c
/qemu/hw/intc/arm_gicv3_its_common.c
/qemu/hw/intc/arm_gicv3_its_kvm.c
/qemu/hw/intc/arm_gicv3_kvm.c
/qemu/hw/intc/arm_gicv3_redist.c
/qemu/hw/intc/gicv3_internal.h
/qemu/hw/intc/trace-events
/qemu/hw/intc/xics.c
/qemu/hw/m68k/q800-glue.c
/qemu/hw/misc/djmemc.c
/qemu/hw/misc/iosb.c
/qemu/hw/misc/mac_via.c
/qemu/hw/misc/macio/cuda.c
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/mos6522.c
/qemu/hw/misc/npcm7xx_clk.c
/qemu/hw/misc/npcm7xx_gcr.c
/qemu/hw/misc/npcm7xx_mft.c
/qemu/hw/misc/npcm7xx_pwm.c
/qemu/hw/misc/stm32l4x5_exti.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/misc/stm32l4x5_syscfg.c
/qemu/hw/misc/xlnx-versal-cframe-reg.c
/qemu/hw/misc/xlnx-versal-crl.c
/qemu/hw/misc/xlnx-versal-pmc-iou-slcr.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/misc/xlnx-versal-xramc.c
/qemu/hw/misc/xlnx-zynqmp-apu-ctrl.c
/qemu/hw/misc/xlnx-zynqmp-crf.c
/qemu/hw/misc/zynq_slcr.c
/qemu/hw/net/can/xlnx-zynqmp-can.c
/qemu/hw/net/e1000.c
/qemu/hw/net/e1000e.c
/qemu/hw/net/igb.c
/qemu/hw/net/igbvf.c
/qemu/hw/nvram/xlnx-bbram.c
/qemu/hw/nvram/xlnx-versal-efuse-ctrl.c
/qemu/hw/nvram/xlnx-zynqmp-efuse.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/pcie_root_port.c
/qemu/hw/pci-host/bonito.c
/qemu/hw/pci-host/pnv_phb.c
/qemu/hw/pci-host/pnv_phb3_msi.c
/qemu/hw/pci/pci.c
/qemu/hw/rtc/mc146818rtc.c
/qemu/hw/s390x/css-bridge.c
/qemu/hw/sensor/adm1266.c
/qemu/hw/sensor/adm1272.c
/qemu/hw/sensor/isl_pmbus_vr.c
/qemu/hw/sensor/max31785.c
/qemu/hw/sensor/max34451.c
/qemu/hw/ssi/npcm7xx_fiu.c
/qemu/hw/timer/etraxfs_timer.c
/qemu/hw/timer/npcm7xx_timer.c
/qemu/hw/usb/hcd-dwc2.c
/qemu/hw/usb/xlnx-versal-usb2-ctrl-regs.c
/qemu/hw/virtio/virtio-pci.c
/qemu/include/hw/intc/arm_gic_common.h
/qemu/include/hw/intc/arm_gicv3_common.h
/qemu/include/hw/resettable.h
/qemu/linux-user/flat.h
/qemu/linux-user/flatload.c
/qemu/linux-user/ioctls.h
/qemu/linux-user/qemu.h
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/linux-user/syscall_types.h
/qemu/linux-user/uaccess.c
/qemu/meson.build
/qemu/meson_options.txt
/qemu/scripts/coccinelle/reset-type.cocci
/qemu/scripts/meson-buildoptions.sh
/qemu/target/arm/cpu-features.h
/qemu/target/arm/cpu-qom.h
/qemu/target/arm/cpu.c
/qemu/target/arm/cpu.h
/qemu/target/arm/helper.c
/qemu/target/arm/internals.h
/qemu/target/arm/tcg/a64.decode
/qemu/target/arm/tcg/cpu64.c
/qemu/target/arm/tcg/helper-a64.c
/qemu/target/arm/tcg/helper-a64.h
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/avr/cpu.c
/qemu/target/cris/cpu.c
/qemu/target/hexagon/cpu.c
/qemu/target/i386/cpu.c
/qemu/target/loongarch/cpu.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/m68k-semi.c
/qemu/target/m68k/op_helper.c
/qemu/target/m68k/translate.c
/qemu/target/microblaze/cpu.c
/qemu/target/mips/cpu.c
/qemu/target/openrisc/cpu.c
/qemu/target/ppc/cpu_init.c
/qemu/target/riscv/cpu.c
/qemu/target/rx/cpu.c
/qemu/target/sh4/cpu.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/cpu.c
/qemu/target/xtensa/cpu.c
236e939718-Mar-2024 Maksim Davydov <davydov-max@yandex-team.ru>

qmp: add dump machine type compatibility properties

To control that creating new machine type doesn't affect the previous
types (their compat_props) and to check complex compat_props inheritance
we

qmp: add dump machine type compatibility properties

To control that creating new machine type doesn't affect the previous
types (their compat_props) and to check complex compat_props inheritance
we need qmp command to print machine type compatibility properties.
This patch adds the ability to get list of all the compat_props of the
corresponding supported machines for their comparison via new optional
argument of "query-machines" command. Since information on compatibility
properties can increase the command output by a factor of 40, add an
argument to enable it, default off.

Signed-off-by: Maksim Davydov <davydov-max@yandex-team.ru>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240318213550.155573-3-davydov-max@yandex-team.ru>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

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

hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper

The whole RDMA subsystem was deprecated in commit e9a54265f5
("hw/rdma: Deprecate the pvrdma device and the rdma subsystem")
released i

hw/rdma: Remove deprecated pvrdma device and rdmacm-mux helper

The whole RDMA subsystem was deprecated in commit e9a54265f5
("hw/rdma: Deprecate the pvrdma device and the rdma subsystem")
released in v8.2.

Remove:
- PVRDMA device
- generated vmw_pvrdma/ directory from linux-headers
- rdmacm-mux tool from contrib/

Cc: Yuval Shaia <yuval.shaia.ml@gmail.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <20240328130255.52257-2-philmd@linaro.org>

show more ...


/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/cirrus.yml
/qemu/.gitlab-ci.d/crossbuild-template.yml
/qemu/.gitlab-ci.d/crossbuilds.yml
/qemu/.mailmap
/qemu/Kconfig.host
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/backends/cryptodev-builtin.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/configure
/qemu/contrib/plugins/execlog.c
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/disas/meson.build
/qemu/disas/nanomips.c
/qemu/docs/about/deprecated.rst
/qemu/docs/about/emulation.rst
/qemu/docs/about/removed-features.rst
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/loongarch/virt.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/docs/system/replay.rst
/qemu/docs/user/main.rst
/qemu/ebpf/ebpf_rss.c
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands-info.hx
/qemu/hmp-commands.hx
/qemu/hw/Kconfig
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/nand.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/virtio-serial-bus.c
machine-qmp-cmds.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/Kconfig
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/intc/meson.build
/qemu/hw/isa/vt82c686.c
/qemu/hw/meson.build
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/sd/sdhci.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/timer/Kconfig
/qemu/hw/timer/meson.build
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/disas/dis-asm.h
/qemu/include/exec/poison.h
/qemu/include/exec/translator.h
/qemu/include/exec/user/abitypes.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/monitor/hmp.h
/qemu/include/net/vhost_net.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/sysemu/arch_init.h
/qemu/include/tcg/tcg.h
/qemu/linux-user/elfload.c
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/linux-user/syscall_defs.h
/qemu/meson.build
/qemu/meson_options.txt
/qemu/migration/migration.c
/qemu/migration/savevm.c
/qemu/monitor/qmp-cmds.c
/qemu/net/tap-win32.c
/qemu/net/tap.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/plugins/loader.c
/qemu/qapi/machine.json
/qemu/qapi/meson.build
/qemu/qapi/qapi-schema.json
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-version
/qemu/scripts/ci/org.centos/stream/8/x86_64/configure
/qemu/scripts/coverity-scan/COMPONENTS.md
/qemu/scripts/gensyscalls.sh
/qemu/scripts/meson-buildoptions.sh
/qemu/scripts/probe-gdb-support.py
/qemu/scripts/update-linux-headers.sh
/qemu/system/qdev-monitor.c
/qemu/target/Kconfig
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/helper.h
/qemu/target/m68k/translate.c
/qemu/target/meson.build
/qemu/target/microblaze/translate.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/tcg/optimize.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/boot_linux_console.py
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/avocado/replay_kernel.py
/qemu/tests/docker/Makefile.include
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/machine-none-test.c
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2150.c
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/sh4/test-macl.c
/qemu/tests/tcg/sh4/test-macw.c
/qemu/ui/cocoa.m
be842efb12-Mar-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

qapi: Inline and remove QERR_PROPERTY_VALUE_BAD definition

Address the comment added in commit 4629ed1e98
("qerror: Finally unused, clean up"), from 2015:

/*
* These macros will go away, pleas

qapi: Inline and remove QERR_PROPERTY_VALUE_BAD definition

Address the comment added in commit 4629ed1e98
("qerror: Finally unused, clean up"), from 2015:

/*
* These macros will go away, please don't use
* in new code, and do not add new ones!
*/

Manual change. Remove the definition in
include/qapi/qmp/qerror.h.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240312141343.3168265-11-armbru@redhat.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>

show more ...

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

qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition

Address the comment added in commit 4629ed1e98
("qerror: Finally unused, clean up"), from 2015:

/*
* These macros will go away, please

qapi: Inline and remove QERR_DEVICE_NO_HOTPLUG definition

Address the comment added in commit 4629ed1e98
("qerror: Finally unused, clean up"), from 2015:

/*
* These macros will go away, please don't use
* in new code, and do not add new ones!
*/

Mechanical transformation using sed, and manual cleanup.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240312141343.3168265-5-armbru@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/backends/cryptodev-builtin.c
/qemu/backends/iommufd.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/block/snapshot.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/contrib/plugins/execlog.c
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/disas/nanomips.c
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/ebpf/ebpf_rss.c
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands.hx
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/nand.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/virtio-serial-bus.c
qdev.c
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/ppc/spapr_pci.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/sd/sdhci.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/translator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/vhost_net.h
/qemu/include/qapi/qmp/qerror.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/tcg/tcg.h
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/savevm.c
/qemu/net/tap-win32.c
/qemu/net/tap.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/plugins/loader.c
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-version
/qemu/system/qdev-monitor.c
/qemu/system/rtc.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/helper.h
/qemu/target/m68k/translate.c
/qemu/target/microblaze/translate.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/tcg/optimize.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2150.c
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/sh4/test-macl.c
/qemu/tests/tcg/sh4/test-macw.c
/qemu/ui/cocoa.m
37662d8520-Mar-2024 Xiaoyao Li <xiaoyao.li@intel.com>

HostMem: Add mechanism to opt in kvm guest memfd via MachineState

Add a new member "guest_memfd" to memory backends. When it's set
to true, it enables RAM_GUEST_MEMFD in ram_flags, thus private kvm

HostMem: Add mechanism to opt in kvm guest memfd via MachineState

Add a new member "guest_memfd" to memory backends. When it's set
to true, it enables RAM_GUEST_MEMFD in ram_flags, thus private kvm
guest_memfd will be allocated during RAMBlock allocation.

Memory backend's @guest_memfd is wired with @require_guest_memfd
field of MachineState. It avoid looking up the machine in phymem.c.

MachineState::require_guest_memfd is supposed to be set by any VMs
that requires KVM guest memfd as private memory, e.g., TDX VM.

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

show more ...


/qemu/accel/kvm/kvm-accel-ops.c
/qemu/accel/kvm/kvm-all.c
/qemu/accel/kvm/trace-events
/qemu/accel/stubs/kvm-stub.c
/qemu/backends/hostmem-file.c
/qemu/backends/hostmem-memfd.c
/qemu/backends/hostmem-ram.c
/qemu/backends/hostmem.c
machine.c
/qemu/hw/i386/acpi-common.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/i386/x86.c
/qemu/hw/pci-host/q35.c
/qemu/hw/ppc/pef.c
/qemu/hw/ppc/spapr.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/include/exec/confidential-guest-support.h
/qemu/include/exec/memory.h
/qemu/include/exec/ram_addr.h
/qemu/include/exec/ramblock.h
/qemu/include/hw/boards.h
/qemu/include/hw/i386/pc.h
/qemu/include/hw/pci-host/q35.h
/qemu/include/standard-headers/asm-x86/bootparam.h
/qemu/include/standard-headers/asm-x86/kvm_para.h
/qemu/include/standard-headers/asm-x86/setup_data.h
/qemu/include/standard-headers/linux/ethtool.h
/qemu/include/standard-headers/linux/fuse.h
/qemu/include/standard-headers/linux/input-event-codes.h
/qemu/include/standard-headers/linux/virtio_gpu.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/standard-headers/linux/virtio_snd.h
/qemu/include/sysemu/hostmem.h
/qemu/include/sysemu/kvm.h
/qemu/include/sysemu/kvm_int.h
/qemu/linux-headers/asm-arm64/kvm.h
/qemu/linux-headers/asm-arm64/sve_context.h
/qemu/linux-headers/asm-generic/bitsperlong.h
/qemu/linux-headers/asm-loongarch/kvm.h
/qemu/linux-headers/asm-mips/kvm.h
/qemu/linux-headers/asm-powerpc/kvm.h
/qemu/linux-headers/asm-riscv/kvm.h
/qemu/linux-headers/asm-s390/kvm.h
/qemu/linux-headers/asm-x86/kvm.h
/qemu/linux-headers/linux/bits.h
/qemu/linux-headers/linux/kvm.h
/qemu/linux-headers/linux/psp-sev.h
/qemu/linux-headers/linux/vhost.h
/qemu/qapi/qom.json
/qemu/scripts/update-linux-headers.sh
/qemu/system/memory.c
/qemu/system/physmem.c
/qemu/system/runstate.c
/qemu/target/arm/kvm.c
/qemu/target/i386/confidential-guest.c
/qemu/target/i386/confidential-guest.h
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/kvm/kvm-cpu.c
/qemu/target/i386/kvm/kvm.c
/qemu/target/i386/kvm/kvm_i386.h
/qemu/target/i386/kvm/meson.build
/qemu/target/i386/meson.build
/qemu/target/i386/sev.c
/qemu/target/i386/sev.h
/qemu/target/loongarch/kvm/kvm.c
/qemu/target/mips/kvm.c
/qemu/target/ppc/kvm.c
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/s390x/kvm/kvm.c
/qemu/target/s390x/kvm/pv.c
/qemu/target/s390x/kvm/pv.h
85fa9acd25-Mar-2024 Paolo Bonzini <pbonzini@redhat.com>

hw: Add compat machines for 9.1

Add 9.1 machine types for arm/i440fx/m68k/q35/s390x/spapr.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Harsh

hw: Add compat machines for 9.1

Add 9.1 machine types for arm/i440fx/m68k/q35/s390x/spapr.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Cc: Gavin Shan <gshan@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

971febb808-Apr-2024 Paolo Bonzini <pbonzini@redhat.com>

hw/core: Move system emulation files to system_ss

hotplug.c, qdev-hotplug.c and reset.c are not used by user emulation
and need not be included in hwcore_ss. Move them to system_ss, where
they belo

hw/core: Move system emulation files to system_ss

hotplug.c, qdev-hotplug.c and reset.c are not used by user emulation
and need not be included in hwcore_ss. Move them to system_ss, where
they belong, by letting the linker pull in the stubs when needed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20240408155330.522792-8-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/qemu/.gitlab-ci.d/cirrus.yml
/qemu/MAINTAINERS
/qemu/Makefile
/qemu/VERSION
/qemu/accel/kvm/kvm-all.c
/qemu/accel/tcg/plugin-gen.c
/qemu/accel/tcg/translate-all.c
/qemu/accel/tcg/translator.c
/qemu/backends/cryptodev-builtin.c
/qemu/block/block-backend.c
/qemu/block/io.c
/qemu/contrib/plugins/execlog.c
/qemu/disas/disas-mon.c
/qemu/disas/disas.c
/qemu/disas/nanomips.c
/qemu/docs/devel/atomics.rst
/qemu/docs/devel/ci-jobs.rst.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/system/arm/sbsa.rst
/qemu/docs/system/device-emulation.rst
/qemu/docs/system/i386/sgx.rst
/qemu/docs/system/ppc/amigang.rst
/qemu/ebpf/ebpf_rss.c
/qemu/ebpf/meson.build
/qemu/fpu/softfloat-specialize.c.inc
/qemu/gdbstub/internals.h
/qemu/gdbstub/system.c
/qemu/hmp-commands.hx
/qemu/hw/arm/raspi4b.c
/qemu/hw/arm/smmu-common.c
/qemu/hw/audio/virtio-snd.c
/qemu/hw/block/nand.c
/qemu/hw/block/vhost-user-blk.c
/qemu/hw/block/virtio-blk.c
/qemu/hw/char/virtio-serial-bus.c
meson.build
/qemu/hw/display/vga.c
/qemu/hw/display/virtio-gpu.c
/qemu/hw/i386/kvm/xen_evtchn.c
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/arm_gicv3_cpuif.c
/qemu/hw/isa/vt82c686.c
/qemu/hw/misc/applesmc.c
/qemu/hw/misc/stm32l4x5_rcc.c
/qemu/hw/net/lan9118.c
/qemu/hw/net/net_tx_pkt.c
/qemu/hw/net/vhost_net.c
/qemu/hw/net/virtio-net.c
/qemu/hw/nvme/ctrl.c
/qemu/hw/pci-host/ppc440_pcix.c
/qemu/hw/ppc/spapr.c
/qemu/hw/ppc/spapr_nested.c
/qemu/hw/scsi/esp.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/sd/sdhci.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/usb/dev-audio.c
/qemu/hw/usb/dev-storage-classic.c
/qemu/hw/virtio/trace-events
/qemu/hw/virtio/vdpa-dev.c
/qemu/hw/virtio/vhost-vdpa.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-crypto.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/virtio/virtio.c
/qemu/include/exec/translator.h
/qemu/include/hw/audio/virtio-snd.h
/qemu/include/hw/virtio/virtio-pci.h
/qemu/include/hw/virtio/virtio.h
/qemu/include/net/vhost_net.h
/qemu/include/qemu/config-file.h
/qemu/include/standard-headers/linux/virtio_pci.h
/qemu/include/tcg/tcg.h
/qemu/linux-user/main.c
/qemu/linux-user/mmap.c
/qemu/linux-user/signal.c
/qemu/linux-user/strace.c
/qemu/linux-user/syscall.c
/qemu/meson.build
/qemu/migration/migration.c
/qemu/migration/savevm.c
/qemu/monitor/meson.build
/qemu/monitor/qemu-config-qmp.c
/qemu/net/tap-win32.c
/qemu/net/tap.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-code.fd.bz2
/qemu/pc-bios/edk2-x86_64-microvm.fd.bz2
/qemu/pc-bios/edk2-x86_64-secure-code.fd.bz2
/qemu/plugins/loader.c
/qemu/qapi/qom.json
/qemu/qemu-options.hx
/qemu/roms/Makefile
/qemu/roms/edk2-version
/qemu/stubs/hotplug-stubs.c
/qemu/stubs/meson.build
/qemu/system/qdev-monitor.c
/qemu/target/arm/helper.c
/qemu/target/arm/hvf/hvf.c
/qemu/target/arm/tcg/translate-a64.c
/qemu/target/arm/tcg/translate.c
/qemu/target/arm/tcg/translate.h
/qemu/target/hppa/cpu.h
/qemu/target/hppa/helper.h
/qemu/target/hppa/insns.decode
/qemu/target/hppa/int_helper.c
/qemu/target/hppa/sys_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/hvf/hvf.c
/qemu/target/i386/tcg/translate.c
/qemu/target/m68k/cpu.c
/qemu/target/m68k/cpu.h
/qemu/target/m68k/fpu_helper.c
/qemu/target/m68k/helper.c
/qemu/target/m68k/helper.h
/qemu/target/m68k/translate.c
/qemu/target/microblaze/translate.c
/qemu/target/ppc/cpu_init.c
/qemu/target/ppc/excp_helper.c
/qemu/target/ppc/gdbstub.c
/qemu/target/ppc/mmu-radix64.c
/qemu/target/riscv/translate.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sh4/cpu.h
/qemu/target/sh4/helper.h
/qemu/target/sh4/op_helper.c
/qemu/target/sh4/translate.c
/qemu/target/sparc/helper.h
/qemu/target/sparc/ldst_helper.c
/qemu/target/sparc/translate.c
/qemu/tcg/optimize.c
/qemu/tcg/tcg.c
/qemu/tests/avocado/ppc_hv_tests.py
/qemu/tests/meson.build
/qemu/tests/qemu-iotests/157
/qemu/tests/qemu-iotests/227
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch
/qemu/tests/qemu-iotests/tests/stream-unaligned-prefetch.out
/qemu/tests/qtest/libqos/ahci.c
/qemu/tests/qtest/libqos/ahci.h
/qemu/tests/qtest/stm32l4x5_gpio-test.c
/qemu/tests/qtest/virtio-9p-test.c
/qemu/tests/tcg/aarch64/Makefile.target
/qemu/tests/tcg/aarch64/test-2150.c
/qemu/tests/tcg/aarch64/test-2248.c
/qemu/tests/tcg/multiarch/linux/linux-shmat-null.c
/qemu/tests/tcg/sh4/Makefile.target
/qemu/tests/tcg/sh4/test-macl.c
/qemu/tests/tcg/sh4/test-macw.c
/qemu/tests/unit/meson.build
/qemu/ui/cocoa.m
/qemu/util/meson.build
/qemu/util/qemu-config.c
52405b7f22-Mar-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/clock: Let clock_set_mul_div() return a boolean value

Let clock_set_mul_div() return a boolean value whether the
clock has been updated or not, similarly to clock_set().

Return early when clock_

hw/clock: Let clock_set_mul_div() return a boolean value

Let clock_set_mul_div() return a boolean value whether the
clock has been updated or not, similarly to clock_set().

Return early when clock_set_mul_div() is called with
same mul/div values the clock has.

Acked-by: Luc Michel <luc@lmichel.fr>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20240325152827.73817-2-philmd@linaro.org>

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest-template.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/custom-runners.yml
/qemu/.gitlab-ci.d/windows.yml
/qemu/.travis.yml
/qemu/MAINTAINERS
/qemu/VERSION
/qemu/block/mirror.c
/qemu/block/qapi.c
/qemu/blockdev.c
/qemu/bsd-user/main.c
/qemu/bsd-user/signal.c
/qemu/chardev/char-io.c
/qemu/chardev/char-socket.c
/qemu/contrib/plugins/howvec.c
/qemu/crypto/cipher-gcrypt.c.inc
/qemu/docs/devel/clocks.rst
/qemu/docs/devel/migration/CPR.rst
/qemu/docs/devel/migration/features.rst
/qemu/docs/specs/pvpanic.rst
/qemu/docs/system/introduction.rst
/qemu/docs/system/s390x/cpu-topology.rst
/qemu/gdbstub/gdbstub.c
/qemu/gdbstub/internals.h
/qemu/gdbstub/user.c
/qemu/hw/arm/aspeed.c
/qemu/hw/arm/aspeed_ast10x0.c
/qemu/hw/arm/aspeed_ast2600.c
/qemu/hw/arm/virt.c
/qemu/hw/arm/xlnx-versal-virt.c
/qemu/hw/block/m25p80.c
clock.c
/qemu/hw/gpio/meson.build
/qemu/hw/gpio/pca9552.c
/qemu/hw/gpio/pca9554.c
/qemu/hw/gpio/trace-events
/qemu/hw/i386/Kconfig
/qemu/hw/i386/fw_cfg.c
/qemu/hw/i386/fw_cfg.h
/qemu/hw/i386/pc.c
/qemu/hw/i386/pc_piix.c
/qemu/hw/i386/pc_q35.c
/qemu/hw/intc/loongarch_extioi.c
/qemu/hw/intc/riscv_aplic.c
/qemu/hw/loongarch/virt.c
/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/qemu/hw/misc/meson.build
/qemu/hw/misc/trace-events
/qemu/hw/nvram/mac_nvram.c
/qemu/hw/ppc/pnv_i2c.c
/qemu/hw/riscv/virt.c
/qemu/hw/scsi/scsi-generic.c
/qemu/hw/smbios/Kconfig
/qemu/hw/smbios/meson.build
/qemu/hw/smbios/smbios.c
/qemu/hw/smbios/smbios_legacy.c
/qemu/hw/smbios/smbios_legacy_stub.c
/qemu/hw/ssi/aspeed_smc.c
/qemu/hw/vfio/iommufd.c
/qemu/include/exec/exec-all.h
/qemu/include/exec/ram_addr.h
/qemu/include/gdbstub/user.h
/qemu/include/hw/block/flash.h
/qemu/include/hw/clock.h
/qemu/include/hw/firmware/smbios.h
/qemu/include/hw/gpio/pca9552.h
/qemu/include/hw/gpio/pca9552_regs.h
/qemu/include/hw/gpio/pca9554.h
/qemu/include/hw/gpio/pca9554_regs.h
/qemu/include/io/channel-file.h
/qemu/include/qemu/job.h
/qemu/include/ui/console.h
/qemu/include/ui/kbd-state.h
/qemu/io/channel-file.c
/qemu/linux-user/aarch64/signal.c
/qemu/linux-user/alpha/signal.c
/qemu/linux-user/arm/signal.c
/qemu/linux-user/hexagon/signal.c
/qemu/linux-user/hppa/signal.c
/qemu/linux-user/i386/signal.c
/qemu/linux-user/loongarch64/signal.c
/qemu/linux-user/m68k/signal.c
/qemu/linux-user/main.c
/qemu/linux-user/microblaze/signal.c
/qemu/linux-user/mips/signal.c
/qemu/linux-user/nios2/signal.c
/qemu/linux-user/openrisc/signal.c
/qemu/linux-user/ppc/signal.c
/qemu/linux-user/riscv/signal.c
/qemu/linux-user/s390x/signal.c
/qemu/linux-user/sh4/signal.c
/qemu/linux-user/signal-common.h
/qemu/linux-user/signal.c
/qemu/linux-user/sparc/signal.c
/qemu/linux-user/xtensa/signal.c
/qemu/meson.build
/qemu/migration/block.c
/qemu/migration/fd.c
/qemu/migration/fd.h
/qemu/migration/file.c
/qemu/migration/file.h
/qemu/migration/migration.c
/qemu/migration/multifd.c
/qemu/monitor/hmp-cmds-target.c
/qemu/nbd/server.c
/qemu/net/af-xdp.c
/qemu/pc-bios/edk2-aarch64-code.fd.bz2
/qemu/pc-bios/edk2-arm-code.fd.bz2
/qemu/pc-bios/edk2-i386-secure-code.fd.bz2
/qemu/pc-bios/edk2-riscv-code.fd.bz2
/qemu/qapi/block-core.json
/qemu/qapi/block.json
/qemu/qapi/common.json
/qemu/qapi/control.json
/qemu/qapi/crypto.json
/qemu/qapi/cxl.json
/qemu/qapi/dump.json
/qemu/qapi/ebpf.json
/qemu/qapi/machine-target.json
/qemu/qapi/machine.json
/qemu/qapi/migration.json
/qemu/qapi/misc.json
/qemu/qapi/net.json
/qemu/qapi/pragma.json
/qemu/qapi/qom.json
/qemu/qapi/replay.json
/qemu/qapi/run-state.json
/qemu/qapi/sockets.json
/qemu/qapi/stats.json
/qemu/qapi/ui.json
/qemu/qapi/virtio.json
/qemu/qga/qapi-schema.json
/qemu/roms/Makefile
/qemu/roms/edk2-build.config
/qemu/system/physmem.c
/qemu/system/qemu-seccomp.c
/qemu/system/vl.c
/qemu/target/hppa/insns.decode
/qemu/target/hppa/mem_helper.c
/qemu/target/hppa/op_helper.c
/qemu/target/hppa/translate.c
/qemu/target/i386/cpu.c
/qemu/target/i386/cpu.h
/qemu/target/i386/helper.c
/qemu/target/i386/tcg/sysemu/excp_helper.c
/qemu/target/loongarch/cpu-csr.h
/qemu/target/loongarch/cpu.c
/qemu/target/loongarch/internals.h
/qemu/target/loongarch/tcg/insn_trans/trans_atomic.c.inc
/qemu/target/loongarch/tcg/tlb_helper.c
/qemu/target/riscv/cpu.c
/qemu/target/riscv/cpu_cfg.h
/qemu/target/riscv/cpu_helper.c
/qemu/target/riscv/insn_trans/trans_rvbf16.c.inc
/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/qemu/target/riscv/insn_trans/trans_rvvk.c.inc
/qemu/target/riscv/kvm/kvm-cpu.c
/qemu/target/riscv/kvm/kvm_riscv.h
/qemu/target/riscv/tcg/tcg-cpu.c
/qemu/target/riscv/translate.c
/qemu/target/riscv/vcrypto_helper.c
/qemu/target/riscv/vector_helper.c
/qemu/target/riscv/vector_internals.c
/qemu/target/riscv/vector_internals.h
/qemu/target/s390x/cpu_models.c
/qemu/target/s390x/tcg/translate.c
/qemu/target/sparc/cpu.c
/qemu/target/tricore/helper.c
/qemu/tests/avocado/machine_aarch64_sbsaref.py
/qemu/tests/data/acpi/q35/SSDT.dimmpxm
/qemu/tests/data/smbios/type11_blob
/qemu/tests/data/smbios/type11_blob.legacy
/qemu/tests/qemu-iotests/033
/qemu/tests/qemu-iotests/066
/qemu/tests/qemu-iotests/114
/qemu/tests/qemu-iotests/130
/qemu/tests/qemu-iotests/134
/qemu/tests/qemu-iotests/156
/qemu/tests/qemu-iotests/158
/qemu/tests/qemu-iotests/176.out
/qemu/tests/qemu-iotests/188
/qemu/tests/qemu-iotests/189
/qemu/tests/qemu-iotests/198
/qemu/tests/qemu-iotests/198.out
/qemu/tests/qemu-iotests/206.out
/qemu/tests/qemu-iotests/261
/qemu/tests/qemu-iotests/263
/qemu/tests/qemu-iotests/267.out
/qemu/tests/qemu-iotests/284
/qemu/tests/qemu-iotests/286
/qemu/tests/qemu-iotests/286.out
/qemu/tests/qemu-iotests/tests/detect-zeroes-registered-buf
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export
/qemu/tests/qemu-iotests/tests/iothreads-nbd-export.out
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots
/qemu/tests/qemu-iotests/tests/qcow2-internal-snapshots.out
/qemu/tests/qemu-iotests/tests/qsd-jobs
/qemu/tests/qtest/bios-tables-test.c
/qemu/tests/qtest/libqos/virtio.c
/qemu/tests/qtest/libqtest.c
/qemu/tests/qtest/migration-test.c
/qemu/tests/qtest/npcm7xx_emc-test.c
/qemu/tests/qtest/pca9552-test.c
/qemu/tests/qtest/pnv-host-i2c-test.c
/qemu/tests/tcg/multiarch/Makefile.target
/qemu/tests/tcg/multiarch/gdbstub/test-qxfer-siginfo-read.py
/qemu/tests/tcg/multiarch/segfault.c
/qemu/tests/tcg/s390x/Makefile.target
/qemu/tests/tcg/s390x/ts.c
/qemu/tests/unit/meson.build
/qemu/tests/unit/socket-helpers.c
/qemu/tests/unit/test-crypto-cipher.c
/qemu/tests/unit/test-throttle.c
/qemu/tests/vm/basevm.py
/qemu/ui/cocoa.m
/qemu/ui/console-priv.h
/qemu/ui/console-vc-stubs.c
/qemu/ui/console-vc.c
/qemu/ui/console.c
/qemu/ui/curses.c
/qemu/ui/kbd-state.c
/qemu/ui/meson.build
/qemu/ui/vnc.c
/qemu/util/qemu-coroutine.c
9b588be307-Mar-2024 Eric Auger <eric.auger@redhat.com>

hw/i386/q35: Set virtio-iommu aw-bits default value to 39

Currently the default input range can extend to 64 bits. On x86,
when the virtio-iommu protects vfio devices, the physical iommu
may support

hw/i386/q35: Set virtio-iommu aw-bits default value to 39

Currently the default input range can extend to 64 bits. On x86,
when the virtio-iommu protects vfio devices, the physical iommu
may support only 39 bits. Let's set the default to 39, as done
for the intel-iommu.

We use hw_compat_8_2 to handle the compatibility for machines
before 9.0 which used to have a virtio-iommu default input range
of 64 bits.

Of course if aw-bits is set from the command line, the default
is overriden.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20240307134445.92296-8-eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>

show more ...

9dd5e80807-Mar-2024 Eric Auger <eric.auger@redhat.com>

virtio-iommu: Change the default granule to the host page size

We used to set the default granule to 4KB but with VFIO assignment
it makes more sense to use the actual host page size.

Indeed when h

virtio-iommu: Change the default granule to the host page size

We used to set the default granule to 4KB but with VFIO assignment
it makes more sense to use the actual host page size.

Indeed when hotplugging a VFIO device protected by a virtio-iommu
on a 64kB/64kB host/guest config, we current get a qemu crash:

"vfio: DMA mapping failed, unable to continue"

This is due to the hot-attached VFIO device calling
memory_region_iommu_set_page_size_mask() with 64kB granule
whereas the virtio-iommu granule was already frozen to 4KB on
machine init done.

Set the granule property to "host" and introduce a new compat.
The page size mask used before 9.0 was qemu_target_page_mask().
Since the virtio-iommu currently only supports x86_64 and aarch64,
this matched a 4KB granule.

Note that the new default will prevent 4kB guest on 64kB host
because the granule will be set to 64kB which would be larger
than the guest page size. In that situation, the virtio-iommu
driver fails on viommu_domain_finalise() with
"granule 0x10000 larger than system page size 0x1000".

In that case the workaround is to request 4K granule.

The current limitation of global granule in the virtio-iommu
should be removed and turned into per domain granule. But
until we get this upgraded, this new default is probably
better because I don't think anyone is currently interested in
running a 4KB page size guest with virtio-iommu on a 64KB host.
However supporting 64kB guest on 64kB host with virtio-iommu and
VFIO looks a more important feature.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20240307134445.92296-4-eric.auger@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

0a5b5acd08-Mar-2024 Ankit Agrawal <ankita@nvidia.com>

hw/acpi: Implement the SRAT GI affinity structure

ACPI spec provides a scheme to associate "Generic Initiators" [1]
(e.g. heterogeneous processors and accelerators, GPUs, and I/O devices with
integr

hw/acpi: Implement the SRAT GI affinity structure

ACPI spec provides a scheme to associate "Generic Initiators" [1]
(e.g. heterogeneous processors and accelerators, GPUs, and I/O devices with
integrated compute or DMA engines GPUs) with Proximity Domains. This is
achieved using Generic Initiator Affinity Structure in SRAT. During bootup,
Linux kernel parse the ACPI SRAT to determine the PXM ids and create a NUMA
node for each unique PXM ID encountered. Qemu currently do not implement
these structures while building SRAT.

Add GI structures while building VM ACPI SRAT. The association between
device and node are stored using acpi-generic-initiator object. Lookup
presence of all such objects and use them to build these structures.

The structure needs a PCI device handle [2] that consists of the device BDF.
The vfio-pci device corresponding to the acpi-generic-initiator object is
located to determine the BDF.

[1] ACPI Spec 6.3, Section 5.2.16.6
[2] ACPI Spec 6.3, Table 5.80

Cc: Jonathan Cameron <qemu-devel@nongnu.org>
Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Cedric Le Goater <clg@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Ankit Agrawal <ankita@nvidia.com>
Message-Id: <20240308145525.10886-3-ankita@nvidia.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

c08da86d15-Feb-2024 Lukas Stockner <lstockner@genesiscloud.com>

pcie: Support PCIe Gen5/Gen6 link speeds

This patch extends the PCIe link speed option so that slots can be
configured as supporting 32GT/s (Gen5) or 64GT/s (Gen5) speeds.
This is as simple as setti

pcie: Support PCIe Gen5/Gen6 link speeds

This patch extends the PCIe link speed option so that slots can be
configured as supporting 32GT/s (Gen5) or 64GT/s (Gen5) speeds.
This is as simple as setting the appropriate bit in LnkCap2 and
the appropriate value in LnkCap and LnkCtl2.

Signed-off-by: Lukas Stockner <lstockner@genesiscloud.com>
Message-Id: <20240215012326.3272366-1-lstockner@genesiscloud.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

fa905f6510-Mar-2024 Klaus Jensen <k.jensen@samsung.com>

hw/nvme: add machine compatibility parameter to enable msix exclusive bar

Commit 1901b4967c3f ("hw/block/nvme: move msix table and pba to BAR 0")
moved the MSI-X table and PBA to BAR 0 to make room

hw/nvme: add machine compatibility parameter to enable msix exclusive bar

Commit 1901b4967c3f ("hw/block/nvme: move msix table and pba to BAR 0")
moved the MSI-X table and PBA to BAR 0 to make room for enabling CMR and
PMR at the same time. As reported by Julien Grall in #2184, this breaks
migration through system hibernation.

Add a machine compatibility parameter and set it on machines pre 6.0 to
enable the old behavior automatically, restoring the hibernation
migration support.

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2184
Fixes: 1901b4967c3f ("hw/block/nvme: move msix table and pba to BAR 0")
Reported-by: Julien Grall julien@xen.org
Tested-by: Julien Grall julien@xen.org
Reviewed-by: Jesper Wendel Devantier <foss@defmacro.it>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>

show more ...

97e0310629-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/core: Declare CPUArchId::cpu as CPUState instead of Object

Do not accept any Object for CPUArchId::cpu field,
restrict it to CPUState type.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.o

hw/core: Declare CPUArchId::cpu as CPUState instead of Object

Do not accept any Object for CPUArchId::cpu field,
restrict it to CPUState type.

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

show more ...


/qemu/.gitlab-ci.d/base.yml
/qemu/.gitlab-ci.d/buildtest.yml
/qemu/.gitlab-ci.d/opensbi.yml
/qemu/backends/iommufd.c
/qemu/block.c
/qemu/block/copy-before-write.c
/qemu/block/nbd.c
/qemu/block/nvme.c
/qemu/block/qapi.c
/qemu/block/qcow2-bitmap.c
/qemu/block/qcow2.c
/qemu/block/qed.c
/qemu/block/snapshot.c
/qemu/block/vdi.c
/qemu/block/vmdk.c
/qemu/blockdev.c
/qemu/chardev/char-fe.c
/qemu/configs/devices/mips-softmmu/common.mak
/qemu/configs/devices/mips64el-softmmu/default.mak
/qemu/docs/devel/acpi-bits.rst
/qemu/hw/block/virtio-blk.c
machine.c
/qemu/hw/cxl/cxl-cdat.c
/qemu/hw/cxl/cxl-host.c
/qemu/hw/display/Kconfig
/qemu/hw/display/ati.c
/qemu/hw/display/macfb.c
/qemu/hw/hyperv/hv-balloon.c
/qemu/hw/hyperv/hyperv.c
/qemu/hw/hyperv/vmbus.c
/qemu/hw/i386/x86.c
/qemu/hw/intc/ioapic_common.c
/qemu/hw/loongarch/virt.c
/qemu/hw/m68k/mcf5208.c
/qemu/hw/mem/cxl_type3.c
/qemu/hw/mips/Kconfig
/qemu/hw/misc/macio/pmu.c
/qemu/hw/misc/pvpanic-pci.c
/qemu/hw/misc/xlnx-versal-trng.c
/qemu/hw/pci-bridge/cxl_root_port.c
/qemu/hw/pci-bridge/cxl_upstream.c
/qemu/hw/ppc/pnv.c
/qemu/hw/ppc/spapr.c
/qemu/hw/s390x/s390-virtio-ccw.c
/qemu/hw/scsi/lsi53c895a.c
/qemu/hw/scsi/trace-events
/qemu/hw/scsi/vhost-scsi.c
/qemu/hw/vfio/ap.c
/qemu/hw/vfio/container.c
/qemu/hw/vfio/helpers.c
/qemu/hw/vfio/iommufd.c
/qemu/hw/vfio/pci-quirks.c
/qemu/hw/vfio/pci.c
/qemu/hw/vfio/platform.c
/qemu/hw/virtio/vhost-user-scmi.c
/qemu/hw/virtio/vhost-vsock.c
/qemu/hw/virtio/vhost.c
/qemu/hw/virtio/virtio-pci.c
/qemu/hw/xen/xen_pt.c
/qemu/include/hw/boards.h
/qemu/include/hw/cxl/cxl_cdat.h
/qemu/include/hw/hyperv/dynmem-proto.h
/qemu/include/hw/hyperv/hyperv.h
/qemu/include/qapi/error.h
/qemu/include/qapi/qmp/qerror.h
/qemu/meson.build
/qemu/migration/multifd-zlib.c
/qemu/migration/options.c
/qemu/migration/postcopy-ram.c
/qemu/net/vhost-vdpa.c
/qemu/replay/replay.c
/qemu/scripts/coverity-scan/run-coverity-scan
/qemu/scripts/make-release
/qemu/system/qdev-monitor.c
/qemu/system/vl.c
/qemu/target/arm/cpu.c
/qemu/target/arm/kvm.c
/qemu/target/arm/machine.c
/qemu/target/i386/hvf/x86hvf.c
/qemu/target/i386/kvm/hyperv-stub.c
/qemu/target/i386/kvm/hyperv.c
/qemu/target/i386/kvm/hyperv.h
/qemu/target/i386/kvm/kvm.c
/qemu/target/m68k/helper.c
/qemu/target/ppc/kvm.c
/qemu/target/s390x/cpu_models.c
/qemu/tests/unit/test-smp-parse.c
/qemu/util/oslib-posix.c
2ea09fe811-Mar-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core: Cleanup unused included headers in numa.c

Remove unused header in numa.c:
* qemu/bitmap.h
* migration/vmstate.h

Note: Though parse_numa_hmat_lb() has the variable named "bitmap_copy",
it d

hw/core: Cleanup unused included headers in numa.c

Remove unused header in numa.c:
* qemu/bitmap.h
* migration/vmstate.h

Note: Though parse_numa_hmat_lb() has the variable named "bitmap_copy",
it doesn't use the normal bitmap ops so that it's safe to exclude
qemu/bitmap.h header.

Tested by "./configure" and then "make".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240311075621.3224684-4-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...

12345678910>>...46