qemu/hw
Frederic Barrat 177835304b pnv/xive2: Check TIMA special ops against a dedicated array for P10
Accessing the TIMA from some specific ring/offset combination can
trigger a special operation, with or without side effects. It is
implemented in qemu with an array of special operations to compare
accesses against. Since the presenter on P10 is pretty similar to P9,
we had the full array defined for P9 and we just had a special case
for P10 to treat one access differently. With a recent change,
6f2cbd133d ("pnv/xive2: Handle TIMA access through all ports"), we
now ignore some of the bits of the TIMA address, but that patch
managed to botch the detection of the special case for P10.

To clean that up, this patch introduces a full array of special ops to
be used for P10. The code to detect a special access is common with
P9, only the array of operations differs. The presenter can pick the
correct array of special ops based on its configuration introduced in
a previous patch.

Fixes: Coverity CID 1512997, 1512998
Fixes: 6f2cbd133d ("pnv/xive2: Handle TIMA access through all ports")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
2023-06-25 22:41:30 +02:00
..
9pfs meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
acpi meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
adc meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
alpha hw/alpha: Use MachineClass->default_nic in the alpha machine 2023-05-26 09:10:49 +02:00
arm hw/arm/sbsa-ref: add ITS support in SBSA GIC 2023-06-23 11:29:38 +01:00
audio meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
avr Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
block meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
char meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
core meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
cpu meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
cris
cxl meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
display meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
dma meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
gpio meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
hppa target/hppa: Provide qemu version via fw_cfg to firmware 2023-06-24 13:39:48 +02:00
hyperv win32: replace closesocket() with close() wrapper 2023-03-13 15:39:31 +04:00
i2c meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
i386 meson: Replace CONFIG_SOFTMMU -> CONFIG_SYSTEM_ONLY 2023-06-20 10:01:30 +02:00
ide meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
input meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
intc pnv/xive2: Check TIMA special ops against a dedicated array for P10 2023-06-25 22:41:30 +02:00
ipack meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
ipmi meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
isa meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
loongarch hw/loongarch: Supplement cpu topology arguments 2023-06-16 17:58:46 +08:00
m68k q800: move macfb device to Q800MachineState 2023-06-22 09:30:11 +02:00
mem meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
microblaze hw/char/xilinx_uartlite: Open-code xilinx_uartlite_create() 2023-02-27 13:27:05 +00:00
mips hw/mips/malta: Fix the malta machine on big endian hosts 2023-06-05 20:48:34 +02:00
misc mac_via: fix rtc command decoding for the PRAM seconds registers 2023-06-22 09:31:18 +02:00
net hw/net/dp8393x.c: move TYPE_DP8393X and dp8393xState into dp8393x.h 2023-06-22 09:25:40 +02:00
nios2 hw/nios2: set machine->fdt in nios2_load_dtb() 2022-10-17 16:15:10 -03:00
nubus meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
nvme meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
nvram meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
openrisc *: Add missing includes of qemu/error-report.h 2023-03-22 15:06:57 +00:00
pci meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
pci-bridge meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
pci-host ppc/pnv/pci: Clean up error messages 2023-06-25 22:41:30 +02:00
pcmcia meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
ppc spapr: TCG allow up to 8-thread SMT on POWER8 and newer CPUs 2023-06-25 22:41:30 +02:00
rdma meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
remote meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
riscv riscv/virt: Support using pflash via -blockdev option 2023-06-13 17:39:45 +10:00
rtc meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
rx bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
s390x hw/s390x: Use MachineClass->default_nic in the s390x machine 2023-05-22 09:44:48 +02:00
scsi meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sd meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sensor meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sh4 hw/sh4: Use MachineClass->default_nic in the sh4 r2d machine 2023-05-22 09:44:48 +02:00
smbios meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
sparc bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
sparc64 hw/char/parallel-isa: Export struct ISAParallelState 2023-06-13 11:28:58 +02:00
ssi meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
timer meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
tpm meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
tricore
usb meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
vfio hw/vfio: Add number of dirty pages to vfio_get_dirty_bitmap tracepoint 2023-06-13 11:28:58 +02:00
virtio meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
watchdog meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
xen meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
xenpv hw/xenpv: Initialize Xen backend operations 2023-03-24 14:52:14 +00:00
xtensa hw/xtensa: Use MachineClass->default_nic in the virt machine 2023-05-26 09:10:49 +02:00
Kconfig xen: add CONFIG_XEN_BUS and CONFIG_XEN_EMU options for Xen emulation 2023-03-01 08:22:49 +00:00
meson.build hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00