diff options
author | Tom Lendacky <thomas.lendacky@amd.com> | 2017-10-20 10:30:46 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-11-07 09:35:55 -0500 |
commit | fcdcd6cdd98ff4d0cf876f863024a2fb0b491d41 (patch) | |
tree | ecfda2a3cec17141dccb467a026bf529e6aebd24 /arch/x86/realmode | |
parent | 682af54399b6111730aec0be63e5f6a3a3359a76 (diff) |
x86/realmode: Don't decrypt trampoline area under SEV
When SEV is active the trampoline area will need to be in encrypted
memory so only mark the area decrypted if SME is active.
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Tested-by: Borislav Petkov <bp@suse.de>
Cc: Laura Abbott <labbott@redhat.com>
Cc: kvm@vger.kernel.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Link: https://lkml.kernel.org/r/20171020143059.3291-5-brijesh.singh@amd.com
Diffstat (limited to 'arch/x86/realmode')
-rw-r--r-- | arch/x86/realmode/init.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c index ed84d3917a59..d10105825d57 100644 --- a/arch/x86/realmode/init.c +++ b/arch/x86/realmode/init.c | |||
@@ -64,9 +64,10 @@ static void __init setup_real_mode(void) | |||
64 | /* | 64 | /* |
65 | * If SME is active, the trampoline area will need to be in | 65 | * If SME is active, the trampoline area will need to be in |
66 | * decrypted memory in order to bring up other processors | 66 | * decrypted memory in order to bring up other processors |
67 | * successfully. | 67 | * successfully. This is not needed for SEV. |
68 | */ | 68 | */ |
69 | set_memory_decrypted((unsigned long)base, size >> PAGE_SHIFT); | 69 | if (sme_active()) |
70 | set_memory_decrypted((unsigned long)base, size >> PAGE_SHIFT); | ||
70 | 71 | ||
71 | memcpy(base, real_mode_blob, size); | 72 | memcpy(base, real_mode_blob, size); |
72 | 73 | ||