diff options
author | Joerg Roedel <jroedel@suse.de> | 2020-09-07 16:15:37 +0300 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2020-09-08 00:00:20 +0300 |
commit | b57de6cd16395be1ebdaa9b489ffbf462bb585c4 (patch) | |
tree | 24169b5dddc82ac87771fec6d1b9f6818fc92879 /arch/x86/mm/mem_encrypt_identity.c | |
parent | 4b47cdbda6f1ad73b08dc7d497bac12b8f26ae0d (diff) | |
download | linux-b57de6cd16395be1ebdaa9b489ffbf462bb585c4.tar.xz |
x86/sev-es: Add SEV-ES Feature Detection
Add a sev_es_active() function for checking whether SEV-ES is enabled.
Also cache the value of MSR_AMD64_SEV at boot to speed up the feature
checking in the running code.
[ bp: Remove "!!" in sev_active() too. ]
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20200907131613.12703-37-joro@8bytes.org
Diffstat (limited to 'arch/x86/mm/mem_encrypt_identity.c')
-rw-r--r-- | arch/x86/mm/mem_encrypt_identity.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/mm/mem_encrypt_identity.c b/arch/x86/mm/mem_encrypt_identity.c index e2b0e2ac07bb..68d75379e06a 100644 --- a/arch/x86/mm/mem_encrypt_identity.c +++ b/arch/x86/mm/mem_encrypt_identity.c @@ -540,6 +540,9 @@ void __init sme_enable(struct boot_params *bp) if (!(msr & MSR_AMD64_SEV_ENABLED)) return; + /* Save SEV_STATUS to avoid reading MSR again */ + sev_status = msr; + /* SEV state cannot be controlled by a command line option */ sme_me_mask = me_mask; sev_enabled = true; |