]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/pseries/svm: Use shared memory for LPPACA structures
authorAnshuman Khandual <khandual@linux.vnet.ibm.com>
Tue, 20 Aug 2019 02:13:18 +0000 (23:13 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 29 Aug 2019 23:55:40 +0000 (09:55 +1000)
commitad9e2714ba8f5c91c650c02f46599323ed6dbf02
treea7add55ca321c68c3116de09762d567b9b7786f0
parent3280d6d385aad0cc83b46c175d7fc3744cc8e70b
powerpc/pseries/svm: Use shared memory for LPPACA structures

LPPACA structures need to be shared with the host. Hence they need to be in
shared memory. Instead of allocating individual chunks of memory for a
given structure from memblock, a contiguous chunk of memory is allocated
and then converted into shared memory. Subsequent allocation requests will
come from the contiguous chunk which will be always shared memory for all
structures.

While we are able to use a kmem_cache constructor for the Debug Trace Log,
LPPACAs are allocated very early in the boot process (before SLUB is
available) so we need to use a simpler scheme here.

Introduce helper is_svm_platform() which uses the S bit of the MSR to tell
whether we're running as a secure guest.

Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20190820021326.6884-9-bauerman@linux.ibm.com
arch/powerpc/include/asm/svm.h [new file with mode: 0644]
arch/powerpc/kernel/paca.c