ppc: Fix rfi/rfid/hrfi/... emulation
commita2e71b28e832346409efc795ecd1f0a2bcb705a3
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 21 Jun 2016 21:48:46 +0000 (21 23:48 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 23 Jun 2016 02:42:25 +0000 (23 12:42 +1000)
tree015aea6878333312130241928512941e7060ae33
parentf682e9c244af7166225f4a50cc18ff296bb9d43e
ppc: Fix rfi/rfid/hrfi/... emulation

This reworks emulation of the various "rfi" variants. I removed
some masking bits that I couldn't make sense of, the only bit that
I am aware we should mask here is POW, the CPU's MSR mask should
take care of the rest.

This also fixes some problems when running 32-bit userspace under
a 64-bit kernel.

This patch broke 32bit OpenBIOS when run under a 970 cpu. A fix was
proposed here :

    https://www.coreboot.org/pipermail/openbios/2016-June/009452.html

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
[clg: updated the commit log with the reference of the openbios fix ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
[dwg: Remove hunk which disabled rfi on 64-bit CPUS.  The change was
 correct, but we need to fix OpenBIOS before applying it]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target-ppc/excp_helper.c
target-ppc/translate.c