xemu/hw
Suraj Jitindar Singh 7d050527e3 target/ppc: Implement large decrementer support for KVM
Implement support to allow KVM guests to take advantage of the large
decrementer introduced on POWER9 cpus.

To determine if the host can support the requested large decrementer
size, we check it matches that specified in the ibm,dec-bits device-tree
property. We also need to enable it in KVM by setting the LPCR_LD bit in
the LPCR. Note that to do this we need to try and set the bit, then read
it back to check the host allowed us to set it, if so we can use it but
if we were unable to set it the host cannot support it and we must not
use the large decrementer.

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20190301024317.22137-3-sjitindarsingh@gmail.com>
[dwg: Small style fixes]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-03-12 12:07:49 +11:00
..
9pfs virtio: express virtio dependencies with Kconfig 2019-03-07 21:45:53 +01:00
acpi i386-softmmu.mak: remove all CONFIG_* except boards definitions 2019-03-07 21:45:53 +01:00
adc kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
alpha - qtest fixes 2019-03-08 16:31:34 +00:00
arm - qtest fixes 2019-03-08 16:31:34 +00:00
audio i2c: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
block Pull request 2019-03-09 17:35:48 +00:00
bt kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
char virtio: express virtio dependencies with Kconfig 2019-03-07 21:45:53 +01:00
core kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
cpu kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
cris cris-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
display hw/display: Add basic ATI VGA emulation 2019-03-11 08:04:55 +01:00
dma isa: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
gpio i2c: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
hppa - qtest fixes 2019-03-08 16:31:34 +00:00
hyperv hyperv: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
i2c display: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
i386 update copyright notice 2019-03-11 16:33:49 +01:00
ide isa: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
input virtio: express virtio dependencies with Kconfig 2019-03-07 21:45:53 +01:00
intc - qtest fixes 2019-03-08 16:31:34 +00:00
ipack build: convert pci.mak to Kconfig 2019-03-07 21:45:53 +01:00
ipmi ipmi: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
isa isa: express SuperIO dependencies with Kconfig 2019-03-07 21:45:53 +01:00
lm32 - qtest fixes 2019-03-08 16:31:34 +00:00
m68k m68k-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
mem ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig 2019-03-07 21:45:53 +01:00
microblaze - qtest fixes 2019-03-08 16:31:34 +00:00
mips mips_fulong2e: Add on-board graphics chip 2019-03-11 08:04:55 +01:00
misc sparc-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
moxie moxie-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
net - qtest fixes 2019-03-08 16:31:34 +00:00
nios2 nios2-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
nvram i2c: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
openrisc or1k-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
pci build: convert pci.mak to Kconfig 2019-03-07 21:45:53 +01:00
pci-bridge i386-softmmu.mak: remove all CONFIG_* except boards definitions 2019-03-07 21:45:53 +01:00
pci-host ppc: Express dependencies of the Mac machines with kconfig 2019-03-07 21:46:19 +01:00
pcmcia kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
ppc target/ppc: Implement large decrementer support for KVM 2019-03-12 12:07:49 +11:00
rdma hw/rdma: modify struct initialization 2019-01-19 11:01:33 +02:00
riscv riscv/Kconfig: enable PCI_DEVICES 2019-03-11 16:33:49 +01:00
s390x s390x: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
scsi lsi: 810/895A are always little endian 2019-03-11 16:33:49 +01:00
sd sd: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
sh4 - qtest fixes 2019-03-08 16:31:34 +00:00
smbios kconfig: introduce kconfig files 2019-03-07 21:45:53 +01:00
sparc sparc-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
sparc64 sparc64-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
ssi ssi: express dependencies with kconfig 2019-03-07 21:45:53 +01:00
timer i386-softmmu.mak: remove all CONFIG_* except boards definitions 2019-03-07 21:45:53 +01:00
tpm tpm: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
tricore - qtest fixes 2019-03-08 16:31:34 +00:00
unicore32 unicore32-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
usb - qtest fixes 2019-03-08 16:31:34 +00:00
vfio vfio/spapr: Rename local systempagesize variable 2019-03-12 10:50:59 +11:00
virtio virtio: add class_size to VirtioPCIDeviceTypeInfo 2019-03-11 08:04:12 +01:00
watchdog ptimer: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
xen xen: fix xen-bus state model to allow frontend re-connection 2019-02-04 11:04:49 +00:00
xenpv xen: Replace few mentions of xend by libxl 2019-01-14 13:45:40 +00:00
xtensa xtensa-softmmu.mak: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
Kconfig ptimer: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
Makefile.objs i2c: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00