History log of /openbmc/qemu/hw/i386/ (Results 1 – 25 of 2692)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
d1b8423f06-Feb-2025 Sairaj Kodilkar <sarunkod@amd.com>

amd_iommu: Use correct bitmask to set capability BAR

AMD IOMMU provides the base address of control registers through
IVRS table and PCI capability. Since this base address is of 64 bit,
use 32 bits

amd_iommu: Use correct bitmask to set capability BAR

AMD IOMMU provides the base address of control registers through
IVRS table and PCI capability. Since this base address is of 64 bit,
use 32 bits mask (instead of 16 bits) to set BAR low and high.

Fixes: d29a09ca68 ("hw/i386: Introduce AMD IOMMU")
Signed-off-by: Sairaj Kodilkar <sarunkod@amd.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Message-Id: <20250207045354.27329-3-sarunkod@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 3684717b7407cc395dc9bf522e193dbc85293dee)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

8485847106-Feb-2025 Sairaj Kodilkar <sarunkod@amd.com>

amd_iommu: Use correct DTE field for interrupt passthrough

Interrupt passthrough is determine by the bits 191,190,187-184.
These bits are part of the 3rd quad word (i.e. index 2) in DTE. Hence
repla

amd_iommu: Use correct DTE field for interrupt passthrough

Interrupt passthrough is determine by the bits 191,190,187-184.
These bits are part of the 3rd quad word (i.e. index 2) in DTE. Hence
replace dte[3] by dte[2].

Fixes: b44159fe0 ("x86_iommu/amd: Add interrupt remap support when VAPIC is not enabled")
Signed-off-by: Sairaj Kodilkar <sarunkod@amd.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Message-Id: <20250207045354.27329-2-sarunkod@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 63dc0b8647391b372f3bb38ff1066f6b4a5e6ea1)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

ecaf555423-Jan-2025 Thomas Huth <thuth@redhat.com>

hw/i386/microvm: Fix crash that occurs when introspecting the microvm machine

QEMU currently crashes when you try to inspect the properties of the
microvm machine:

$ echo '{ "execute": "qmp_capabi

hw/i386/microvm: Fix crash that occurs when introspecting the microvm machine

QEMU currently crashes when you try to inspect the properties of the
microvm machine:

