qemu-patch-raspberry4/hw
Suraj Jitindar Singh 176dcceedd target/ppc/spapr: Clear partition table entry when allocating hash table
If we allocate a hash page table then we know that the guest won't be
using process tables, so set the partition table entry maintained for
the guest to zero. If this isn't done, then the guest radix bit will
remain set in the entry. This means that when the guest calls
H_REGISTER_PROCESS_TABLE there will be a mismatch between then flags
and the value in spapr->patb_entry, and the call will fail. The guest
will then panic:

Failed to register process table (rc=-4)
kernel BUG at arch/powerpc/platforms/pseries/lpar.c:959

The result being that it isn't possible to boot a hash guest on a P9
system.

Also fix a bug in the flags parsing in h_register_process_table() which
was introduced by the same patch, and simplify the handling to make it
less likely that errors will be introduced in the future. The effect
would have been setting the host radix bit LPCR_HR for a hash guest
using process tables, which currently isn't supported and so couldn't
have been triggered.

Fixes: 00fd075e18 "target/ppc/spapr: Set LPCR:HR when using Radix mode"

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Message-Id: <20190305022102.17610-1-sjitindarsingh@gmail.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-03-12 14:33:04 +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/spapr: Clear partition table entry when allocating hash table 2019-03-12 14:33:04 +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