[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200911192601.9591-1-krish.sadhukhan@oracle.com>
Date: Fri, 11 Sep 2020 19:25:57 +0000
From: Krish Sadhukhan <krish.sadhukhan@...cle.com>
To: kvm@...r.kernel.org
Cc: pbonzini@...hat.com, jmattson@...gle.com, tglx@...utronix.de,
mingo@...hat.com, bp@...en8.de, x86@...nel.org,
sean.j.christopherson@...el.com, vkuznets@...hat.com,
wanpengli@...cent.com, joro@...tes.org,
dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
linux-kernel@...r.kernel.org, hpa@...or.com
Subject: [PATCH 0/4 v3] x86: AMD: Don't flush cache if hardware enforces cache coherency across encryption domains
In some hardware implementations, coherency between the encrypted and
unencrypted mappings of the same physical page is enforced. In such a system,
it is not required for software to flush the page from all CPU caches in the
system prior to changing the value of the C-bit for a page. This hardware-
enforced cache coherency is indicated by EAX[10] in CPUID leaf 0x8000001f.
Add this as a CPUID feature and skip flushing caches if the feature is present.
v2 -> v3:
Patch# 2: Moves the addition of the CPUID feature from
early_detect_mem_encrypt() to scattered.c.
Patch# 3,4: These two are the split of patch# 3 from v2. Patch# 3
is for non[PATCH 0/4 v3] x86: AMD: Don't flush encrypted pages if hardware enforces cache coherency-SEV encryptions while patch#4 is for SEV
encryptions.
[PATCH 1/4 v3] x86: AMD: Replace numeric value for SME CPUID leaf with a
[PATCH 2/4 v3] x86: AMD: Add hardware-enforced cache coherency as a
[PATCH 3/4 v3] x86: AMD: Don't flush cache if hardware enforces cache
[PATCH 4/4 v3] KVM: SVM: Don't flush cache if hardware enforces cache
arch/x86/boot/compressed/mem_encrypt.S | 5 +++--
arch/x86/include/asm/cpufeatures.h | 6 ++++++
arch/x86/kernel/cpu/amd.c | 2 +-
arch/x86/kernel/cpu/scattered.c | 5 +++--
arch/x86/kvm/cpuid.c | 2 +-
arch/x86/kvm/svm/sev.c | 3 ++-
arch/x86/kvm/svm/svm.c | 4 ++--
arch/x86/mm/mem_encrypt_identity.c | 4 ++--
arch/x86/mm/pat/set_memory.c | 2 +-
9 files changed, 21 insertions(+), 12 deletions(-)
Krish Sadhukhan (4):
x86: AMD: Replace numeric value for SME CPUID leaf with a #define
x86: AMD: Add hardware-enforced cache coherency as a CPUID feature
x86: AMD: Don't flush cache if hardware enforces cache coherency across en
cryption domnains
KVM: SVM: Don't flush cache if hardware enforces cache coherency across en
cryption domains
Powered by blists - more mailing lists