On Wed, Sep 08, 2021 at 05:58:34PM -0500, Tom Lendacky wrote:
diff --git a/arch/x86/kernel/cc_platform.c b/arch/x86/kernel/cc_platform.c new file mode 100644 index 000000000000..3c9bacd3c3f3 --- /dev/null +++ b/arch/x86/kernel/cc_platform.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-only +/*
- Confidential Computing Platform Capability checks
- Copyright (C) 2021 Advanced Micro Devices, Inc.
- Author: Tom Lendacky thomas.lendacky@amd.com
- */
+#include <linux/export.h> +#include <linux/cc_platform.h> +#include <linux/mem_encrypt.h>
+bool cc_platform_has(enum cc_attr attr) +{
- if (sme_me_mask)
Why are you still checking the sme_me_mask here? AFAIR, we said that we'll do that only when the KVM folks come with a valid use case...
return amd_cc_platform_has(attr);
- return false;
+} +EXPORT_SYMBOL_GPL(cc_platform_has); diff --git a/arch/x86/mm/mem_encrypt.c b/arch/x86/mm/mem_encrypt.c index ff08dc463634..18fe19916bc3 100644 --- a/arch/x86/mm/mem_encrypt.c +++ b/arch/x86/mm/mem_encrypt.c @@ -20,6 +20,7 @@ #include <linux/bitops.h> #include <linux/dma-mapping.h> #include <linux/virtio_config.h> +#include <linux/cc_platform.h>
#include <asm/tlbflush.h> #include <asm/fixmap.h> @@ -389,6 +390,26 @@ bool noinstr sev_es_active(void) return sev_status & MSR_AMD64_SEV_ES_ENABLED; }
+bool amd_cc_platform_has(enum cc_attr attr) +{
- switch (attr) {
- case CC_ATTR_MEM_ENCRYPT:
return sme_me_mask != 0;
No need for the "!= 0"