summaryrefslogtreecommitdiffstats
path: root/include/hw/ppc/spapr.h
diff options
context:
space:
mode:
authorSuraj Jitindar Singh2019-03-05 03:21:02 +0100
committerDavid Gibson2019-03-12 04:33:04 +0100
commit176dcceedd084bc2db0a3e92123e2cfb453336e7 (patch)
treecc8029ed8ce4d94ea25b8bdc75e69eefe47bbe8d /include/hw/ppc/spapr.h
parentPPC: E500: Update u-boot to v2019.01 (diff)
downloadqemu-176dcceedd084bc2db0a3e92123e2cfb453336e7.tar.gz
qemu-176dcceedd084bc2db0a3e92123e2cfb453336e7.tar.xz
qemu-176dcceedd084bc2db0a3e92123e2cfb453336e7.zip
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>
Diffstat (limited to 'include/hw/ppc/spapr.h')
0 files changed, 0 insertions, 0 deletions