An error occurred while fetching folder content.
KVM: arm64: Require in-kernel irqchip for PMU support
Christoffer Dall authored
commit 6fe407f2

 upstream.

If userspace creates a PMU for the VCPU, but doesn't create an in-kernel
irqchip, then we end up in a nasty path where we try to take an
uninitialized spinlock, which can lead to all sorts of breakages.

Luckily, QEMU always creates the VGIC before the PMU, so we can
establish this as ABI and check for the VGIC in the PMU init stage.
This can be relaxed at a later time if we want to support PMU with a
userspace irqchip.

Cc: Shannon Zhao <shannon.zhao@linaro.org>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
46848795
Name Last commit Last update
..
ABI documentation: drivers/core/of: fix name of of_node symlink
DocBook Merge tag 'doc-4.8-fixes' of git://git.lwn.net/linux
EDID drm: Add 800x600 (SVGA) screen resolution to the built-in EDIDs
PCI treewide: remove references to the now unnecessary DEFINE_PCI_DEVICE_TABLE
RCU Documentation: Fix spelling mistake
accounting taskstats: fix nl parsing in accounting/getdelays.c
acpi Merge branches 'acpi-bus', 'acpi-pci', 'acpica' and 'acpi-doc'
aoe aoe: remove do-nothing NAME="%k" term from example udev rules
arm bus: arm-ccn: Correct required arguments for XP PMU events
arm64 arm64: Document workaround for Cortex-A72 erratum #853709
auxdisplay Documentation: use subdir-y to avoid unnecessary built-in.o files
backlight backlight: lp855x_bl: support new LP8555 device
blackfin Docs: blackfin: Use new switch macro SAMPLE_IRQ_TIMER instead of IRQ_TIMER5
block doc: update block/queue-sysfs.txt entries
blockdev zram: cosmetic: cleanup documentation
bus-devices ARM: OMAP2+: gpmc: generic timing calculation
cdrom doc: fix broken references
cgroup-v1 Merge tag 'doc-4.8-fixes' of git://git.lwn.net/linux
cma cma: debug: document new debugfs interface
connector samples: connector: from Documentation to samples directory
console TTY:console: update document console.txt
cpu-freq cpufreq-stats: Minor documentation fix
cpuidle cpuidle: remove cpuidle_unregister_governor()
cris CRIS: Update documentation
crypto crypto: doc - Fix typo
development-process
device-mapper
devicetree
dmaengine
driver-model
early-userspace
extcon
fault-injection
fb
features
filesystems
firmware_class
fmc
fpga
frv
gpio
gpu
hid
hwmon
i2c
ia64
ide
iio
infiniband
input
ioctl
isdn
ja_JP
kbuild
kdump
ko_KR
laptops
leds
livepatch
locking
m68k
media
memory-devices
metag
mic
mips
misc-devices
mmc
mn10300
mtd
namespaces
netlabel
networking
nfc
nios2
nvdimm
nvmem
parisc
pcmcia
phy
platform
power
powerpc
pps
prctl
pti
ptp
rapidio
s390
scheduler
scsi
security
serial
sh
sound
sphinx-static
sphinx
spi
sysctl
target