target/ppc: Allow privileged access to SPR_PCR
commit6b37554458a1e8cfe8f91ef0beac82e8de8f85bb
authorJoel Stanley <joel@jms.id.au>
Mon, 4 Jun 2018 08:45:13 +0000 (4 18:15 +0930)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 11 Jun 2018 23:33:52 +0000 (12 09:33 +1000)
tree29ef343f89fff5e692245b55d5e390434a783089
parent8fea70440eb0d095442de7e80d586a285cf96be5
target/ppc: Allow privileged access to SPR_PCR

The powerpc Linux kernel[1] and skiboot firmware[2] recently gained changes
that cause the Processor Compatibility Register (PCR) SPR to be cleared.

These changes cause Linux to fail to boot on the Qemu powernv machine
with an error:

 Trying to write privileged spr 338 (0x152) at 0000000030017f0c

With this patch Qemu makes this register available as a hypervisor
privileged register.

Note that bits set in this register disable features of the processor.
Currently the only register state that is supported is when the register
is zeroed (enable all features). This is sufficient for guests to
once again boot.

[1] https://lkml.kernel.org/r/20180518013742.24095-1-mikey@neuling.org
[2] https://patchwork.ozlabs.org/patch/915932/

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target/ppc/helper.h
target/ppc/misc_helper.c
target/ppc/translate_init.inc.c