qemu/hw
Peter Maydell 046164155a hw/intc/arm_gicv3: Set GICR_TYPER.Last correctly when nb_redist_regions > 1
The 'Last' bit in the GICR_TYPER GICv3 redistributor register is
supposed to be set to 1 if this is the last redistributor in a series
of contiguous redistributor pages.  Currently we set Last only for
the redistributor for CPU (num_cpu - 1).  This only works if there is
a single redistributor region; if there are multiple redistributor
regions then we need to set the Last bit for the last redistributor
in each region.

This doesn't cause any problems currently because only the KVM GICv3
supports multiple redistributor regions, and it ignores the value in
GICv3State::gicr_typer.  But we need to fix this before we can enable
support for multiple regions in the emulated GICv3.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2021-11-15 16:12:59 +00:00
..
9pfs
acpi
adc
alpha
arm
audio
avr
block
char
core
cpu
cris
display
dma
gpio
hppa
hyperv
i2c
i386
ide
input
intc hw/intc/arm_gicv3: Set GICR_TYPER.Last correctly when nb_redist_regions > 1 2021-11-15 16:12:59 +00:00
ipack
ipmi
isa
m68k
mem
microblaze
mips
misc
net
nios2
nubus
nvme
nvram
openrisc
pci
pci-bridge
pci-host
pcmcia
ppc
rdma
remote
riscv
rtc
rx
s390x
scsi
sd
sensor
sh4
smbios
sparc
sparc64
ssi
timer
tpm
tricore
usb
vfio
virtio
watchdog
xen
xenpv
xtensa
Kconfig
meson.build