xemu/hw
Cédric Le Goater fe9a9d527d ppc/xive: Force the Physical CAM line value to group mode
When an interrupt needs to be delivered, the XIVE interrupt controller
presenter scans the CAM lines of the thread interrupt contexts of the
HW threads of the chip to find a matching vCPU. The interrupt context
is composed of 4 different sets of registers: Physical, HV, OS and
User.

The encoding of the Physical CAM line depends on the mode in which the
interrupt controller is operating: CAM mode or block group mode.
Block group mode being the default configuration today on POWER9 and
the only one available on the next POWER10 generation, enforce this
encoding in the Physical CAM line :

    chip << 19 | 0000000 0 0001 thread (7Bit)

It fits the overall encoding of the NVT ids and simplifies the matching
algorithm in the presenter.

Fixes: d514c48d41 ("ppc/xive: hardwire the Physical CAM line of the thread context")
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20190630204601.30574-2-clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-07-02 09:43:58 +10:00
..
9pfs xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
acpi hw/acpi: extract acpi_add_rom_blob() 2019-06-16 16:16:52 -04:00
adc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
alpha Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
arm hw/arm: Correctly disable FPU/DSP for some ARMSSE-based boards 2019-06-17 15:12:25 +01:00
audio Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
block Xen queue 2019-07-01 13:03:51 +01:00
bt Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
char xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
core hw: Nuke hw_compat_4_0_1 and pc_compat_4_0_1 2019-06-21 13:25:29 +02:00
cpu Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
cris Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
display xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
dma dma/rc4030: Minor code style cleanup 2019-06-26 13:25:07 +02:00
gpio Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
hppa Supply missing header guards 2019-06-12 13:20:21 +02:00
hyperv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i2c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
i386 xen: Drop includes of xen/hvm/params.h 2019-06-24 10:42:30 +01:00
ide Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
input Supply missing header guards 2019-06-12 13:20:21 +02:00
intc ppc/xive: Force the Physical CAM line value to group mode 2019-07-02 09:43:58 +10:00
ipack Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ipmi Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
isa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
lm32 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
m68k Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mem Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
microblaze Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
mips hw/mips/gt64xxx_pci: Align the pci0-mem size 2019-06-26 13:23:27 +02:00
misc Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
moxie Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
net xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
nios2 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
nvram Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
openrisc Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-bridge Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-host q35: fix mmconfig and PCI0._CRS 2019-06-16 16:16:52 -04:00
pcmcia Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ppc spapr/xive: simplify spapr_irq_init_device() to remove the emulated init 2019-07-02 09:43:58 +10:00
rdma Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
riscv Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
s390x Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
scsi Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sd sd: Fix out-of-bounds assertions 2019-06-21 13:25:29 +02:00
semihosting semihosting: split console_out into string and char versions 2019-06-12 17:53:22 +01:00
sh4 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
smbios Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
sparc64 Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
ssi Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
timer Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tpm Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tricore Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
unicore32 target/unicore32: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
usb xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
vfio vfio/common: Introduce vfio_set_irq_signaling helper 2019-06-13 09:57:37 -06:00
virtio vhost: fix vhost_log size overflow during migration 2019-06-16 16:16:52 -04:00
watchdog Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
xen xen: Import other xen/io/*.h 2019-06-24 10:42:30 +01:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Kconfig semihosting: introduce CONFIG_SEMIHOSTING 2019-05-28 10:28:50 +01:00
Makefile.objs semihosting: move semihosting configuration into its own directory 2019-05-28 10:28:50 +01:00