ppc/hash64: Add proper real mode translation support
commit912acdf487a3c8c0083b904fdb917fe6d79f87a7
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 4 Jul 2016 21:37:08 +0000 (5 07:37 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Tue, 5 Jul 2016 04:31:08 +0000 (5 14:31 +1000)
treec866d8df7ab0f9f65c0a073f739abf3a8d23d6e6
parent949868633f0454715af1781c0f377413b6ab000e
ppc/hash64: Add proper real mode translation support

This adds proper support for translating real mode addresses based
on the combination of HV and LPCR bits. This handles HRMOR offset
for hypervisor real mode, and both RMA and VRMA modes for guest
real mode. PAPR mode adjusts the offsets appropriately to match the
RMA used in TCG, but we need to limit to the max supported by the
implementation (16G).

This includes some fixes by Cédric Le Goater <clg@kaod.org>

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[dwg: Adjusted for differences in my version of the prereq patches]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c
target-ppc/cpu.h
target-ppc/mmu-hash64.c
target-ppc/mmu-hash64.h
target-ppc/translate_init.c