linux/arch
Michael Ellerman d976f6807e KVM: PPC: Book3S HV: Context switch AMR on Power9
kvmhv_p9_guest_entry() implements a fast-path guest entry for Power9
when guest and host are both running with the Radix MMU.

Currently in that path we don't save the host AMR (Authority Mask
Register) value, and we always restore 0 on return to the host. That
is OK at the moment because the AMR is not used for storage keys with
the Radix MMU.

However we plan to start using the AMR on Radix to prevent the kernel
from reading/writing to userspace outside of copy_to/from_user(). In
order to make that work we need to save/restore the AMR value.

We only restore the value if it is different from the guest value,
which is already in the register when we exit to the host. This should
mean we rarely need to actually restore the value when running a
modern Linux as a guest, because it will be using the same value as
us.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Tested-by: Russell Currey <ruscur@russell.cc>
2019-02-21 13:19:52 +11:00
..
alpha Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
arc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
arm Late reset controller changes for v5.0 2019-01-12 22:06:54 -08:00
arm64 ARM: SoC fixes 2019-01-14 10:34:14 +12:00
c6x arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
csky csky: fixup compile error with CPU 810. 2019-01-10 04:37:37 -08:00
h8300 arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
hexagon arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
ia64 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
m68k arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
microblaze arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
mips cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
nds32 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
nios2 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
openrisc arch/openrisc: Fix issues with access_ok() 2019-01-08 18:22:30 -08:00
parisc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
powerpc KVM: PPC: Book3S HV: Context switch AMR on Power9 2019-02-21 13:19:52 +11:00
riscv Fix a handful of audit-related issue 2019-01-07 08:45:47 -08:00
s390 Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
sh Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
sparc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
um Merge branch 'akpm' (patches from Andrew) 2019-01-05 09:16:18 -08:00
unicore32 arch: restore generic-y += shmparam.h for some architectures 2019-01-06 18:16:11 -08:00
x86 KVM fixes for 5.0-rc2 2019-01-12 10:39:43 -08:00
xtensa arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
.gitignore
Kconfig jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00