All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brijesh Singh <brijesh.singh@amd.com>
To: <simon.guinot@sequanux.org>, <linux-efi@vger.kernel.org>,
	<brijesh.singh@amd.com>, <kvm@vger.kernel.org>,
	<rkrcmar@redhat.com>, <matt@codeblueprint.co.uk>,
	<linux-pci@vger.kernel.org>, <linus.walleij@linaro.org>,
	<gary.hook@amd.com>, <linux-mm@kvack.org>,
	<paul.gortmaker@windriver.com>, <hpa@zytor.com>, <cl@linux.com>,
	<dan.j.williams@intel.com>, <aarcange@redhat.com>,
	<sfr@canb.auug.org.au>, <andriy.shevchenko@linux.intel.com>,
	<herbert@gondor.apana.org.au>, <bhe@redhat.com>,
	<xemul@parallels.com>, <joro@8bytes.org>, <x86@kernel.org>,
	<peterz@infradead.org>, <piotr.luc@intel.com>, <mingo@redhat.com>,
	<msalter@redhat.com>, <ross.zwisler@linux.intel.com>,
	<bp@suse.de>, <dyoung@redhat.com>, <thomas.lendacky@amd.com>,
	<jroedel@suse.de>, <keescook@chromium.org>, <arnd@arndb.de>,
	<toshi
Subject: [RFC PATCH v2 18/32] kvm: svm: Use the hardware provided GPA instead of page walk
Date: Thu, 2 Mar 2017 10:16:05 -0500	[thread overview]
Message-ID: <148846776540.2349.3123530065053870721.stgit__48135.5423843071$1488470085$gmane$org@brijesh-build-machine> (raw)
In-Reply-To: <148846752022.2349.13667498174822419498.stgit@brijesh-build-machine>

From: Tom Lendacky <thomas.lendacky@amd.com>

When a guest causes a NPF which requires emulation, KVM sometimes walks
the guest page tables to translate the GVA to a GPA. This is unnecessary
most of the time on AMD hardware since the hardware provides the GPA in
EXITINFO2.

The only exception cases involve string operations involving rep or
operations that use two memory locations. With rep, the GPA will only be
the value of the initial NPF and with dual memory locations we won't know
which memory address was translated into EXITINFO2.

Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
---
 arch/x86/include/asm/kvm_emulate.h |    1 +
 arch/x86/include/asm/kvm_host.h    |    3 ++
 arch/x86/kvm/emulate.c             |   20 +++++++++++++---
 arch/x86/kvm/svm.c                 |    2 ++
 arch/x86/kvm/x86.c                 |   45 ++++++++++++++++++++++++++++--------
 5 files changed, 57 insertions(+), 14 deletions(-)

diff --git a/arch/x86/include/asm/kvm_emulate.h b/arch/x86/include/asm/kvm_emulate.h
index e9cd7be..3e8c287 100644
--- a/arch/x86/include/asm/kvm_emulate.h
+++ b/arch/x86/include/asm/kvm_emulate.h
@@ -441,5 +441,6 @@ int emulator_task_switch(struct x86_emulate_ctxt *ctxt,
 int emulate_int_real(struct x86_emulate_ctxt *ctxt, int irq);
 void emulator_invalidate_register_cache(struct x86_emulate_ctxt *ctxt);
 void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt);
+bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt);
 
 #endif /* _ASM_X86_KVM_X86_EMULATE_H */
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 37326b5..bff1f15 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -668,6 +668,9 @@ struct kvm_vcpu_arch {
 
 	int pending_ioapic_eoi;
 	int pending_external_vector;
+
+	/* GPA available (AMD only) */
+	bool gpa_available;
 };
 
 struct kvm_lpage_info {
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index cedbba0..45c7306 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -173,6 +173,7 @@
 #define NearBranch  ((u64)1 << 52)  /* Near branches */
 #define No16	    ((u64)1 << 53)  /* No 16 bit operand */
 #define IncSP       ((u64)1 << 54)  /* SP is incremented before ModRM calc */
+#define TwoMemOp    ((u64)1 << 55)  /* Instruction has two memory operand */
 
 #define DstXacc     (DstAccLo | SrcAccHi | SrcWrite)
 
@@ -4298,7 +4299,7 @@ static const struct opcode group1[] = {
 };
 
 static const struct opcode group1A[] = {
-	I(DstMem | SrcNone | Mov | Stack | IncSP, em_pop), N, N, N, N, N, N, N,
+	I(DstMem | SrcNone | Mov | Stack | IncSP | TwoMemOp, em_pop), N, N, N, N, N, N, N,
 };
 
 static const struct opcode group2[] = {
@@ -4336,7 +4337,7 @@ static const struct opcode group5[] = {
 	I(SrcMemFAddr | ImplicitOps,		em_call_far),
 	I(SrcMem | NearBranch,			em_jmp_abs),
 	I(SrcMemFAddr | ImplicitOps,		em_jmp_far),
-	I(SrcMem | Stack,			em_push), D(Undefined),
+	I(SrcMem | Stack | TwoMemOp,		em_push), D(Undefined),
 };
 
 static const struct opcode group6[] = {
@@ -4556,8 +4557,8 @@ static const struct opcode opcode_table[256] = {
 	/* 0xA0 - 0xA7 */
 	I2bv(DstAcc | SrcMem | Mov | MemAbs, em_mov),
 	I2bv(DstMem | SrcAcc | Mov | MemAbs | PageTable, em_mov),
-	I2bv(SrcSI | DstDI | Mov | String, em_mov),
-	F2bv(SrcSI | DstDI | String | NoWrite, em_cmp_r),
+	I2bv(SrcSI | DstDI | Mov | String | TwoMemOp, em_mov),
+	F2bv(SrcSI | DstDI | String | NoWrite | TwoMemOp, em_cmp_r),
 	/* 0xA8 - 0xAF */
 	F2bv(DstAcc | SrcImm | NoWrite, em_test),
 	I2bv(SrcAcc | DstDI | Mov | String, em_mov),
@@ -5671,3 +5672,14 @@ void emulator_writeback_register_cache(struct x86_emulate_ctxt *ctxt)
 {
 	writeback_registers(ctxt);
 }
+
+bool emulator_can_use_gpa(struct x86_emulate_ctxt *ctxt)
+{
+	if (ctxt->rep_prefix && (ctxt->d & String))
+		return false;
+
+	if (ctxt->d & TwoMemOp)
+		return false;
+
+	return true;
+}
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 36d61ff..b581499 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -4184,6 +4184,8 @@ static int handle_exit(struct kvm_vcpu *vcpu)
 
 	trace_kvm_exit(exit_code, vcpu, KVM_ISA_SVM);
 
+	vcpu->arch.gpa_available = (exit_code == SVM_EXIT_NPF);
+
 	if (!is_cr_intercept(svm, INTERCEPT_CR0_WRITE))
 		vcpu->arch.cr0 = svm->vmcb->save.cr0;
 	if (npt_enabled)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 9e6a593..2099df8 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4465,6 +4465,21 @@ int kvm_write_guest_virt_system(struct x86_emulate_ctxt *ctxt,
 }
 EXPORT_SYMBOL_GPL(kvm_write_guest_virt_system);
 
+static int vcpu_is_mmio_gpa(struct kvm_vcpu *vcpu, unsigned long gva,
+			    gpa_t gpa, bool write)
+{
+	/* For APIC access vmexit */
+	if ((gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE)
+		return 1;
+
+	if (vcpu_match_mmio_gpa(vcpu, gpa)) {
+		trace_vcpu_match_mmio(gva, gpa, write, true);
+		return 1;
+	}
+
+	return 0;
+}
+
 static int vcpu_mmio_gva_to_gpa(struct kvm_vcpu *vcpu, unsigned long gva,
 				gpa_t *gpa, struct x86_exception *exception,
 				bool write)
@@ -4491,16 +4506,7 @@ static int vcpu_mmio_gva_to_gpa(struct kvm_vcpu *vcpu, unsigned long gva,
 	if (*gpa == UNMAPPED_GVA)
 		return -1;
 
-	/* For APIC access vmexit */
-	if ((*gpa & PAGE_MASK) == APIC_DEFAULT_PHYS_BASE)
-		return 1;
-
-	if (vcpu_match_mmio_gpa(vcpu, *gpa)) {
-		trace_vcpu_match_mmio(gva, *gpa, write, true);
-		return 1;
-	}
-
-	return 0;
+	return vcpu_is_mmio_gpa(vcpu, gva, *gpa, write);
 }
 
 int emulator_write_phys(struct kvm_vcpu *vcpu, gpa_t gpa,
@@ -4597,6 +4603,22 @@ static int emulator_read_write_onepage(unsigned long addr, void *val,
 	int handled, ret;
 	bool write = ops->write;
 	struct kvm_mmio_fragment *frag;
+	struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
+
+	/*
+	 * If the exit was due to a NPF we may already have a GPA.
+	 * If the GPA is present, use it to avoid the GVA to GPA table walk.
+	 * Note, this cannot be used on string operations since string
+	 * operation using rep will only have the initial GPA from the NPF
+	 * occurred.
+	 */
+	if (vcpu->arch.gpa_available &&
+	    emulator_can_use_gpa(ctxt) &&
+	    vcpu_is_mmio_gpa(vcpu, addr, exception->address, write) &&
+	    (addr & ~PAGE_MASK) == (exception->address & ~PAGE_MASK)) {
+		gpa = exception->address;
+		goto mmio;
+	}
 
 	ret = vcpu_mmio_gva_to_gpa(vcpu, addr, &gpa, exception, write);
 
@@ -5613,6 +5635,9 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu,
 	}
 
 restart:
+	/* Save the faulting GPA (cr2) in the address field */
+	ctxt->exception.address = cr2;
+
 	r = x86_emulate_insn(ctxt);
 
 	if (r == EMULATION_INTERCEPTED)

  parent reply	other threads:[~2017-03-02 15:52 UTC|newest]

Thread overview: 423+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-02 15:12 [RFC PATCH v2 00/32] x86: Secure Encrypted Virtualization (AMD) Brijesh Singh
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` [RFC PATCH v2 01/32] x86: Add the Secure Encrypted Virtualization CPU feature Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-03 16:59   ` Borislav Petkov
2017-03-03 16:59     ` Borislav Petkov
2017-03-03 16:59     ` Borislav Petkov
2017-03-03 21:01     ` Brijesh Singh
2017-03-03 21:01       ` Brijesh Singh
2017-03-03 21:01       ` Brijesh Singh
2017-03-03 21:01       ` Brijesh Singh
2017-03-04 10:11       ` Borislav Petkov
2017-03-04 10:11         ` Borislav Petkov
2017-03-04 10:11         ` Borislav Petkov
2017-03-06 18:11         ` Brijesh Singh
2017-03-06 18:11           ` Brijesh Singh
2017-03-06 18:11           ` Brijesh Singh
2017-03-06 18:11           ` Brijesh Singh
2017-03-06 20:54           ` Borislav Petkov
2017-03-06 20:54             ` Borislav Petkov
2017-03-06 20:54             ` Borislav Petkov
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` [RFC PATCH v2 02/32] x86: Secure Encrypted Virtualization (SEV) support Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-07 11:19   ` Borislav Petkov
2017-03-07 11:19     ` Borislav Petkov
2017-03-07 11:19     ` Borislav Petkov
2017-03-08 15:06   ` Borislav Petkov
2017-03-08 15:06     ` Borislav Petkov
2017-03-08 15:06     ` Borislav Petkov
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` [RFC PATCH v2 03/32] KVM: SVM: prepare for new bit definition in nested_ctl Brijesh Singh
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12 ` [RFC PATCH v2 04/32] KVM: SVM: Add SEV feature definitions to KVM Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-07  0:50   ` Borislav Petkov
2017-03-07  0:50     ` Borislav Petkov
2017-03-07  0:50     ` Borislav Petkov
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:12 ` [RFC PATCH v2 05/32] x86: Use encrypted access of BOOT related data with SEV Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-02 15:12   ` Brijesh Singh
2017-03-07 11:09   ` Borislav Petkov
2017-03-07 11:09     ` Borislav Petkov
2017-03-07 11:09     ` Borislav Petkov
2017-03-16 19:03     ` Tom Lendacky
2017-03-16 19:03       ` Tom Lendacky
2017-03-16 19:03       ` Tom Lendacky
2017-03-16 19:03       ` Tom Lendacky
2017-03-02 15:12 ` Brijesh Singh
2017-03-02 15:13 ` [RFC PATCH v2 06/32] x86/pci: Use memremap when walking setup data Brijesh Singh
2017-03-02 15:13 ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-03 20:42   ` Bjorn Helgaas
2017-03-03 20:42     ` Bjorn Helgaas
2017-03-03 20:42     ` Bjorn Helgaas
2017-03-03 21:15     ` Tom Lendacky
2017-03-03 21:15       ` Tom Lendacky
2017-03-03 21:15       ` Tom Lendacky
2017-03-03 21:15       ` Tom Lendacky
2017-03-07  0:03       ` Bjorn Helgaas
2017-03-07  0:03         ` Bjorn Helgaas
2017-03-07  0:03         ` Bjorn Helgaas
2017-03-13 20:08         ` Tom Lendacky
2017-03-13 20:08           ` Tom Lendacky
2017-03-13 20:08           ` Tom Lendacky
2017-03-13 20:08           ` Tom Lendacky
2017-03-02 15:13 ` [RFC PATCH v2 07/32] x86/efi: Access EFI data as encrypted when SEV is active Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-07 11:57   ` Borislav Petkov
2017-03-07 11:57     ` Borislav Petkov
2017-03-07 11:57     ` Borislav Petkov
2017-03-07 11:57     ` Borislav Petkov
2017-03-02 15:13 ` Brijesh Singh
2017-03-02 15:13 ` [RFC PATCH v2 08/32] x86: Use PAGE_KERNEL protection for ioremap of memory page Brijesh Singh
2017-03-02 15:13 ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-07 14:59   ` Borislav Petkov
2017-03-07 14:59     ` Borislav Petkov
2017-03-07 14:59     ` Borislav Petkov
2017-03-16 20:04     ` Tom Lendacky
2017-03-16 20:04       ` Tom Lendacky
2017-03-16 20:04       ` Tom Lendacky
2017-03-16 20:04       ` Tom Lendacky
2017-03-17 14:32       ` Tom Lendacky
2017-03-17 14:32         ` Tom Lendacky
2017-03-17 14:32         ` Tom Lendacky
2017-03-17 14:32         ` Tom Lendacky
2017-03-17 14:55         ` Tom Lendacky
2017-03-17 14:55           ` Tom Lendacky
2017-03-17 14:55           ` Tom Lendacky
2017-03-02 15:13 ` [RFC PATCH v2 09/32] x86: Change early_ioremap to early_memremap for BOOT data Brijesh Singh
2017-03-02 15:13 ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-02 15:13   ` Brijesh Singh
2017-03-08  8:46   ` Borislav Petkov
2017-03-08  8:46     ` Borislav Petkov
2017-03-08  8:46     ` Borislav Petkov
2017-03-02 15:14 ` [RFC PATCH v2 10/32] x86: DMA support for SEV memory encryption Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-08 10:56   ` Borislav Petkov
2017-03-08 10:56     ` Borislav Petkov
2017-03-08 10:56     ` Borislav Petkov
2017-03-02 15:14 ` Brijesh Singh
2017-03-02 15:14 ` [RFC PATCH v2 11/32] x86: Unroll string I/O when SEV is active Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14 ` Brijesh Singh
2017-03-02 15:14 ` [RFC PATCH v2 12/32] x86: Add early boot support when running with SEV active Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-02 15:14   ` Brijesh Singh
2017-03-09 14:07   ` Borislav Petkov
2017-03-09 14:07     ` Borislav Petkov
2017-03-09 14:07     ` Borislav Petkov
2017-03-09 16:13     ` Paolo Bonzini
2017-03-09 16:13       ` Paolo Bonzini
2017-03-09 16:13       ` Paolo Bonzini
2017-03-09 16:29       ` Borislav Petkov
2017-03-09 16:29         ` Borislav Petkov
2017-03-09 16:29         ` Borislav Petkov
2017-03-10 16:35         ` Brijesh Singh
2017-03-10 16:35           ` Brijesh Singh
2017-03-10 16:35           ` Brijesh Singh
2017-03-10 16:35           ` Brijesh Singh
2017-03-16 10:16           ` Borislav Petkov
2017-03-16 10:16             ` Borislav Petkov
2017-03-16 10:16             ` Borislav Petkov
2017-03-16 10:16             ` Borislav Petkov
2017-03-16 14:28             ` Tom Lendacky
2017-03-16 14:28               ` Tom Lendacky
2017-03-16 14:28               ` Tom Lendacky
2017-03-16 14:28               ` Tom Lendacky
2017-03-16 15:09               ` Borislav Petkov
2017-03-16 15:09                 ` Borislav Petkov
2017-03-16 15:09                 ` Borislav Petkov
2017-03-16 16:11                 ` Tom Lendacky
2017-03-16 16:11                   ` Tom Lendacky
2017-03-16 16:11                   ` Tom Lendacky
2017-03-16 16:11                   ` Tom Lendacky
2017-03-16 16:29                   ` Borislav Petkov
2017-03-16 16:29                     ` Borislav Petkov
2017-03-16 16:29                     ` Borislav Petkov
2017-03-02 15:14 ` Brijesh Singh
2017-03-02 15:15 ` [RFC PATCH v2 13/32] KVM: SVM: Enable SEV by setting the SEV_ENABLE CPU feature Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-09 19:29   ` Borislav Petkov
2017-03-09 19:29     ` Borislav Petkov
2017-03-09 19:29     ` Borislav Petkov
2017-03-02 15:15 ` Brijesh Singh
2017-03-02 15:15 ` [RFC PATCH v2 14/32] x86: mm: Provide support to use memblock when spliting large pages Brijesh Singh
2017-03-02 15:15 ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-10 11:06   ` Borislav Petkov
2017-03-10 11:06     ` Borislav Petkov
2017-03-10 11:06     ` Borislav Petkov
2017-03-10 22:41     ` Brijesh Singh
2017-03-10 22:41       ` Brijesh Singh
2017-03-10 22:41       ` Brijesh Singh
2017-03-10 22:41       ` Brijesh Singh
2017-03-16 13:15       ` Paolo Bonzini
2017-03-16 13:15         ` Paolo Bonzini
2017-03-16 18:28       ` Borislav Petkov
2017-03-16 18:28         ` Borislav Petkov
2017-03-16 18:28         ` Borislav Petkov
2017-03-16 22:25         ` Paolo Bonzini
2017-03-16 22:25           ` Paolo Bonzini
2017-03-16 22:25           ` Paolo Bonzini
2017-03-17 10:17           ` Borislav Petkov
2017-03-17 10:17             ` Borislav Petkov
2017-03-17 10:17             ` Borislav Petkov
2017-03-17 10:47             ` Paolo Bonzini
2017-03-17 10:47               ` Paolo Bonzini
2017-03-17 10:56               ` Borislav Petkov
2017-03-17 10:56                 ` Borislav Petkov
2017-03-17 10:56                 ` Borislav Petkov
2017-03-17 11:03                 ` Paolo Bonzini
2017-03-17 11:03                   ` Paolo Bonzini
2017-03-17 11:03                   ` Paolo Bonzini
2017-03-17 11:33                   ` Borislav Petkov
2017-03-17 11:33                     ` Borislav Petkov
2017-03-17 11:33                     ` Borislav Petkov
2017-03-17 14:45                     ` Paolo Bonzini
2017-03-17 14:45                       ` Paolo Bonzini
2017-03-17 14:45                       ` Paolo Bonzini
     [not found]                       ` <b516a873-029a-b20a-3c43-d8bf4a200cb7-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2017-03-18 16:37                         ` Borislav Petkov
2017-03-18 16:37                           ` Borislav Petkov
2017-03-18 16:37                           ` Borislav Petkov
2017-03-18 16:37                           ` Borislav Petkov
2017-04-06 14:05             ` Brijesh Singh
2017-04-06 14:05               ` Brijesh Singh
2017-04-06 14:05               ` Brijesh Singh
2017-04-06 14:05               ` Brijesh Singh
2017-04-06 17:25               ` Borislav Petkov
2017-04-06 17:25                 ` Borislav Petkov
2017-04-06 17:25                 ` Borislav Petkov
2017-04-06 17:25                 ` Borislav Petkov
2017-04-06 18:37                 ` Brijesh Singh
2017-04-06 18:37                   ` Brijesh Singh
2017-04-06 18:37                   ` Brijesh Singh
2017-04-06 18:37                   ` Brijesh Singh
2017-04-07 11:33                   ` Borislav Petkov
2017-04-07 11:33                     ` Borislav Petkov
2017-04-07 11:33                     ` Borislav Petkov
2017-04-07 11:33                     ` Borislav Petkov
2017-04-07 14:50                     ` Brijesh Singh
2017-04-07 14:50                       ` Brijesh Singh
2017-04-07 14:50                       ` Brijesh Singh
2017-04-07 14:50                       ` Brijesh Singh
2017-03-16 12:28   ` Paolo Bonzini
2017-03-16 12:28   ` Paolo Bonzini
2017-03-16 12:28     ` Paolo Bonzini
2017-03-16 12:28     ` Paolo Bonzini
2017-03-02 15:15 ` [RFC PATCH v2 15/32] x86: Add support for changing memory encryption attribute in early boot Brijesh Singh
2017-03-02 15:15 ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-24 17:12   ` Borislav Petkov
2017-03-24 17:12     ` Borislav Petkov
2017-03-24 17:12     ` Borislav Petkov
2017-03-27 15:07     ` Brijesh Singh
2017-03-27 15:07       ` Brijesh Singh
2017-03-27 15:07       ` Brijesh Singh
2017-03-27 15:07       ` Brijesh Singh
2017-03-02 15:15 ` [RFC PATCH v2 16/32] x86: kvm: Provide support to create Guest and HV shared per-CPU variables Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-16 11:06   ` Paolo Bonzini
2017-03-16 11:06     ` Paolo Bonzini
2017-03-16 11:06     ` Paolo Bonzini
2017-03-28 18:39   ` Borislav Petkov
2017-03-28 18:39     ` Borislav Petkov
2017-03-28 18:39     ` Borislav Petkov
2017-03-29 15:21     ` Paolo Bonzini
2017-03-29 15:21       ` Paolo Bonzini
2017-03-29 15:21       ` Paolo Bonzini
2017-03-29 15:32       ` Borislav Petkov
2017-03-29 15:32         ` Borislav Petkov
2017-03-29 15:32         ` Borislav Petkov
2017-03-02 15:15 ` Brijesh Singh
2017-03-02 15:15 ` [RFC PATCH v2 17/32] x86: kvmclock: Clear encryption attribute when SEV is active Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15   ` Brijesh Singh
2017-03-02 15:15 ` Brijesh Singh
2017-03-02 15:16 ` Brijesh Singh [this message]
2017-03-02 15:16 ` [RFC PATCH v2 18/32] kvm: svm: Use the hardware provided GPA instead of page walk Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-29 15:14   ` Borislav Petkov
2017-03-29 15:14     ` Borislav Petkov
2017-03-29 15:14     ` Borislav Petkov
2017-03-29 17:08     ` Brijesh Singh
2017-03-29 17:08       ` Brijesh Singh
2017-03-29 17:08       ` Brijesh Singh
2017-03-29 17:08       ` Brijesh Singh
2017-03-02 15:16 ` [RFC PATCH v2 19/32] crypto: ccp: Introduce the AMD Secure Processor device Brijesh Singh
2017-03-02 15:16 ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 17:39   ` Mark Rutland
2017-03-02 17:39     ` Mark Rutland
2017-03-02 19:11     ` Brijesh Singh
2017-03-02 19:11       ` Brijesh Singh
2017-03-02 19:11       ` Brijesh Singh
2017-03-03 13:55       ` Andy Shevchenko
2017-03-03 13:55         ` Andy Shevchenko
2017-03-03 13:55         ` Andy Shevchenko
2017-03-03 13:55         ` Andy Shevchenko
2017-03-02 15:16 ` [RFC PATCH v2 20/32] crypto: ccp: Add Platform Security Processor (PSP) interface support Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16 ` Brijesh Singh
2017-03-02 15:16 ` [RFC PATCH v2 21/32] crypto: ccp: Add Secure Encrypted Virtualization (SEV) " Brijesh Singh
2017-03-02 15:16 ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16 ` [RFC PATCH v2 22/32] kvm: svm: prepare to reserve asid for SEV guest Brijesh Singh
2017-03-02 15:16 ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:16   ` Brijesh Singh
2017-03-02 15:17 ` [RFC PATCH v2 23/32] kvm: introduce KVM_MEMORY_ENCRYPT_OP ioctl Brijesh Singh
2017-03-02 15:17 ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-16 10:25   ` Paolo Bonzini
2017-03-16 10:25     ` Paolo Bonzini
2017-03-16 10:25     ` Paolo Bonzini
2017-03-16 10:25   ` Paolo Bonzini
2017-03-02 15:17 ` [RFC PATCH v2 24/32] kvm: x86: prepare for SEV guest management API support Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-16 10:33   ` Paolo Bonzini
2017-03-16 10:33     ` Paolo Bonzini
2017-03-16 10:33     ` Paolo Bonzini
2017-03-02 15:17 ` Brijesh Singh
2017-03-02 15:17 ` [RFC PATCH v2 25/32] kvm: svm: Add support for SEV LAUNCH_START command Brijesh Singh
2017-03-02 15:17 ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17 ` [RFC PATCH v2 26/32] kvm: svm: Add support for SEV LAUNCH_UPDATE_DATA command Brijesh Singh
2017-03-02 15:17 ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-16 10:48   ` Paolo Bonzini
2017-03-16 10:48   ` Paolo Bonzini
2017-03-16 10:48     ` Paolo Bonzini
2017-03-16 10:48     ` Paolo Bonzini
2017-03-16 18:20     ` Brijesh Singh
2017-03-16 18:20       ` Brijesh Singh
2017-03-16 18:20       ` Brijesh Singh
2017-03-16 18:20       ` Brijesh Singh
2017-03-16 18:20     ` Brijesh Singh
2017-03-02 15:17 ` [RFC PATCH v2 27/32] kvm: svm: Add support for SEV LAUNCH_FINISH command Brijesh Singh
2017-03-02 15:17 ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:17   ` Brijesh Singh
2017-03-02 15:18 ` [RFC PATCH v2 28/32] kvm: svm: Add support for SEV GUEST_STATUS command Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18 ` Brijesh Singh
2017-03-02 15:18 ` [RFC PATCH v2 29/32] kvm: svm: Add support for SEV DEBUG_DECRYPT command Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-16 10:54   ` Paolo Bonzini
2017-03-16 10:54     ` Paolo Bonzini
2017-03-16 10:54     ` Paolo Bonzini
2017-03-16 18:41     ` Brijesh Singh
2017-03-16 18:41     ` Brijesh Singh
2017-03-16 18:41       ` Brijesh Singh
2017-03-16 18:41       ` Brijesh Singh
2017-03-16 18:41       ` Brijesh Singh
2017-03-17 11:09       ` Paolo Bonzini
2017-03-17 11:09       ` Paolo Bonzini
2017-03-17 11:09         ` Paolo Bonzini
2017-03-17 11:09         ` Paolo Bonzini
2017-03-16 10:54   ` Paolo Bonzini
2017-03-02 15:18 ` Brijesh Singh
2017-03-02 15:18 ` [RFC PATCH v2 30/32] kvm: svm: Add support for SEV DEBUG_ENCRYPT command Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-16 11:03   ` Paolo Bonzini
2017-03-16 11:03     ` Paolo Bonzini
2017-03-16 11:03     ` Paolo Bonzini
2017-03-16 18:34     ` Brijesh Singh
2017-03-16 18:34     ` Brijesh Singh
2017-03-16 18:34       ` Brijesh Singh
2017-03-16 18:34       ` Brijesh Singh
2017-03-16 18:34       ` Brijesh Singh
2017-03-16 11:03   ` Paolo Bonzini
2017-03-02 15:18 ` Brijesh Singh
2017-03-02 15:18 ` [RFC PATCH v2 31/32] kvm: svm: Add support for SEV LAUNCH_MEASURE command Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18 ` Brijesh Singh
2017-03-02 15:18 ` [RFC PATCH v2 32/32] x86: kvm: Pin the guest memory when SEV is active Brijesh Singh
2017-03-02 15:18 ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-02 15:18   ` Brijesh Singh
2017-03-16 10:38   ` Paolo Bonzini
2017-03-16 10:38     ` Paolo Bonzini
2017-03-16 10:38     ` Paolo Bonzini
2017-03-16 18:17     ` Brijesh Singh
2017-03-16 18:17     ` Brijesh Singh
2017-03-16 18:17       ` Brijesh Singh
2017-03-16 18:17       ` Brijesh Singh
2017-03-16 18:17       ` Brijesh Singh
2017-03-16 10:38   ` Paolo Bonzini
2017-03-03 20:33 ` [RFC PATCH v2 00/32] x86: Secure Encrypted Virtualization (AMD) Bjorn Helgaas
2017-03-03 20:33   ` Bjorn Helgaas
2017-03-03 20:33   ` Bjorn Helgaas
2017-03-03 20:33   ` Bjorn Helgaas
2017-03-03 20:51   ` Borislav Petkov
2017-03-03 20:51     ` Borislav Petkov
2017-03-03 20:51     ` Borislav Petkov
2017-03-03 20:51     ` Borislav Petkov
2017-03-03 21:15   ` Brijesh Singh
2017-03-03 21:15     ` Brijesh Singh
2017-03-03 21:15     ` Brijesh Singh
2017-03-03 21:15     ` Brijesh Singh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='148846776540.2349.3123530065053870721.stgit__48135.5423843071$1488470085$gmane$org@brijesh-build-machine' \
    --to=brijesh.singh@amd.com \
    --cc=aarcange@redhat.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=bhe@redhat.com \
    --cc=bp@suse.de \
    --cc=cl@linux.com \
    --cc=dan.j.williams@intel.com \
    --cc=dyoung@redhat.com \
    --cc=gary.hook@amd.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=hpa@zytor.com \
    --cc=joro@8bytes.org \
    --cc=jroedel@suse.de \
    --cc=keescook@chromium.org \
    --cc=kvm@vger.kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matt@codeblueprint.co.uk \
    --cc=mingo@redhat.com \
    --cc=msalter@redhat.com \
    --cc=paul.gortmaker@windriver.com \
    --cc=peterz@infradead.org \
    --cc=piotr.luc@intel.com \
    --cc=rkrcmar@redhat.com \
    --cc=ross.zwisler@linux.intel.com \
    --cc=sfr@canb.auug.org.au \
    --cc=simon.guinot@sequanux.org \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    --cc=xemul@parallels.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.