[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240531043038.3370793-18-nikunj@amd.com>
Date: Fri, 31 May 2024 10:00:31 +0530
From: Nikunj A Dadhania <nikunj@....com>
To: <linux-kernel@...r.kernel.org>, <thomas.lendacky@....com>, <bp@...en8.de>,
<x86@...nel.org>, <kvm@...r.kernel.org>
CC: <mingo@...hat.com>, <tglx@...utronix.de>, <dave.hansen@...ux.intel.com>,
<pgonda@...gle.com>, <seanjc@...gle.com>, <pbonzini@...hat.com>,
<nikunj@....com>
Subject: [PATCH v9 17/24] x86/cc: Add CC_ATTR_GUEST_SECURE_TSC
Add confidential compute platform attribute CC_ATTR_GUEST_SECURE_TSC that
can be used by the guest to query whether the Secure TSC feature is
active.
Signed-off-by: Nikunj A Dadhania <nikunj@....com>
---
include/linux/cc_platform.h | 8 ++++++++
arch/x86/coco/core.c | 3 +++
2 files changed, 11 insertions(+)
diff --git a/include/linux/cc_platform.h b/include/linux/cc_platform.h
index 60693a145894..57ec5c63277e 100644
--- a/include/linux/cc_platform.h
+++ b/include/linux/cc_platform.h
@@ -98,6 +98,14 @@ enum cc_attr {
* enabled to run SEV-SNP guests.
*/
CC_ATTR_HOST_SEV_SNP,
+
+ /**
+ * @CC_ATTR_GUEST_SECURE_TSC: Secure TSC is active.
+ *
+ * The platform/OS is running as a guest/virtual machine and actively
+ * using AMD SEV-SNP Secure TSC feature.
+ */
+ CC_ATTR_GUEST_SECURE_TSC,
};
#ifdef CONFIG_ARCH_HAS_CC_PLATFORM
diff --git a/arch/x86/coco/core.c b/arch/x86/coco/core.c
index b31ef2424d19..df981e3ba80c 100644
--- a/arch/x86/coco/core.c
+++ b/arch/x86/coco/core.c
@@ -101,6 +101,9 @@ static bool noinstr amd_cc_platform_has(enum cc_attr attr)
case CC_ATTR_HOST_SEV_SNP:
return cc_flags.host_sev_snp;
+ case CC_ATTR_GUEST_SECURE_TSC:
+ return sev_status & MSR_AMD64_SNP_SECURE_TSC;
+
default:
return false;
}
--
2.34.1
Powered by blists - more mailing lists