$ echo '{ "execute": "qmp_capabilities" }
{ "execute": "qom-list-properties","arguments":
{ "typename": "microvm-machine"}}' | \
./qemu-system-x86_64 -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 2, "major": 9},
"package": "v9.2.0-1072-g60af367187-dirty"}, "capabilities": ["oob"]}}
{"return": {}}
qemu-system-x86_64: ../qemu/hw/i386/acpi-microvm.c:250:
void acpi_setup_microvm(MicrovmMachineState *):
Assertion `x86ms->fw_cfg' failed.
Aborted (core dumped)

This happens because the microvm machine adds a machine_done (and a
powerdown_req) notifier in their instance_init function - however, the
instance_init of machines are not only called for machines that are
realized, but also for machines that are introspected, so in this case
the listener is added for a microvm machine that is never realized. And
since there is already a running machine, the listener function is
triggered immediately, causing a crash since it was not for the right
machine it was meant for.

Such listener functions must never be installed from an instance_init
function. Let's do it from microvm_machine_state_init() instead - this
function is the MachineClass->init() function instead, i.e. guaranteed
to be only called once in the lifetime of a QEMU process.

Since the microvm_machine_done() and microvm_powerdown_req() were
defined quite late in the microvm.c file, we have to move them now
also earlier, so that we can get their function pointers from
microvm_machine_state_init() without having to introduce a separate
prototype for those functions earlier.

Reviewed-by: Sergio Lopez <slp@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20250123204708.1560305-1-thuth@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 38ef383073b8ee59d598643160f206a19a46237f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

1e4ce3dd17-Jan-2025 Thomas Huth <thuth@redhat.com>

hw/i386/pc: Fix crash that occurs when introspecting TYPE_PC_MACHINE machines

QEMU currently crashes when you try to inspect the machines based on
TYPE_PC_MACHINE for their properties:

$ echo '{ "

hw/i386/pc: Fix crash that occurs when introspecting TYPE_PC_MACHINE machines

QEMU currently crashes when you try to inspect the machines based on
TYPE_PC_MACHINE for their properties:

$ echo '{ "execute": "qmp_capabilities" }
{ "execute": "qom-list-properties","arguments":
{ "typename": "pc-q35-10.0-machine"}}' \
| ./qemu-system-x86_64 -M pc -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 2, "major": 9},
"package": "v9.2.0-1070-g87e115c122-dirty"}, "capabilities": ["oob"]}}
{"return": {}}
Segmentation fault (core dumped)

This happens because TYPE_PC_MACHINE machines add a machine_init-
done_notifier in their instance_init function - but instance_init
of machines are not only called for machines that are realized,
but also for machines that are introspected, so in this case the
listener is added for a q35 machine that is never realized. But
since there is already a running pc machine, the listener function
is triggered immediately, causing a crash since it was not for the
right machine it was meant for.

Such listener functions must never be installed from an instance_init
function. Let's do it from pc_basic_device_init() instead - this
function is called from the MachineClass->init() function instead,
i.e. guaranteed to be only called once in the lifetime of a QEMU
process.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2779
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20250117192106.471029-1-thuth@redhat.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit de538288e4dac21332cc94ba9727ed8ec8fe5ea1)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/VERSION
/openbmc/qemu/block/block-backend.c
/openbmc/qemu/crypto/pbkdf.c
/openbmc/qemu/gdbstub/user-target.c
/openbmc/qemu/hw/arm/Kconfig
pc.c
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/net/smc91c111.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/usb/Kconfig
/openbmc/qemu/hw/usb/canokey.c
/openbmc/qemu/hw/usb/canokey.h
/openbmc/qemu/hw/usb/meson.build
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/virtio/virtio-qmp.c
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/meson.build
/openbmc/qemu/net/dump.c
/openbmc/qemu/net/net.c
/openbmc/qemu/net/slirp.c
/openbmc/qemu/scripts/make-release
/openbmc/qemu/stubs/meson.build
/openbmc/qemu/system/physmem.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/debug_helper.c
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/s390x/tcg/mem_helper.c
/openbmc/qemu/target/sparc/gdbstub.c
/openbmc/qemu/target/sparc/insns.decode
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-generic-x
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.xapic
/openbmc/qemu/tests/qtest/bios-tables-test-allowed-diff.h
/openbmc/qemu/ui/meson.build
/openbmc/qemu/ui/sdl2.c
7170aa6615-Jan-2025 Igor Mammedov <imammedo@redhat.com>

pci: acpi: Windows 'PCI Label Id' bug workaround

Current versions of Windows call _DSM(func=7) regardless
of whether it is supported or not. It leads to NICs having bogus
'PCI Label Id = 0', where n

pci: acpi: Windows 'PCI Label Id' bug workaround

Current versions of Windows call _DSM(func=7) regardless
of whether it is supported or not. It leads to NICs having bogus
'PCI Label Id = 0', where none should be set at all.

Also presence of 'PCI Label Id' triggers another Windows bug
on localized versions that leads to hangs. The later bug is fixed
in latest updates for 'Windows Server' but not in consumer
versions of Windows (and there is no plans to fix it
as far as I'm aware).

Given it's easy, implement Microsoft suggested workaround
(return invalid Package) so that affected Windows versions
could boot on QEMU.
This would effectvely remove bogus 'PCI Label Id's on NICs,
but MS teem confirmed that flipping 'PCI Label Id' should not
change 'Network Connection' ennumeration, so it should be safe
for QEMU to change _DSM without any compat code.

Smoke tested with WinXP and WS2022
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/774
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20250115125342.3883374-3-imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 0b053391985abcc40b16ac8fc4a7f6588d1d95c1)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

05e984c205-Sep-2024 Gerd Hoffmann <kraxel@redhat.com>

x86/loader: only patch linux kernels

If the binary loaded via -kernel is *not* a linux kernel (in which
case protocol == 0), do not patch the linux kernel header fields.

It's (a) pointless and (b)

x86/loader: only patch linux kernels

If the binary loaded via -kernel is *not* a linux kernel (in which
case protocol == 0), do not patch the linux kernel header fields.

It's (a) pointless and (b) might break binaries by random patching
and (c) changes the binary hash which in turn breaks secure boot
verification.

Background: OVMF happily loads and runs not only linux kernels but
any efi binary via direct kernel boot.

Note: Breaking the secure boot verification is a problem for linux
kernels too, but fixed that is left for another day ...

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-ID: <20240905141211.1253307-3-kraxel@redhat.com>
(cherry picked from commit 57e2cc9abf5da38f600354fe920ff20e719607b4)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

show more ...

0266aef814-Nov-2024 Sairaj Kodilkar <sarunkod@amd.com>

amd_iommu: Fix kvm_enable_x2apic link error with clang in non-KVM builds

Commit b12cb3819 (amd_iommu: Check APIC ID > 255 for XTSup) throws
linking error for the `kvm_enable_x2apic` when kvm is disa

amd_iommu: Fix kvm_enable_x2apic link error with clang in non-KVM builds

Commit b12cb3819 (amd_iommu: Check APIC ID > 255 for XTSup) throws
linking error for the `kvm_enable_x2apic` when kvm is disabled
and Clang is used for compilation.

This issue comes up because Clang does not remove the function callsite
(kvm_enable_x2apic in this case) during optimization when if condition
have variable. Intel IOMMU driver solves this issue by creating separate
if condition for checking variables, which causes call site being
optimized away by virtue of `kvm_irqchip_is_split()` being defined as 0.
Implement same solution for the AMD driver.

Fixes: b12cb3819baf (amd_iommu: Check APIC ID > 255 for XTSup)
Signed-off-by: Sairaj Kodilkar <sarunkod@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Tested-by: Phil Dennis-Jordan <phil@philjordan.eu>
Link: https://lore.kernel.org/r/20241114114509.15350-1-sarunkod@amd.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/check-dco.py
/openbmc/qemu/.gitlab-ci.d/cirrus.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/VERSION
/openbmc/qemu/block/parallels.c
/openbmc/qemu/block/ssh.c
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/docs/devel/submitting-a-patch.rst
/openbmc/qemu/docs/devel/testing/functional.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/emulation.rst
/openbmc/qemu/docs/system/arm/fby35.rst
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
amd_iommu.c
/openbmc/qemu/hw/net/vhost_net.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/pci-host/mv64361.c
/openbmc/qemu/hw/ppc/pegasos2.c
/openbmc/qemu/hw/ppc/pnv_core.c
/openbmc/qemu/hw/ppc/pnv_nest_pervasive.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio.c
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/virtio/virtio.h
/openbmc/qemu/include/net/checksum.h
/openbmc/qemu/include/qemu/qemu-plugin.h
/openbmc/qemu/linux-user/strace.c
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/linux-user/syscall_defs.h
/openbmc/qemu/meson.build
/openbmc/qemu/migration/fd.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/net/checksum.c
/openbmc/qemu/plugins/meson.build
/openbmc/qemu/python/scripts/mkvenv.py
/openbmc/qemu/python/setup.cfg
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/rust/hw/char/pl011/src/device.rs
/openbmc/qemu/scripts/qemu-plugin-symbols.py
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/tcg/cpu32.c
/openbmc/qemu/target/i386/hvf/x86_task.c
/openbmc/qemu/target/ppc/cpu.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/tests/avocado/hotplug_blk.py
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/x86/q35/APIC.acpihmat-generic-x
/openbmc/qemu/tests/data/acpi/x86/q35/CEDT.acpihmat-generic-x
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-generic-x
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.noacpihp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.xapic
/openbmc/qemu/tests/data/acpi/x86/q35/HMAT.acpihmat-generic-x
/openbmc/qemu/tests/data/acpi/x86/q35/SRAT.acpihmat-generic-x
/openbmc/qemu/tests/functional/meson.build
/openbmc/qemu/tests/functional/qemu_test/cmd.py
/openbmc/qemu/tests/functional/qemu_test/testcase.py
/openbmc/qemu/tests/functional/qemu_test/tuxruntest.py
/openbmc/qemu/tests/functional/test_aarch64_aspeed.py
/openbmc/qemu/tests/functional/test_aarch64_tuxrun.py
/openbmc/qemu/tests/functional/test_acpi_bits.py
/openbmc/qemu/tests/functional/test_arm_aspeed.py
/openbmc/qemu/tests/functional/test_arm_bpim2u.py
/openbmc/qemu/tests/functional/test_arm_orangepi.py
/openbmc/qemu/tests/functional/test_loongarch64_virt.py
/openbmc/qemu/tests/functional/test_m68k_nextcube.py
/openbmc/qemu/tests/functional/test_mips64el_malta.py
/openbmc/qemu/tests/functional/test_sh4_tuxrun.py
/openbmc/qemu/tests/functional/test_virtio_gpu.py
/openbmc/qemu/tests/qemu-iotests/iotests.py
/openbmc/qemu/tests/qemu-iotests/pylintrc
/openbmc/qemu/tests/qtest/bios-tables-test.c
4a7a119b20-Aug-2024 Kamil Szczęk <kamil@szczek.dev>

hw/i386/pc: Remove vmport value assertion

There is no need for this assertion here, as we only use vmport value
for equality/inequality checks. This was originally prompted by the
following Coverity

hw/i386/pc: Remove vmport value assertion

There is no need for this assertion here, as we only use vmport value
for equality/inequality checks. This was originally prompted by the
following Coverity report:
>>> CID 1559533: Integer handling issues (CONSTANT_EXPRESSION_RESULT)
>>> "pcms->vmport >= 0" is always true regardless of the values of
>>> its operands. This occurs as the logical first operand of "&&".

Signed-off-by: Kamil Szczęk <kamil@szczek.dev>
Reported-By: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lore.kernel.org/r/ZwF9ZexNs1h-uC0MrbkgGtMtdyLinROjVSmMNVzNftjGVWgOiuzdD1dSXEtzNH7OHbBFY6GVDYVFIDBgc3lhGqCOb7kaNZolSBkVyl3rNr4=@szczek.dev
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/crossbuild-template.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/configure
/openbmc/qemu/docs/system/bootindex.rst
/openbmc/qemu/docs/system/s390x/bootdevices.rst
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/display/virtio-gpu-virgl.c
/openbmc/qemu/hw/display/virtio-gpu.c
pc.c
/openbmc/qemu/hw/intc/loongarch_extioi.c
/openbmc/qemu/hw/intc/openpic.c
/openbmc/qemu/hw/net/rocker/rocker_of_dpa.c
/openbmc/qemu/hw/net/virtio-net.c
/openbmc/qemu/hw/s390x/ccw-device.c
/openbmc/qemu/hw/s390x/ccw-device.h
/openbmc/qemu/hw/s390x/ipl.c
/openbmc/qemu/hw/s390x/virtio-ccw-blk.c
/openbmc/qemu/hw/s390x/virtio-ccw-net.c
/openbmc/qemu/hw/scsi/scsi-disk.c
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/timer/exynos4210_mct.c
/openbmc/qemu/hw/usb/dev-hub.c
/openbmc/qemu/hw/vfio/ccw.c
/openbmc/qemu/hw/vfio/container-base.c
/openbmc/qemu/hw/vfio/igd.c
/openbmc/qemu/hw/watchdog/cmsdk-apb-watchdog.c
/openbmc/qemu/include/hw/intc/arm_gicv3_common.h
/openbmc/qemu/include/hw/misc/mos6522.h
/openbmc/qemu/include/hw/qdev-properties-system.h
/openbmc/qemu/include/hw/usb/dwc2-regs.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-net.h
/openbmc/qemu/include/net/eth.h
/openbmc/qemu/include/qemu/bitmap.h
/openbmc/qemu/include/qemu/bitops.h
/openbmc/qemu/nbd/server.c
/openbmc/qemu/pc-bios/s390-ccw.img
/openbmc/qemu/pc-bios/s390-ccw/main.c
/openbmc/qemu/pc-bios/s390-ccw/virtio-net.c
/openbmc/qemu/system/dma-helpers.c
/openbmc/qemu/system/trace-events
/openbmc/qemu/target/arm/hvf/hvf.c
/openbmc/qemu/target/arm/hvf/trace.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/i386/kvm/hyperv-stub.c
/openbmc/qemu/target/s390x/tcg/fpu_helper.c
/openbmc/qemu/target/s390x/tcg/vec_fpu_helper.c
/openbmc/qemu/tests/guest-debug/test_gdbstub.py
/openbmc/qemu/tests/qtest/cmsdk-apb-watchdog-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-helpers.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/tcg/multiarch/gdbstub/interrupt.py
/openbmc/qemu/tests/tcg/multiarch/gdbstub/prot-none.py
/openbmc/qemu/tests/tcg/multiarch/gdbstub/test-proc-mappings.py
/openbmc/qemu/tests/tcg/s390x/Makefile.target
/openbmc/qemu/tests/tcg/s390x/float.h
/openbmc/qemu/tests/tcg/s390x/fma.c
/openbmc/qemu/tests/tcg/s390x/vfminmax.c
/openbmc/qemu/trace-events
/openbmc/qemu/trace/control-target.c
/openbmc/qemu/trace/control.c
13cd9e6708-Nov-2024 Sergio Lopez <slp@redhat.com>

hw/i386/elfboot: allocate "header" in heap

In x86_load_linux(), we were using a stack-allocated array as data for
fw_cfg_add_bytes(). Since the latter just takes a reference to the
pointer instead o

hw/i386/elfboot: allocate "header" in heap

In x86_load_linux(), we were using a stack-allocated array as data for
fw_cfg_add_bytes(). Since the latter just takes a reference to the
pointer instead of copying the data, it can happen that the contents
have been overridden by the time the guest attempts to access them.

Instead of using the stack-allocated array, allocate some memory from
the heap, copy the contents of the array, and use it for fw_cfg.

Signed-off-by: Sergio Lopez <slp@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20241109053748.13183-1-slp@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-14.vars
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/VERSION
/openbmc/qemu/accel/tcg/user-exec.c
/openbmc/qemu/cpu-common.c
/openbmc/qemu/hw/9pfs/9p.c
/openbmc/qemu/hw/char/sifive_uart.c
x86-common.c
/openbmc/qemu/hw/m68k/next-kbd.c
/openbmc/qemu/hw/misc/nrf51_rng.c
/openbmc/qemu/hw/nvme/ctrl.c
/openbmc/qemu/hw/riscv/riscv-iommu.c
/openbmc/qemu/include/ui/console.h
/openbmc/qemu/linux-user/aarch64/Makefile.vdso
/openbmc/qemu/linux-user/aarch64/vdso-be.so
/openbmc/qemu/linux-user/aarch64/vdso-le.so
/openbmc/qemu/linux-user/arm/Makefile.vdso
/openbmc/qemu/linux-user/arm/meson.build
/openbmc/qemu/linux-user/arm/vdso-be32.so
/openbmc/qemu/linux-user/arm/vdso-be8.so
/openbmc/qemu/linux-user/arm/vdso-le.so
/openbmc/qemu/linux-user/elfload.c
/openbmc/qemu/linux-user/loongarch64/Makefile.vdso
/openbmc/qemu/linux-user/loongarch64/vdso.so
/openbmc/qemu/linux-user/ppc/Makefile.vdso
/openbmc/qemu/linux-user/ppc/vdso-32.so
/openbmc/qemu/linux-user/ppc/vdso-64.so
/openbmc/qemu/linux-user/ppc/vdso-64le.so
/openbmc/qemu/linux-user/qemu.h
/openbmc/qemu/linux-user/syscall.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/qga/commands-linux.c
/openbmc/qemu/roms/edk2
/openbmc/qemu/scripts/checkpatch.pl
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/tcg/sve_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/target/riscv/insn_trans/trans_rvv.c.inc
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/tcg/tcg-op-gvec.c
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/docker/dockerfiles/debian-amd64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-arm64-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-armhf-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/debian-i686-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-s390x-cross.docker
/openbmc/qemu/tests/docker/dockerfiles/fedora-win64-cross.docker
/openbmc/qemu/tests/functional/meson.build
/openbmc/qemu/tests/functional/qemu_test/testcase.py
/openbmc/qemu/tests/functional/test_aarch64_sbsaref.py
/openbmc/qemu/tests/functional/test_aarch64_sbsaref_alpine.py
/openbmc/qemu/tests/functional/test_aarch64_sbsaref_freebsd.py
/openbmc/qemu/tests/functional/test_arm_aspeed.py
/openbmc/qemu/tests/functional/test_ppc64_hv.py
/openbmc/qemu/tests/functional/test_ppc_40p.py
/openbmc/qemu/tests/functional/test_riscv64_tuxrun.py
/openbmc/qemu/tests/functional/test_riscv_opensbi.py
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/tcg/multiarch/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/sigreturn-sigmask.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/ui/input-legacy.c
bd0e501e05-Nov-2024 Peter Maydell <peter.maydell@linaro.org>

hw/i386/pc: Don't try to init PCI NICs if there is no PCI bus

The 'isapc' machine type has no PCI bus, but pc_nic_init() still
calls pci_init_nic_devices() passing it a NULL bus pointer. This
cause

hw/i386/pc: Don't try to init PCI NICs if there is no PCI bus

The 'isapc' machine type has no PCI bus, but pc_nic_init() still
calls pci_init_nic_devices() passing it a NULL bus pointer. This
causes the clang sanitizer to complain:

$ ./build/clang/qemu-system-i386 -M isapc
../../hw/pci/pci.c:1866:39: runtime error: member access within null pointer of type 'PCIBus' (aka 'struct PCIBus')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../hw/pci/pci.c:1866:39 in

This is because pci_init_nic_devices() does
&bus->qbus
which is undefined behaviour on a NULL pointer even though we're not
actually dereferencing the pointer. (We don't actually crash as
a result, so if you aren't running a sanitizer build then there
are no user-visible effects.)

Make pc_nic_init() avoid trying to initialize PCI NICs on a non-PCI
system.

Cc: qemu-stable@nongnu.org
Fixes: 8d39f9ba14d64 ("hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices()")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Link: https://lore.kernel.org/r/20241105171813.3031969-1-peter.maydell@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitattributes
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/docs/about/build-platforms.rst
/openbmc/qemu/hw/core/eif.c
/openbmc/qemu/hw/core/qdev-properties.c
pc.c
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/qdev-properties.h
/openbmc/qemu/include/qemu/osdep.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/rust/Cargo.lock
/openbmc/qemu/rust/Cargo.toml
/openbmc/qemu/rust/hw/char/Kconfig
/openbmc/qemu/rust/hw/char/pl011/Cargo.toml
/openbmc/qemu/rust/hw/char/pl011/src/device.rs
/openbmc/qemu/rust/hw/char/pl011/src/device_class.rs
/openbmc/qemu/rust/hw/char/pl011/src/lib.rs
/openbmc/qemu/rust/hw/char/pl011/src/memory_ops.rs
/openbmc/qemu/rust/qemu-api-macros/Cargo.toml
/openbmc/qemu/rust/qemu-api-macros/meson.build
/openbmc/qemu/rust/qemu-api-macros/src/lib.rs
/openbmc/qemu/rust/qemu-api/Cargo.toml
/openbmc/qemu/rust/qemu-api/build.rs
/openbmc/qemu/rust/qemu-api/meson.build
/openbmc/qemu/rust/qemu-api/src/c_str.rs
/openbmc/qemu/rust/qemu-api/src/definitions.rs
/openbmc/qemu/rust/qemu-api/src/device_class.rs
/openbmc/qemu/rust/qemu-api/src/lib.rs
/openbmc/qemu/rust/qemu-api/src/offset_of.rs
/openbmc/qemu/rust/qemu-api/src/vmstate.rs
/openbmc/qemu/rust/qemu-api/src/zeroable.rs
/openbmc/qemu/rust/qemu-api/tests/tests.rs
/openbmc/qemu/rust/wrapper.h
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-aarch64.yaml
/openbmc/qemu/scripts/ci/setup/ubuntu/ubuntu-2204-s390x.yaml
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/subprojects/bilge-impl-0.2-rs.wrap
/openbmc/qemu/subprojects/packagefiles/arbitrary-int-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-impl-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-impl-1.63.0.patch
/openbmc/qemu/subprojects/packagefiles/either-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/itertools-0.11-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro2-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/quote-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/syn-2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/unicode-ident-1-rs/meson.build
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/hvf/hvf.c
/openbmc/qemu/target/i386/hvf/x86_cpuid.c
/openbmc/qemu/target/i386/hvf/x86_emu.c
/openbmc/qemu/target/i386/tcg/seg_helper.c
/openbmc/qemu/target/i386/tcg/sysemu/excp_helper.c
/openbmc/qemu/tests/docker/dockerfiles/ubuntu2204.docker
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/refresh
63dc369406-Nov-2024 Peter Maydell <peter.maydell@linaro.org>

Merge tag 'hw-misc-20241105' of https://github.com/philmd/qemu into staging

Misc HW patch queue

- Deprecate a pair of untested microblaze big-endian machines (Philippe)
- Arch-agnostic CPU topology

Merge tag 'hw-misc-20241105' of https://github.com/philmd/qemu into staging

Misc HW patch queue

- Deprecate a pair of untested microblaze big-endian machines (Philippe)
- Arch-agnostic CPU topology checks at machine level (Zhao)
- Cleanups on PPC E500 (Bernhard)
- Various conversions to DEFINE_TYPES() macro (Bernhard)
- Fix RISC-V _pext_u64() name clashing (Pierrick)

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmcqqycACgkQ4+MsLN6t
# wN7TfhAAkAjpWxFGptNw28LPpnZY/NTGKyXQrIEHu3XnJsZ28c/KZeCAYUUC6/q7
# tAnBMb5GIn2VTyt+ElORseFtHStThoR8WMrcQSlGvCZei9lRNKCW0pVIEUgLZEtT
# u8lChpaVAn8gXb885xlaCBBP4SuFHEpASSfWy0mYDIqZL3oRhr9AQ/KwzHFqenbK
# Uva4BCWRVnYju6MhfA/pmVP011SUTdCu/fsBTIJT3Xn7Sp7fRNShIzt+1rbmPnR2
# hhRl5bMKUgDUjX5GxeP0LOj/XdX9svlqL42imNQT5FFUMIR6qbrwj4U841mt0uuI
# FcthAoILvA2XUJoTESq0iXUoN4FQLtc01onY6k06EoZAnn8WRZRp2dNdu8fYmHMX
# y3pcXBK6wEhBVZ2DcGVf1txmieUc4TZohOridU1Xfckp+XVl6J3LtTKJIE56Eh68
# S9OJW1Sz2Io/8FJFvKStX0bhV0nBUyUXmi5PjV4vurS6Gy1aVodiiq3ls6baX05z
# /Y8DJGpPByA+GI2prdwq9oTIhEIU2bJDDz32NkwHM99SE25h+iyh21Ap5Ojkegm7
# 1squIskxX3QLtEMxBCe+XIKzEZ51kzNZxmLXvCFW5YetypNdhyULqH/UDWt7hIDN
# BSh2w1g/lSw9n6DtEN3rURYAR/uV7/7IMEP8Td2wvcDX4o95Fkw=
# =q0cF
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 05 Nov 2024 23:32:55 GMT
# gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD 6BB2 E3E3 2C2C DEAD C0DE

* tag 'hw-misc-20241105' of https://github.com/philmd/qemu: (29 commits)
hw/riscv/iommu: fix build error with clang
hw/usb/hcd-ehci-sysbus: Prefer DEFINE_TYPES() macro
hw/rtc/ds1338: Prefer DEFINE_TYPES() macro
hw/i2c/smbus_eeprom: Prefer DEFINE_TYPES() macro
hw/block/pflash_cfi01: Prefer DEFINE_TYPES() macro
hw/sd/sdhci: Prefer DEFINE_TYPES() macro
hw/ppc/mpc8544_guts: Prefer DEFINE_TYPES() macro
hw/gpio/mpc8xxx: Prefer DEFINE_TYPES() macro
hw/net/fsl_etsec/etsec: Prefer DEFINE_TYPES() macro
hw/net/fsl_etsec/miim: Reuse MII constants
hw/pci-host/ppce500: Prefer DEFINE_TYPES() macro
hw/pci-host/ppce500: Reuse TYPE_PPC_E500_PCI_BRIDGE define
hw/i2c/mpc_i2c: Prefer DEFINE_TYPES() macro
hw/i2c/mpc_i2c: Convert DPRINTF to trace events for register access
hw/ppc/mpc8544_guts: Populate POR PLL ratio status register
hw/ppc/e500: Add missing device tree properties to i2c controller node
hw/ppc/e500: Remove unused "irqs" parameter
hw/ppc/e500: Prefer QOM cast
hw/core: Add a helper to check the cache topology level
hw/core: Check smp cache topology support for machine
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/openbmc/qemu/Makefile
/openbmc/qemu/bsd-user/main.c
/openbmc/qemu/bsd-user/x86_64/target_arch_thread.h
/openbmc/qemu/configs/devices/microblaze-softmmu/default.mak
/openbmc/qemu/configs/devices/microblazeel-softmmu/default.mak
/openbmc/qemu/configure
/openbmc/qemu/contrib/plugins/cflow.c
/openbmc/qemu/contrib/plugins/meson.build
/openbmc/qemu/crypto/hash-gcrypt.c
/openbmc/qemu/crypto/hash-nettle.c
/openbmc/qemu/crypto/hash.c
/openbmc/qemu/crypto/hmac-gcrypt.c
/openbmc/qemu/crypto/hmac-nettle.c
/openbmc/qemu/crypto/pbkdf-gcrypt.c
/openbmc/qemu/crypto/pbkdf-nettle.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/system/arm/emulation.rst
/openbmc/qemu/fpu/softfloat-specialize.c.inc
/openbmc/qemu/hw/block/pflash_cfi01.c
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/gpio/mpc8xxx.c
/openbmc/qemu/hw/i2c/mpc_i2c.c
/openbmc/qemu/hw/i2c/smbus_eeprom.c
/openbmc/qemu/hw/i2c/trace-events
x86-common.c
/openbmc/qemu/hw/microblaze/petalogix_ml605_mmu.c
/openbmc/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/openbmc/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/openbmc/qemu/hw/net/fsl_etsec/etsec.c
/openbmc/qemu/hw/net/fsl_etsec/miim.c
/openbmc/qemu/hw/net/npcm_gmac.c
/openbmc/qemu/hw/net/trace-events
/openbmc/qemu/hw/pci-host/ppce500.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/mpc8544_guts.c
/openbmc/qemu/hw/riscv/riscv-iommu.c
/openbmc/qemu/hw/rtc/ds1338.c
/openbmc/qemu/hw/rtc/trace-events
/openbmc/qemu/hw/sd/sdhci.c
/openbmc/qemu/hw/sensor/tmp105.c
/openbmc/qemu/hw/sensor/trace-events
/openbmc/qemu/hw/sensor/trace.h
/openbmc/qemu/hw/timer/imx_gpt.c
/openbmc/qemu/hw/timer/trace-events
/openbmc/qemu/hw/usb/hcd-ehci-sysbus.c
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/vfio/trace-events
/openbmc/qemu/hw/watchdog/wdt_imx2.c
/openbmc/qemu/include/crypto/hash.h
/openbmc/qemu/include/disas/capstone.h
/openbmc/qemu/include/fpu/softfloat-helpers.h
/openbmc/qemu/include/fpu/softfloat-types.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/i386/topology.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/linux-user/arm/nwfpe/fpa11.c
/openbmc/qemu/linux-user/gen-vdso-elfn.c.inc
/openbmc/qemu/linux-user/gen-vdso.c
/openbmc/qemu/linux-user/main.c
/openbmc/qemu/linux-user/signal-common.h
/openbmc/qemu/linux-user/signal.c
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/qapi/crypto.json
/openbmc/qemu/qapi/machine-common.json
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/arm/cpu-features.h
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/helper.c
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/ptw.c
/openbmc/qemu/target/arm/tcg/cpu64.c
/openbmc/qemu/target/arm/tcg/hflags.c
/openbmc/qemu/target/arm/tcg/op_helper.c
/openbmc/qemu/target/arm/tcg/translate-a64.c
/openbmc/qemu/target/arm/tcg/translate.c
/openbmc/qemu/target/arm/tcg/translate.h
/openbmc/qemu/target/arm/tcg/vec_helper.c
/openbmc/qemu/target/hppa/fpu_helper.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/tcg/fpu_helper.c
/openbmc/qemu/target/loongarch/tcg/fpu_helper.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/fpu_helper.c
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/fpu_helper.h
/openbmc/qemu/target/mips/msa.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/s390x/cpu.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/sparc/fop_helper.c
/openbmc/qemu/target/xtensa/cpu.c
/openbmc/qemu/target/xtensa/cpu.h
/openbmc/qemu/target/xtensa/fpu_helper.c
/openbmc/qemu/tests/fp/fp-bench.c
/openbmc/qemu/tests/fp/fp-test-log2.c
/openbmc/qemu/tests/fp/fp-test.c
/openbmc/qemu/tests/tcg/Makefile.target
/openbmc/qemu/tests/tcg/multiarch/linux/linux-sigrtminmax.c
/openbmc/qemu/tests/unit/test-crypto-hash.c
/openbmc/qemu/tests/unit/test-crypto-hmac.c
/openbmc/qemu/tests/unit/test-crypto-pbkdf.c
e823ebe701-Nov-2024 Zhao Liu <zhao1.liu@intel.com>

hw/core: Make CPU topology enumeration arch-agnostic

Cache topology needs to be defined based on CPU topology levels. Thus,
define CPU topology enumeration in qapi/machine.json to make it generic
fo

hw/core: Make CPU topology enumeration arch-agnostic

Cache topology needs to be defined based on CPU topology levels. Thus,
define CPU topology enumeration in qapi/machine.json to make it generic
for all architectures.

To match the general topology naming style, rename CPU_TOPO_LEVEL_* to
CPU_TOPOLOGY_LEVEL_*, and rename SMT and package levels to thread and
socket.

Also, enumerate additional topology levels for non-i386 arches, and add
a CPU_TOPOLOGY_LEVEL_DEFAULT to help future smp-cache object to work
with compatibility requirement of arch-specific cache topology models.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Yongwei Ma <yongwei.ma@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20241101083331.340178-3-zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

show more ...


/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/crossbuilds.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/icount-common.c
/openbmc/qemu/configs/devices/microblaze-softmmu/default.mak
/openbmc/qemu/configs/devices/microblazeel-softmmu/default.mak
/openbmc/qemu/configs/devices/sh4eb-softmmu/default.mak
/openbmc/qemu/configs/targets/riscv64-softmmu.mak
/openbmc/qemu/configs/targets/sh4eb-softmmu.mak
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/disas/riscv.h
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/reset.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/docs/specs/riscv-iommu.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/exynos.rst
/openbmc/qemu/docs/system/arm/fby35.rst
/openbmc/qemu/docs/system/arm/mcimx6ul-evk.rst
/openbmc/qemu/docs/system/arm/mcimx7d-sabre.rst
/openbmc/qemu/docs/system/arm/nuvoton.rst
/openbmc/qemu/docs/system/arm/stm32.rst
/openbmc/qemu/docs/system/arm/xlnx-zcu102.rst
/openbmc/qemu/docs/system/cpu-hotplug.rst
/openbmc/qemu/docs/system/devices/virtio-gpu.rst
/openbmc/qemu/docs/system/i386/nitro-enclave.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/docs/system/riscv/virt.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-i386.rst
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/char/riscv_htif.c
/openbmc/qemu/hw/char/sifive_uart.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-virgl.c
/openbmc/qemu/hw/display/virtio-gpu.c
x86-common.c
/openbmc/qemu/hw/intc/arm_gic_kvm.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/intc/spapr_xive_kvm.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/loongarch/boot.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/microblaze/petalogix_ml605_mmu.c
/openbmc/qemu/hw/microblaze/petalogix_s3adsp1800_mmu.c
/openbmc/qemu/hw/microblaze/xlnx-zynqmp-pmu.c
/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/trace-events
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/e500.h
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_adu.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc_booke.c
/openbmc/qemu/hw/ppc/ppce500_spin.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_nested.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/meson.build
/openbmc/qemu/hw/riscv/riscv-iommu-bits.h
/openbmc/qemu/hw/riscv/riscv-iommu-pci.c
/openbmc/qemu/hw/riscv/riscv-iommu.c
/openbmc/qemu/hw/riscv/riscv-iommu.h
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/trace-events
/openbmc/qemu/hw/riscv/trace.h
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/Kconfig
/openbmc/qemu/hw/sd/aspeed_sdhci.c
/openbmc/qemu/hw/sd/omap_mmc.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/ssi/pnv_spi.c
/openbmc/qemu/hw/timer/aspeed_timer.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/exec/memattrs.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/char/sifive_uart.h
/openbmc/qemu/include/hw/i386/topology.h
/openbmc/qemu/include/hw/pci-host/spapr.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/ppc/ppc.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_cpu_core.h
/openbmc/qemu/include/hw/ppc/spapr_nested.h
/openbmc/qemu/include/hw/ppc/xive.h
/openbmc/qemu/include/hw/ppc/xive2.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/riscv/boot_opensbi.h
/openbmc/qemu/include/hw/riscv/iommu.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/const.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/fuse.h
/openbmc/qemu/include/standard-headers/linux/input-event-codes.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/virtio_balloon.h
/openbmc/qemu/include/standard-headers/linux/virtio_gpu.h
/openbmc/qemu/include/sysemu/cpu-throttle.h
/openbmc/qemu/linux-headers/asm-arm64/mman.h
/openbmc/qemu/linux-headers/asm-arm64/unistd.h
/openbmc/qemu/linux-headers/asm-arm64/unistd_64.h
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm_para.h
/openbmc/qemu/linux-headers/asm-loongarch/unistd.h
/openbmc/qemu/linux-headers/asm-loongarch/unistd_64.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/unistd.h
/openbmc/qemu/linux-headers/asm-riscv/unistd_32.h
/openbmc/qemu/linux-headers/asm-riscv/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_x32.h
/openbmc/qemu/linux-headers/linux/bits.h
/openbmc/qemu/linux-headers/linux/const.h
/openbmc/qemu/linux-headers/linux/iommufd.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/mman.h
/openbmc/qemu/linux-headers/linux/psp-sev.h
/openbmc/qemu/meson.build
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/cpu-throttle.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/pc-bios/hppa-firmware64.img
/openbmc/qemu/qapi/machine-common.json
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-windows-ssh.c
/openbmc/qemu/qga/vss-win32/install.cpp
/openbmc/qemu/qga/vss-win32/provider.cpp
/openbmc/qemu/qga/vss-win32/requester.cpp
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/scripts/symlink-install-tree.py
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/system/cpu-timers.c
/openbmc/qemu/system/meson.build
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/trace-events
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/i386/cpu-dump.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/cc_helper_template.h.inc
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/int_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/loongarch-qmp-cmds.c
/openbmc/qemu/target/loongarch/machine.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/mips/cpu-defs.c.inc
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/mips/sysemu/machine.c
/openbmc/qemu/target/mips/tcg/godson2.decode
/openbmc/qemu/target/mips/tcg/loong-ext.decode
/openbmc/qemu/target/mips/tcg/loong_translate.c
/openbmc/qemu/target/mips/tcg/meson.build
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/mips/tcg/translate.h
/openbmc/qemu/target/ppc/compat.c
/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/cpu_init.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/riscv/cpu-qom.h
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/cpu_user.h
/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_rva.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.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/insn_trans/trans_rvvk.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzfh.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzicfiss.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_svinval.c.inc
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/functional/meson.build
/openbmc/qemu/tests/functional/qemu_test/asset.py
/openbmc/qemu/tests/functional/qemu_test/tuxruntest.py
/openbmc/qemu/tests/functional/qemu_test/utils.py
/openbmc/qemu/tests/functional/test_aarch64_tcg_plugins.py
/openbmc/qemu/tests/functional/test_arm_bpim2u.py
/openbmc/qemu/tests/functional/test_arm_collie.py
/openbmc/qemu/tests/functional/test_arm_orangepi.py
/openbmc/qemu/tests/functional/test_arm_sx1.py
/openbmc/qemu/tests/functional/test_ppc64_tuxrun.py
/openbmc/qemu/tests/functional/test_sh4eb_r2d.py
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qtest/endianness-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/riscv-iommu.c
/openbmc/qemu/tests/qtest/libqos/riscv-iommu.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/pnv-xive2-common.c
/openbmc/qemu/tests/qtest/pnv-xive2-common.h
/openbmc/qemu/tests/qtest/pnv-xive2-flush-sync.c
/openbmc/qemu/tests/qtest/pnv-xive2-test.c
/openbmc/qemu/tests/qtest/riscv-iommu-test.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/vm/openbsd
9eb9350c05-Nov-2024 Peter Maydell <peter.maydell@linaro.org>

Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging

virtio,pc,pci: features, fixes, cleanups

CXL now can use Generic Port Affinity Structures.
CXL now allows c

Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging

virtio,pc,pci: features, fixes, cleanups

CXL now can use Generic Port Affinity Structures.
CXL now allows control of link speed and width
vhost-user-blk now supports live resize, by means of
a new device-sync-config command
amd iommu now supports interrupt remapping
pcie devices now report extended tag field support
intel_iommu dropped support for Transient Mapping, to match VTD spec
arch agnostic ACPI infrastructure for vCPU Hotplug

Fixes, cleanups all over the place.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEXQn9CHHI+FuUyooNKB8NuNKNVGkFAmcpNqUPHG1zdEByZWRo
# YXQuY29tAAoJECgfDbjSjVRp/2oH/0qO33prhDa48J5mqT9NuJzzYwp5QHKF9Zjv
# fDAplMUEmfxZIEgJchcyDWPYTGX2geT4pCFhRWioZMIR/0JyzrFgSwsk1kL88cMh
# 46gzhNVD6ybyPJ7O0Zq3GLy5jo7rlw/n+fFxKAuRCzcbK/fmH8gNC+RwW1IP64Na
# HDczYilHUhnO7yKZFQzQNQVbK4BckrG1bu0Fcx0EMUQBf4V6x7GLOrT+3hkKYcr6
# +DG5DmUmv20or/FXnu2Ye+MzR8Ebx6JVK3A3sXEE4Ns2CCzK9QLzeeyc2aU13jWN
# OpZ6WcKF8HqYprIwnSsMTxhPcq0/c7TvrGrazVwna5RUBMyjjvc=
# =zSX4
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 04 Nov 2024 21:03:33 GMT
# gpg: using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
# gpg: issuer "mst@redhat.com"
# gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
# gpg: aka "Michael S. Tsirkin <mst@redhat.com>" [full]
# Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67
# Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469

* tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu: (65 commits)
intel_iommu: Add missed reserved bit check for IEC descriptor
intel_iommu: Add missed sanity check for 256-bit invalidation queue
intel_iommu: Send IQE event when setting reserved bit in IQT_TAIL
hw/acpi: Update GED with vCPU Hotplug VMSD for migration
tests/qtest/bios-tables-test: Update DSDT golden masters for x86/{pc,q35}
hw/acpi: Update ACPI `_STA` method with QOM vCPU ACPI Hotplug states
qtest: allow ACPI DSDT Table changes
hw/acpi: Make CPUs ACPI `presence` conditional during vCPU hot-unplug
hw/pci: Add parenthesis to PCI_BUILD_BDF macro
hw/cxl: Ensure there is enough data to read the input header in cmd_get_physical_port_state()
hw/cxl: Ensure there is enough data for the header in cmd_ccls_set_lsa()
hw/cxl: Check that writes do not go beyond end of target attributes
hw/cxl: Ensuring enough data to read parameters in cmd_tunnel_management_cmd()
hw/cxl: Avoid accesses beyond the end of cel_log.
hw/cxl: Check the length of data requested fits in get_log()
hw/cxl: Check enough data in cmd_firmware_update_transfer()
hw/cxl: Check input length is large enough in cmd_events_clear_records()
hw/cxl: Check input includes at least the header in cmd_features_set_feature()
hw/cxl: Check size of input data to dynamic capacity mailbox commands
hw/cxl/cxl-mailbox-util: Fix output buffer index update when retrieving DC extents
...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

show more ...


/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/crossbuilds.yml
/openbmc/qemu/.travis.yml
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/tcg/icount-common.c
/openbmc/qemu/configs/devices/sh4eb-softmmu/default.mak
/openbmc/qemu/configs/targets/riscv64-softmmu.mak
/openbmc/qemu/configs/targets/sh4eb-softmmu.mak
/openbmc/qemu/disas/riscv.c
/openbmc/qemu/disas/riscv.h
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/devel/reset.rst
/openbmc/qemu/docs/interop/vhost-user.rst
/openbmc/qemu/docs/specs/index.rst
/openbmc/qemu/docs/specs/pci-ids.rst
/openbmc/qemu/docs/specs/riscv-iommu.rst
/openbmc/qemu/docs/system/arm/aspeed.rst
/openbmc/qemu/docs/system/arm/exynos.rst
/openbmc/qemu/docs/system/arm/fby35.rst
/openbmc/qemu/docs/system/arm/mcimx6ul-evk.rst
/openbmc/qemu/docs/system/arm/mcimx7d-sabre.rst
/openbmc/qemu/docs/system/arm/nuvoton.rst
/openbmc/qemu/docs/system/arm/stm32.rst
/openbmc/qemu/docs/system/arm/xlnx-zcu102.rst
/openbmc/qemu/docs/system/cpu-hotplug.rst
/openbmc/qemu/docs/system/devices/virtio-gpu.rst
/openbmc/qemu/docs/system/i386/nitro-enclave.rst
/openbmc/qemu/docs/system/ppc/pseries.rst
/openbmc/qemu/docs/system/riscv/virt.rst
/openbmc/qemu/docs/system/target-arm.rst
/openbmc/qemu/docs/system/target-i386.rst
/openbmc/qemu/hw/acpi/aml-build.c
/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/acpi/meson.build
/openbmc/qemu/hw/acpi/pci.c
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/aspeed.c
/openbmc/qemu/hw/arm/aspeed_ast27x0.c
/openbmc/qemu/hw/arm/virt-acpi-build.c
/openbmc/qemu/hw/arm/virt.c
/openbmc/qemu/hw/block/vhost-user-blk.c
/openbmc/qemu/hw/char/riscv_htif.c
/openbmc/qemu/hw/char/sifive_uart.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
/openbmc/qemu/hw/display/trace-events
/openbmc/qemu/hw/display/virtio-gpu-gl.c
/openbmc/qemu/hw/display/virtio-gpu-virgl.c
/openbmc/qemu/hw/display/virtio-gpu.c
acpi-build.c
amd_iommu.c
amd_iommu.h
intel_iommu.c
intel_iommu_internal.h
pc.c
/openbmc/qemu/hw/intc/arm_gic_kvm.c
/openbmc/qemu/hw/intc/pnv_xive2.c
/openbmc/qemu/hw/intc/riscv_aplic.c
/openbmc/qemu/hw/intc/sifive_plic.c
/openbmc/qemu/hw/intc/spapr_xive_kvm.c
/openbmc/qemu/hw/intc/xics.c
/openbmc/qemu/hw/intc/xive.c
/openbmc/qemu/hw/intc/xive2.c
/openbmc/qemu/hw/loongarch/boot.c
/openbmc/qemu/hw/m68k/next-cube.c
/openbmc/qemu/hw/mem/cxl_type3.c
/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/trace-events
/openbmc/qemu/hw/pci-bridge/cxl_downstream.c
/openbmc/qemu/hw/pci-bridge/cxl_root_port.c
/openbmc/qemu/hw/pci-bridge/cxl_upstream.c
/openbmc/qemu/hw/pci-bridge/pci_expander_bridge.c
/openbmc/qemu/hw/pci-host/gpex-acpi.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pci_bridge.c
/openbmc/qemu/hw/pci/pcie.c
/openbmc/qemu/hw/ppc/e500.c
/openbmc/qemu/hw/ppc/e500.h
/openbmc/qemu/hw/ppc/pnv.c
/openbmc/qemu/hw/ppc/pnv_adu.c
/openbmc/qemu/hw/ppc/pnv_lpc.c
/openbmc/qemu/hw/ppc/ppc.c
/openbmc/qemu/hw/ppc/ppc440_bamboo.c
/openbmc/qemu/hw/ppc/ppc_booke.c
/openbmc/qemu/hw/ppc/ppce500_spin.c
/openbmc/qemu/hw/ppc/sam460ex.c
/openbmc/qemu/hw/ppc/spapr.c
/openbmc/qemu/hw/ppc/spapr_cpu_core.c
/openbmc/qemu/hw/ppc/spapr_nested.c
/openbmc/qemu/hw/ppc/spapr_pci.c
/openbmc/qemu/hw/ppc/virtex_ml507.c
/openbmc/qemu/hw/riscv/Kconfig
/openbmc/qemu/hw/riscv/boot.c
/openbmc/qemu/hw/riscv/meson.build
/openbmc/qemu/hw/riscv/riscv-iommu-bits.h
/openbmc/qemu/hw/riscv/riscv-iommu-pci.c
/openbmc/qemu/hw/riscv/riscv-iommu.c
/openbmc/qemu/hw/riscv/riscv-iommu.h
/openbmc/qemu/hw/riscv/sifive_u.c
/openbmc/qemu/hw/riscv/trace-events
/openbmc/qemu/hw/riscv/trace.h
/openbmc/qemu/hw/riscv/virt.c
/openbmc/qemu/hw/s390x/Kconfig
/openbmc/qemu/hw/sd/aspeed_sdhci.c
/openbmc/qemu/hw/sd/omap_mmc.c
/openbmc/qemu/hw/sd/sd.c
/openbmc/qemu/hw/ssi/pnv_spi.c
/openbmc/qemu/hw/timer/aspeed_timer.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/virtio-mem.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/include/block/nvme.h
/openbmc/qemu/include/exec/memattrs.h
/openbmc/qemu/include/exec/memory.h
/openbmc/qemu/include/hw/acpi/aml-build.h
/openbmc/qemu/include/hw/acpi/pci.h
/openbmc/qemu/include/hw/boards.h
/openbmc/qemu/include/hw/char/sifive_uart.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/cxl/cxl_device.h
/openbmc/qemu/include/hw/i386/intel_iommu.h
/openbmc/qemu/include/hw/pci-bridge/cxl_upstream_port.h
/openbmc/qemu/include/hw/pci-host/spapr.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/include/hw/pci/pci_bridge.h
/openbmc/qemu/include/hw/pci/pci_device.h
/openbmc/qemu/include/hw/pci/pcie.h
/openbmc/qemu/include/hw/ppc/ppc.h
/openbmc/qemu/include/hw/ppc/spapr.h
/openbmc/qemu/include/hw/ppc/spapr_cpu_core.h
/openbmc/qemu/include/hw/ppc/spapr_nested.h
/openbmc/qemu/include/hw/ppc/xive.h
/openbmc/qemu/include/hw/ppc/xive2.h
/openbmc/qemu/include/hw/ppc/xive2_regs.h
/openbmc/qemu/include/hw/ppc/xive_regs.h
/openbmc/qemu/include/hw/qdev-core.h
/openbmc/qemu/include/hw/riscv/boot.h
/openbmc/qemu/include/hw/riscv/boot_opensbi.h
/openbmc/qemu/include/hw/riscv/iommu.h
/openbmc/qemu/include/hw/sd/sd.h
/openbmc/qemu/include/hw/virtio/vhost-user.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/hw/virtio/virtio-pci.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/qemu/host-utils.h
/openbmc/qemu/include/standard-headers/drm/drm_fourcc.h
/openbmc/qemu/include/standard-headers/linux/const.h
/openbmc/qemu/include/standard-headers/linux/ethtool.h
/openbmc/qemu/include/standard-headers/linux/fuse.h
/openbmc/qemu/include/standard-headers/linux/input-event-codes.h
/openbmc/qemu/include/standard-headers/linux/pci_regs.h
/openbmc/qemu/include/standard-headers/linux/virtio_balloon.h
/openbmc/qemu/include/standard-headers/linux/virtio_gpu.h
/openbmc/qemu/include/sysemu/cpu-throttle.h
/openbmc/qemu/linux-headers/asm-arm64/mman.h
/openbmc/qemu/linux-headers/asm-arm64/unistd.h
/openbmc/qemu/linux-headers/asm-arm64/unistd_64.h
/openbmc/qemu/linux-headers/asm-generic/unistd.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm.h
/openbmc/qemu/linux-headers/asm-loongarch/kvm_para.h
/openbmc/qemu/linux-headers/asm-loongarch/unistd.h
/openbmc/qemu/linux-headers/asm-loongarch/unistd_64.h
/openbmc/qemu/linux-headers/asm-riscv/kvm.h
/openbmc/qemu/linux-headers/asm-riscv/unistd.h
/openbmc/qemu/linux-headers/asm-riscv/unistd_32.h
/openbmc/qemu/linux-headers/asm-riscv/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/kvm.h
/openbmc/qemu/linux-headers/asm-x86/unistd_64.h
/openbmc/qemu/linux-headers/asm-x86/unistd_x32.h
/openbmc/qemu/linux-headers/linux/bits.h
/openbmc/qemu/linux-headers/linux/const.h
/openbmc/qemu/linux-headers/linux/iommufd.h
/openbmc/qemu/linux-headers/linux/kvm.h
/openbmc/qemu/linux-headers/linux/mman.h
/openbmc/qemu/linux-headers/linux/psp-sev.h
/openbmc/qemu/meson.build
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/cpu-throttle.c
/openbmc/qemu/migration/dirtyrate.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/migration/vmstate.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/pc-bios/hppa-firmware.img
/openbmc/qemu/pc-bios/hppa-firmware64.img
/openbmc/qemu/qapi/machine.json
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/qdev.json
/openbmc/qemu/qapi/qom.json
/openbmc/qemu/qga/commands-posix.c
/openbmc/qemu/qga/commands-windows-ssh.c
/openbmc/qemu/qga/vss-win32/install.cpp
/openbmc/qemu/qga/vss-win32/provider.cpp
/openbmc/qemu/qga/vss-win32/requester.cpp
/openbmc/qemu/roms/seabios-hppa
/openbmc/qemu/scripts/symlink-install-tree.py
/openbmc/qemu/scripts/update-linux-headers.sh
/openbmc/qemu/system/cpu-timers.c
/openbmc/qemu/system/meson.build
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/trace-events
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/cpu.h
/openbmc/qemu/target/arm/internals.h
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/kvm_arm.h
/openbmc/qemu/target/arm/tcg/helper-a64.c
/openbmc/qemu/target/arm/vfp_helper.c
/openbmc/qemu/target/i386/cpu-dump.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/cpu.h
/openbmc/qemu/target/i386/helper.h
/openbmc/qemu/target/i386/kvm/kvm-cpu.c
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/i386/tcg/cc_helper.c
/openbmc/qemu/target/i386/tcg/cc_helper_template.h.inc
/openbmc/qemu/target/i386/tcg/decode-new.c.inc
/openbmc/qemu/target/i386/tcg/emit.c.inc
/openbmc/qemu/target/i386/tcg/helper-tcg.h
/openbmc/qemu/target/i386/tcg/int_helper.c
/openbmc/qemu/target/i386/tcg/translate.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu.h
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/loongarch-qmp-cmds.c
/openbmc/qemu/target/loongarch/machine.c
/openbmc/qemu/target/mips/cpu-defs.c.inc
/openbmc/qemu/target/mips/cpu.h
/openbmc/qemu/target/mips/mips-defs.h
/openbmc/qemu/target/mips/sysemu/machine.c
/openbmc/qemu/target/mips/tcg/godson2.decode
/openbmc/qemu/target/mips/tcg/loong-ext.decode
/openbmc/qemu/target/mips/tcg/loong_translate.c
/openbmc/qemu/target/mips/tcg/meson.build
/openbmc/qemu/target/mips/tcg/micromips_translate.c.inc
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/mips/tcg/translate.h
/openbmc/qemu/target/ppc/compat.c
/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/cpu_init.h
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/ppc/machine.c
/openbmc/qemu/target/ppc/misc_helper.c
/openbmc/qemu/target/ppc/mmu-hash64.c
/openbmc/qemu/target/ppc/translate.c
/openbmc/qemu/target/riscv/cpu-qom.h
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/riscv/cpu.h
/openbmc/qemu/target/riscv/cpu_bits.h
/openbmc/qemu/target/riscv/cpu_cfg.h
/openbmc/qemu/target/riscv/cpu_helper.c
/openbmc/qemu/target/riscv/cpu_user.h
/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_rva.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvd.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvf.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/insn_trans/trans_rvvk.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzacas.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzfh.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_rvzicfiss.c.inc
/openbmc/qemu/target/riscv/insn_trans/trans_svinval.c.inc
/openbmc/qemu/target/riscv/internals.h
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/target/riscv/machine.c
/openbmc/qemu/target/riscv/op_helper.c
/openbmc/qemu/target/riscv/pmp.c
/openbmc/qemu/target/riscv/pmp.h
/openbmc/qemu/target/riscv/tcg/tcg-cpu.c
/openbmc/qemu/target/riscv/translate.c
/openbmc/qemu/target/riscv/vector_helper.c
/openbmc/qemu/tests/avocado/boot_linux_console.py
/openbmc/qemu/tests/avocado/tuxrun_baselines.py
/openbmc/qemu/tests/data/acpi/disassemle-aml.sh
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.noacpihp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.xapic
/openbmc/qemu/tests/functional/meson.build
/openbmc/qemu/tests/functional/qemu_test/asset.py
/openbmc/qemu/tests/functional/qemu_test/tuxruntest.py
/openbmc/qemu/tests/functional/qemu_test/utils.py
/openbmc/qemu/tests/functional/test_aarch64_tcg_plugins.py
/openbmc/qemu/tests/functional/test_arm_bpim2u.py
/openbmc/qemu/tests/functional/test_arm_collie.py
/openbmc/qemu/tests/functional/test_arm_orangepi.py
/openbmc/qemu/tests/functional/test_arm_sx1.py
/openbmc/qemu/tests/functional/test_ppc64_tuxrun.py
/openbmc/qemu/tests/functional/test_sh4eb_r2d.py
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qemu-iotests/testenv.py
/openbmc/qemu/tests/qtest/endianness-test.c
/openbmc/qemu/tests/qtest/fuzz-virtio-balloon-test.c
/openbmc/qemu/tests/qtest/libqos/meson.build
/openbmc/qemu/tests/qtest/libqos/riscv-iommu.c
/openbmc/qemu/tests/qtest/libqos/riscv-iommu.h
/openbmc/qemu/tests/qtest/libqtest.c
/openbmc/qemu/tests/qtest/machine-none-test.c
/openbmc/qemu/tests/qtest/meson.build
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/qtest/pnv-xive2-common.c
/openbmc/qemu/tests/qtest/pnv-xive2-common.h
/openbmc/qemu/tests/qtest/pnv-xive2-flush-sync.c
/openbmc/qemu/tests/qtest/pnv-xive2-test.c
/openbmc/qemu/tests/qtest/riscv-iommu-test.c
/openbmc/qemu/tests/tcg/ppc64/Makefile.target
/openbmc/qemu/tests/vm/openbsd
096d96e704-Nov-2024 Zhenzhong Duan <zhenzhong.duan@intel.com>

intel_iommu: Add missed reserved bit check for IEC descriptor

IEC descriptor is 128-bit invalidation descriptor, must be padded with
128-bits of 0s in the upper bytes to create a 256-bit descriptor

intel_iommu: Add missed reserved bit check for IEC descriptor

IEC descriptor is 128-bit invalidation descriptor, must be padded with
128-bits of 0s in the upper bytes to create a 256-bit descriptor when
the invalidation queue is configured for 256-bit descriptors (IQA_REG.DW=1).

Fixes: 02a2cbc872df ("x86-iommu: introduce IEC notifiers")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20241104125536.1236118-4-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

8e761fb604-Nov-2024 Zhenzhong Duan <zhenzhong.duan@intel.com>

intel_iommu: Add missed sanity check for 256-bit invalidation queue

According to VTD spec, a 256-bit descriptor will result in an invalid
descriptor error if submitted in an IQ that is setup to prov

intel_iommu: Add missed sanity check for 256-bit invalidation queue

According to VTD spec, a 256-bit descriptor will result in an invalid
descriptor error if submitted in an IQ that is setup to provide hardware
with 128-bit descriptors (IQA_REG.DW=0). Meanwhile, there are old inv desc
types (e.g. iotlb_inv_desc) that can be either 128bits or 256bits. If a
128-bit version of this descriptor is submitted into an IQ that is setup
to provide hardware with 256-bit descriptors will also result in an invalid
descriptor error.

The 2nd will be captured by the tail register update. So we only need to
focus on the 1st.

Because the reserved bit check between different types of invalidation desc
are common, so introduce a common function vtd_inv_desc_reserved_check()
to do all the checks and pass the differences as parameters.

With this change, need to replace error_report_once() call with error_report()
to catch different call sites. This isn't an issue as error_report_once()
here is mainly used to help debug guest error, but it only dumps once in
qemu life cycle and doesn't help much, we need error_report() instead.

Fixes: c0c1d351849b ("intel_iommu: add 256 bits qi_desc support")
Suggested-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20241104125536.1236118-3-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

e70e83f504-Nov-2024 Zhenzhong Duan <zhenzhong.duan@intel.com>

intel_iommu: Send IQE event when setting reserved bit in IQT_TAIL

According to VTD spec, Figure 11-22, Invalidation Queue Tail Register,
"When Descriptor Width (DW) field in Invalidation Queue Addre

intel_iommu: Send IQE event when setting reserved bit in IQT_TAIL

According to VTD spec, Figure 11-22, Invalidation Queue Tail Register,
"When Descriptor Width (DW) field in Invalidation Queue Address Register
(IQA_REG) is Set (256-bit descriptors), hardware treats bit-4 as reserved
and a value of 1 in the bit will result in invalidation queue error."

Current code missed to send IQE event to guest, fix it.

Fixes: c0c1d351849b ("intel_iommu: add 256 bits qi_desc support")
Suggested-by: Yi Liu <yi.l.liu@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20241104125536.1236118-2-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...


/openbmc/qemu/hw/acpi/cpu.c
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/cxl/cxl-mailbox-utils.c
intel_iommu.c
/openbmc/qemu/hw/pci/pci.c
/openbmc/qemu/hw/pci/pcie.c
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/pci/pci.h
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbridge
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.hpbrroot
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.ipmikcs
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/pc/DSDT.roothp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpierst
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.applesmc
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.core-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cphp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.cxl
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.dimmpxm
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmibt
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ipmismbus
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.ivrs
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.memhp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.mmio64
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.multi-bridge
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.noacpihp
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.nohpet
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.numamem
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.pvpanic-isa
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.thread-count2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm12
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.tis.tpm2
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.type4-count
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.viot
/openbmc/qemu/tests/data/acpi/x86/q35/DSDT.xapic
6ce12bd227-Oct-2024 Zhenzhong Duan <zhenzhong.duan@intel.com>

intel_iommu: Introduce property "stale-tm" to control Transient Mapping (TM) field

VT-d spec removed Transient Mapping (TM) field from second-level page-tables
and treat the field as Reserved(0) sin

intel_iommu: Introduce property "stale-tm" to control Transient Mapping (TM) field

VT-d spec removed Transient Mapping (TM) field from second-level page-tables
and treat the field as Reserved(0) since revision 3.2.

Changing the field as reserved(0) will break backward compatibility, so
introduce a property "stale-tm" to allow user to control the setting.

Use pc_compat_9_1 to handle the compatibility for machines before 9.2 which
allow guest to set the field. Starting from 9.2, this field is reserved(0)
by default to match spec. Of course, user can force it on command line.

This doesn't impact function of vIOMMU as there was no logic to emulate
Transient Mapping.

Suggested-by: Yi Liu <yi.l.liu@intel.com>
Suggested-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Message-Id: <20241028022514.806657-1-zhenzhong.duan@intel.com>
Reviewed-by: Clément Mathieu--Drif<clement.mathieu--drif@eviden.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

b12cb38127-Sep-2024 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

amd_iommu: Check APIC ID > 255 for XTSup

The XTSup mode enables x2APIC support for AMD IOMMU, which is needed
to support vcpu w/ APIC ID > 255.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@o

amd_iommu: Check APIC ID > 255 for XTSup

The XTSup mode enables x2APIC support for AMD IOMMU, which is needed
to support vcpu w/ APIC ID > 255.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Message-Id: <20240927172913.121477-6-santosh.shukla@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

f84aad4d27-Sep-2024 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

amd_iommu: Send notification when invalidate interrupt entry cache

In order to support AMD IOMMU interrupt remapping emulation with PCI
pass-through devices, QEMU needs to notify VFIO when guest IOM

amd_iommu: Send notification when invalidate interrupt entry cache

In order to support AMD IOMMU interrupt remapping emulation with PCI
pass-through devices, QEMU needs to notify VFIO when guest IOMMU driver
updates and invalidate the guest interrupt remapping table (IRT), and
communicate information so that the host IOMMU driver can update
the shadowed interrupt remapping table in the host IOMMU.

Therefore, send notification when guest IOMMU emulates the IRT
invalidation commands.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Message-Id: <20240927172913.121477-5-santosh.shukla@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

9fc9dbac27-Sep-2024 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

amd_iommu: Use shared memory region for Interrupt Remapping

Use shared memory region for interrupt remapping which can be
aliased by all devices.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez

amd_iommu: Use shared memory region for Interrupt Remapping

Use shared memory region for interrupt remapping which can be
aliased by all devices.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Message-Id: <20240927172913.121477-4-santosh.shukla@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

c1f4699927-Sep-2024 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

amd_iommu: Add support for pass though mode

Introduce 'nodma' shared memory region to support PT mode
so that for each device, we only create an alias to shared memory
region when DMA-remapping is d

amd_iommu: Add support for pass though mode

Introduce 'nodma' shared memory region to support PT mode
so that for each device, we only create an alias to shared memory
region when DMA-remapping is disabled.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Message-Id: <20240927172913.121477-3-santosh.shukla@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

2e6f051c27-Sep-2024 Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

amd_iommu: Rename variable mmio to mr_mmio

Rename the MMIO memory region variable 'mmio' to 'mr_mmio'
so to correctly name align with struct AMDVIState::variable type.

No functional change intended

amd_iommu: Rename variable mmio to mr_mmio

Rename the MMIO memory region variable 'mmio' to 'mr_mmio'
so to correctly name align with struct AMDVIState::variable type.

No functional change intended.

Reviewed-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Santosh Shukla <santosh.shukla@amd.com>
Message-Id: <20240927172913.121477-2-santosh.shukla@amd.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

7916bb5424-Sep-2024 Ricardo Ribalda <ribalda@chromium.org>

hw/i386/acpi-build: return a non-var package from _PRT()

Windows XP seems to have issues when _PRT() returns a variable package.
We know in advance the size, so we can return a fixed package instead

hw/i386/acpi-build: return a non-var package from _PRT()

Windows XP seems to have issues when _PRT() returns a variable package.
We know in advance the size, so we can return a fixed package instead.
https://lore.kernel.org/qemu-devel/c82d9331-a8ce-4bb0-b51f-2ee789e27c86@ilande.co.uk/T/#m541190c942676bccf7a7f7fbcb450d94a4e2da53

Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Fixes: 99cb2c6c7b ("hw/i386/acpi-build: Return a pre-computed _PRT table")
Closes: https://lore.kernel.org/all/eb11c984-ebe4-4a09-9d71-1e9db7fe7e6f@ilande.co.uk/
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Message-Id: <20240924132417.739809-3-ribalda@chromium.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

a82fe82916-Sep-2024 Jonathan Cameron <Jonathan.Cameron@huawei.com>

hw/acpi: Generic Port Affinity Structure support

These are very similar to the recently added Generic Initiators
but instead of representing an initiator of memory traffic they
represent an edge poi

hw/acpi: Generic Port Affinity Structure support

These are very similar to the recently added Generic Initiators
but instead of representing an initiator of memory traffic they
represent an edge point beyond which may lie either targets or
initiators. Here we add these ports such that they may
be targets of hmat_lb records to describe the latency and
bandwidth from host side initiators to the port. A discoverable
mechanism such as UEFI CDAT read from CXL devices and switches
is used to discover the remainder of the path, and the OS can build
up full latency and bandwidth numbers as need for work and data
placement decisions.

Acked-by: Markus Armbruster <armbru@redhat.com>
Tested-by: "Huang, Ying" <ying.huang@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240916174122.1843197-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

dc907b5c16-Sep-2024 Jonathan Cameron <Jonathan.Cameron@huawei.com>

hw/i386/acpi: Use TYPE_PXB_BUS property acpi_uid for DSDT

Rather than relying on PCI internals, use the new acpi_property
to obtain the ACPI _UID values. These are still the same
as the PCI Bus num

hw/i386/acpi: Use TYPE_PXB_BUS property acpi_uid for DSDT

Rather than relying on PCI internals, use the new acpi_property
to obtain the ACPI _UID values. These are still the same
as the PCI Bus numbers so no functional change.

Suggested-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: "Huang, Ying" <ying.huang@intel.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20240916171017.1841767-9-Jonathan.Cameron@huawei.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

show more ...

12345678910>>...108