Thread (78 messages) 78 messages, 7 authors, 2016-12-09

Re: [RFC PATCH v3 04/20] x86: Handle reduction in physical address size with SME

From: Joerg Roedel <hidden>
Date: 2016-11-15 12:10:52
Also in: kvm, linux-efi, linux-iommu, linux-mm, lkml

On Wed, Nov 09, 2016 at 06:35:13PM -0600, Tom Lendacky wrote:
+/*
+ * AMD Secure Memory Encryption (SME) can reduce the size of the physical
+ * address space if it is enabled, even if memory encryption is not active.
+ * Adjust x86_phys_bits if SME is enabled.
+ */
+static void phys_bits_adjust(struct cpuinfo_x86 *c)
+{
Better call this function amd_sme_phys_bits_adjust(). This name makes it
clear at the call-site why it is there and what it does.
+	u32 eax, ebx, ecx, edx;
+	u64 msr;
+
+	if (c->x86_vendor != X86_VENDOR_AMD)
+		return;
+
+	if (c->extended_cpuid_level < 0x8000001f)
+		return;
+
+	/* Check for SME feature */
+	cpuid(0x8000001f, &eax, &ebx, &ecx, &edx);
+	if (!(eax & 0x01))
+		return;
Maybe add a comment here why you can't use cpu_has (yet).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help