From: Joerg Roedel <joro@8bytes.org> To: x86@kernel.org Cc: Joerg Roedel <joro@8bytes.org>, Joerg Roedel <jroedel@suse.de>, hpa@zytor.com, Andy Lutomirski <luto@kernel.org>, Dave Hansen <dave.hansen@linux.intel.com>, Peter Zijlstra <peterz@infradead.org>, Jiri Slaby <jslaby@suse.cz>, Dan Williams <dan.j.williams@intel.com>, Tom Lendacky <thomas.lendacky@amd.com>, Juergen Gross <jgross@suse.com>, Kees Cook <keescook@chromium.org>, David Rientjes <rientjes@google.com>, Cfir Cohen <cfir@google.com>, Erdem Aktas <erdemaktas@google.com>, Masami Hiramatsu <mhiramat@kernel.org>, Mike Stunes <mstunes@vmware.com>, Sean Christopherson <sean.j.christopherson@intel.com>, Martin Radev <martin.b.radev@gmail.com>, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org Subject: [PATCH v7 70/72] x86/sev-es: Handle NMI State Date: Mon, 7 Sep 2020 15:16:11 +0200 [thread overview] Message-ID: <20200907131613.12703-71-joro@8bytes.org> (raw) In-Reply-To: <20200907131613.12703-1-joro@8bytes.org> From: Joerg Roedel <jroedel@suse.de> When running under SEV-ES the kernel has to tell the hypervisor when to open the NMI window again after an NMI was injected. This is done with an NMI-complete message to the hypervisor. Add code to the kernels NMI handler to send this message right at the beginning of do_nmi(). This always allows nesting NMIs. Signed-off-by: Joerg Roedel <jroedel@suse.de> --- arch/x86/include/asm/sev-es.h | 7 +++++++ arch/x86/include/uapi/asm/svm.h | 1 + arch/x86/kernel/nmi.c | 6 ++++++ arch/x86/kernel/sev-es.c | 18 ++++++++++++++++++ 4 files changed, 32 insertions(+) diff --git a/arch/x86/include/asm/sev-es.h b/arch/x86/include/asm/sev-es.h index db88e1c3442d..e919f09ae33c 100644 --- a/arch/x86/include/asm/sev-es.h +++ b/arch/x86/include/asm/sev-es.h @@ -96,10 +96,17 @@ static __always_inline void sev_es_ist_exit(void) __sev_es_ist_exit(); } extern int sev_es_setup_ap_jump_table(struct real_mode_header *rmh); +extern void __sev_es_nmi_complete(void); +static __always_inline void sev_es_nmi_complete(void) +{ + if (static_branch_unlikely(&sev_es_enable_key)) + __sev_es_nmi_complete(); +} #else static inline void sev_es_ist_enter(struct pt_regs *regs) { } static inline void sev_es_ist_exit(void) { } static inline int sev_es_setup_ap_jump_table(struct real_mode_header *rmh) { return 0; } +static inline void sev_es_nmi_complete(void) { } #endif #endif diff --git a/arch/x86/include/uapi/asm/svm.h b/arch/x86/include/uapi/asm/svm.h index c1dcf3e114e4..a7a3403645e5 100644 --- a/arch/x86/include/uapi/asm/svm.h +++ b/arch/x86/include/uapi/asm/svm.h @@ -84,6 +84,7 @@ /* SEV-ES software-defined VMGEXIT events */ #define SVM_VMGEXIT_MMIO_READ 0x80000001 #define SVM_VMGEXIT_MMIO_WRITE 0x80000002 +#define SVM_VMGEXIT_NMI_COMPLETE 0x80000003 #define SVM_VMGEXIT_AP_HLT_LOOP 0x80000004 #define SVM_VMGEXIT_AP_JUMP_TABLE 0x80000005 #define SVM_VMGEXIT_SET_AP_JUMP_TABLE 0 diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c index 5859cec774a4..d961f1b3e251 100644 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c @@ -478,6 +478,12 @@ DEFINE_IDTENTRY_RAW(exc_nmi) { bool irq_state; + /* + * Re-enable NMIs right here when running as an SEV-ES guest. This might + * cause nested NMIs, but those can be handled safely. + */ + sev_es_nmi_complete(); + if (IS_ENABLED(CONFIG_SMP) && arch_cpu_is_offline(smp_processor_id())) return; diff --git a/arch/x86/kernel/sev-es.c b/arch/x86/kernel/sev-es.c index 0b6c4f46ddfc..9ab3a4dfecd8 100644 --- a/arch/x86/kernel/sev-es.c +++ b/arch/x86/kernel/sev-es.c @@ -408,6 +408,24 @@ static bool vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt *ctxt, /* Include code shared with pre-decompression boot stage */ #include "sev-es-shared.c" +void __sev_es_nmi_complete(void) +{ + struct ghcb_state state; + struct ghcb *ghcb; + + ghcb = sev_es_get_ghcb(&state); + + vc_ghcb_invalidate(ghcb); + ghcb_set_sw_exit_code(ghcb, SVM_VMGEXIT_NMI_COMPLETE); + ghcb_set_sw_exit_info_1(ghcb, 0); + ghcb_set_sw_exit_info_2(ghcb, 0); + + sev_es_wr_ghcb_msr(__pa(ghcb)); + VMGEXIT(); + + sev_es_put_ghcb(&state); +} + static u64 get_jump_table_addr(void) { struct ghcb_state state; -- 2.28.0
WARNING: multiple messages have this Message-ID (diff)
From: Joerg Roedel <joro@8bytes.org> To: x86@kernel.org Cc: Juergen Gross <jgross@suse.com>, Tom Lendacky <thomas.lendacky@amd.com>, Joerg Roedel <jroedel@suse.de>, Mike Stunes <mstunes@vmware.com>, Kees Cook <keescook@chromium.org>, kvm@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>, Cfir Cohen <cfir@google.com>, Joerg Roedel <joro@8bytes.org>, Dave Hansen <dave.hansen@linux.intel.com>, linux-kernel@vger.kernel.org, Sean Christopherson <sean.j.christopherson@intel.com>, virtualization@lists.linux-foundation.org, Martin Radev <martin.b.radev@gmail.com>, Masami Hiramatsu <mhiramat@kernel.org>, Andy Lutomirski <luto@kernel.org>, hpa@zytor.com, Erdem Aktas <erdemaktas@google.com>, David Rientjes <rientjes@google.com>, Dan Williams <dan.j.williams@intel.com>, Jiri Slaby <jslaby@suse.cz> Subject: [PATCH v7 70/72] x86/sev-es: Handle NMI State Date: Mon, 7 Sep 2020 15:16:11 +0200 [thread overview] Message-ID: <20200907131613.12703-71-joro@8bytes.org> (raw) In-Reply-To: <20200907131613.12703-1-joro@8bytes.org> From: Joerg Roedel <jroedel@suse.de> When running under SEV-ES the kernel has to tell the hypervisor when to open the NMI window again after an NMI was injected. This is done with an NMI-complete message to the hypervisor. Add code to the kernels NMI handler to send this message right at the beginning of do_nmi(). This always allows nesting NMIs. Signed-off-by: Joerg Roedel <jroedel@suse.de> --- arch/x86/include/asm/sev-es.h | 7 +++++++ arch/x86/include/uapi/asm/svm.h | 1 + arch/x86/kernel/nmi.c | 6 ++++++ arch/x86/kernel/sev-es.c | 18 ++++++++++++++++++ 4 files changed, 32 insertions(+) diff --git a/arch/x86/include/asm/sev-es.h b/arch/x86/include/asm/sev-es.h index db88e1c3442d..e919f09ae33c 100644 --- a/arch/x86/include/asm/sev-es.h +++ b/arch/x86/include/asm/sev-es.h @@ -96,10 +96,17 @@ static __always_inline void sev_es_ist_exit(void) __sev_es_ist_exit(); } extern int sev_es_setup_ap_jump_table(struct real_mode_header *rmh); +extern void __sev_es_nmi_complete(void); +static __always_inline void sev_es_nmi_complete(void) +{ + if (static_branch_unlikely(&sev_es_enable_key)) + __sev_es_nmi_complete(); +} #else static inline void sev_es_ist_enter(struct pt_regs *regs) { } static inline void sev_es_ist_exit(void) { } static inline int sev_es_setup_ap_jump_table(struct real_mode_header *rmh) { return 0; } +static inline void sev_es_nmi_complete(void) { } #endif #endif diff --git a/arch/x86/include/uapi/asm/svm.h b/arch/x86/include/uapi/asm/svm.h index c1dcf3e114e4..a7a3403645e5 100644 --- a/arch/x86/include/uapi/asm/svm.h +++ b/arch/x86/include/uapi/asm/svm.h @@ -84,6 +84,7 @@ /* SEV-ES software-defined VMGEXIT events */ #define SVM_VMGEXIT_MMIO_READ 0x80000001 #define SVM_VMGEXIT_MMIO_WRITE 0x80000002 +#define SVM_VMGEXIT_NMI_COMPLETE 0x80000003 #define SVM_VMGEXIT_AP_HLT_LOOP 0x80000004 #define SVM_VMGEXIT_AP_JUMP_TABLE 0x80000005 #define SVM_VMGEXIT_SET_AP_JUMP_TABLE 0 diff --git a/arch/x86/kernel/nmi.c b/arch/x86/kernel/nmi.c index 5859cec774a4..d961f1b3e251 100644 --- a/arch/x86/kernel/nmi.c +++ b/arch/x86/kernel/nmi.c @@ -478,6 +478,12 @@ DEFINE_IDTENTRY_RAW(exc_nmi) { bool irq_state; + /* + * Re-enable NMIs right here when running as an SEV-ES guest. This might + * cause nested NMIs, but those can be handled safely. + */ + sev_es_nmi_complete(); + if (IS_ENABLED(CONFIG_SMP) && arch_cpu_is_offline(smp_processor_id())) return; diff --git a/arch/x86/kernel/sev-es.c b/arch/x86/kernel/sev-es.c index 0b6c4f46ddfc..9ab3a4dfecd8 100644 --- a/arch/x86/kernel/sev-es.c +++ b/arch/x86/kernel/sev-es.c @@ -408,6 +408,24 @@ static bool vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt *ctxt, /* Include code shared with pre-decompression boot stage */ #include "sev-es-shared.c" +void __sev_es_nmi_complete(void) +{ + struct ghcb_state state; + struct ghcb *ghcb; + + ghcb = sev_es_get_ghcb(&state); + + vc_ghcb_invalidate(ghcb); + ghcb_set_sw_exit_code(ghcb, SVM_VMGEXIT_NMI_COMPLETE); + ghcb_set_sw_exit_info_1(ghcb, 0); + ghcb_set_sw_exit_info_2(ghcb, 0); + + sev_es_wr_ghcb_msr(__pa(ghcb)); + VMGEXIT(); + + sev_es_put_ghcb(&state); +} + static u64 get_jump_table_addr(void) { struct ghcb_state state; -- 2.28.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2020-09-07 17:27 UTC|newest] Thread overview: 264+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-07 13:15 [PATCH v7 00/72] x86: SEV-ES Guest Support Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 01/72] KVM: SVM: nested: Don't allocate VMCB structures on stack Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-11-05 16:24 ` [PATCH v7 01/72] " Michael Roth 2020-11-05 16:38 ` Borislav Petkov 2020-11-05 16:38 ` Borislav Petkov 2020-11-06 0:31 ` Michael Roth 2020-11-06 0:39 ` Borislav Petkov 2020-11-06 0:39 ` Borislav Petkov 2020-11-05 17:46 ` Michael Roth 2020-09-07 13:15 ` [PATCH v7 02/72] KVM: SVM: Add GHCB definitions Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 03/72] KVM: SVM: Add GHCB Accessor functions Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 04/72] KVM: SVM: Use __packed shorthand Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Borislav Petkov 2020-09-07 13:15 ` [PATCH v7 05/72] x86/cpufeatures: Add SEV-ES CPU feature Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 06/72] x86/traps: Move pf error codes to <asm/trap_pf.h> Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 07/72] x86/insn: Make inat-tables.c suitable for pre-decompression code Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 08/72] x86/umip: Factor out instruction fetch Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 09/72] x86/umip: Factor out instruction decoding Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 10/72] x86/insn: Add insn_get_modrm_reg_off() Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 11/72] x86/insn: Add insn_has_rep_prefix() helper Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 12/72] x86/boot/compressed/64: Disable red-zone usage Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 13/72] x86/boot/compressed/64: Add IDT Infrastructure Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 14/72] x86/boot/compressed/64: Rename kaslr_64.c to ident_map_64.c Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 15/72] x86/boot/compressed/64: Add page-fault handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 16/72] x86/boot/compressed/64: Always switch to own page-table Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/boot/compressed/64: Always switch to own page table tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 17/72] x86/boot/compressed/64: Don't pre-map memory in KASLR code Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 18/72] x86/boot/compressed/64: Change add_identity_map() to take start and end Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 19/72] x86/boot/compressed/64: Add stage1 #VC handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-07 16:58 ` Borislav Petkov 2020-09-07 16:58 ` Borislav Petkov 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 20/72] x86/boot/compressed/64: Call set_sev_encryption_mask() earlier Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 21/72] x86/boot/compressed/64: Check return value of kernel_ident_mapping_init() Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 22/72] x86/boot/compressed/64: Add set_page_en/decrypted() helpers Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 23/72] x86/boot/compressed/64: Setup GHCB Based VC Exception handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/boot/compressed/64: Setup a GHCB-based " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 24/72] x86/boot/compressed/64: Unmap GHCB page before booting the kernel Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 25/72] x86/sev-es: Add support for handling IOIO exceptions Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 26/72] x86/fpu: Move xgetbv()/xsetbv() into separate header Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/fpu: Move xgetbv()/xsetbv() into a " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 27/72] x86/sev-es: Add CPUID handling to #VC handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 28/72] x86/idt: Split idt_data setup out of set_intr_gate() Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 29/72] x86/head/64: Install startup GDT Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 30/72] x86/head/64: Load GDT after switch to virtual addresses Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 31/72] x86/head/64: Load segment registers earlier Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 32/72] x86/head/64: Switch to initial stack earlier Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 33/72] x86/head/64: Install a CPU bringup IDT Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 34/72] x86/idt: Move two function from k/idt.c to i/a/desc.h Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/idt: Make IDT init functions static inlines tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 35/72] x86/head/64: Move early exception dispatch to C code Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 36/72] x86/sev-es: Add SEV-ES Feature Detection Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-07 21:02 ` Borislav Petkov 2020-09-07 21:02 ` Borislav Petkov 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 37/72] x86/sev-es: Print SEV-ES info into kernel log Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Print SEV-ES info into the " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 38/72] x86/sev-es: Compile early handler code into kernel image Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 39/72] x86/sev-es: Setup early #VC handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-08 10:22 ` [PATCH v7.1 " Joerg Roedel 2020-09-08 10:22 ` Joerg Roedel 2020-09-08 12:35 ` [PATCH v7.2 39/74] " Joerg Roedel 2020-09-08 12:35 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Setup an " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 40/72] x86/sev-es: Setup GHCB based boot " Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-08 10:24 ` [PATCH v7.1 " Joerg Roedel 2020-09-08 10:24 ` Joerg Roedel 2020-09-08 12:38 ` [PATCH v7.2 40/74] " Joerg Roedel 2020-09-08 12:38 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Setup GHCB-based " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 41/72] x86/sev-es: Setup per-cpu GHCBs for the runtime handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-08 10:51 ` Borislav Petkov 2020-09-08 10:51 ` Borislav Petkov 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Setup per-CPU " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 42/72] x86/sev-es: Allocate and Map IST stack for #VC handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Allocate and map an " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 43/72] x86/sev-es: Adjust #VC IST Stack on entering NMI handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 44/72] x86/dumpstack/64: Add noinstr version of get_stack_info() Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 45/72] x86/entry/64: Add entry code for #VC handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2021-01-24 14:11 ` [PATCH v7 45/72] " Lai Jiangshan 2021-01-28 13:18 ` Joerg Roedel 2021-01-28 13:18 ` Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 46/72] x86/sev-es: Add Runtime #VC Exception Handler Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/sev-es: Add a " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 47/72] x86/sev-es: Wire up existing #VC exit-code handlers Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 48/72] x86/sev-es: Handle instruction fetches from user-space Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 49/72] x86/sev-es: Handle MMIO events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 50/72] x86/sev-es: Handle MMIO String Instructions Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:15 ` [PATCH v7 51/72] x86/sev-es: Handle MSR events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 52/72] x86/sev-es: Handle DR7 read/write events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 53/72] x86/sev-es: Handle WBINVD Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 54/72] x86/sev-es: Handle RDTSC(P) Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 55/72] x86/sev-es: Handle RDPMC Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 56/72] x86/sev-es: Handle INVD Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 57/72] x86/sev-es: Handle MONITOR/MONITORX Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:15 ` [PATCH v7 58/72] x86/sev-es: Handle MWAIT/MWAITX Events Joerg Roedel 2020-09-07 13:15 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:16 ` [PATCH v7 59/72] x86/sev-es: Handle VMMCALL Events Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:16 ` [PATCH v7 60/72] x86/sev-es: Handle #AC Events Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 61/72] x86/sev-es: Handle #DB Events Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 62/72] x86/paravirt: Allow hypervisor specific VMMCALL handling under SEV-ES Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/paravirt: Allow hypervisor-specific " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 63/72] x86/kvm: Add KVM specific " Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/kvm: Add KVM-specific " tip-bot2 for Tom Lendacky [not found] ` <CAAYXXYx=Eq4gYfUqdO7u37VRD_GpPYFQgN=GZySmAMcDc2AM=g@mail.gmail.com> 2020-10-27 23:14 ` Erdem Aktas 2020-10-28 9:49 ` Joerg Roedel 2020-10-28 18:03 ` Erdem Aktas 2020-10-30 10:23 ` Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 64/72] x86/vmware: Add VMware specific handling for VMMCALL " Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] x86/vmware: Add VMware-specific " tip-bot2 for Doug Covelli 2020-10-27 23:19 ` Erdem Aktas 2020-10-28 9:54 ` Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 65/72] x86/realmode: Add SEV-ES specific trampoline entry point Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 66/72] x86/realmode: Setup AP jump table Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-07 13:16 ` [PATCH v7 67/72] x86/smpboot: Load TSS and getcpu GDT entry before loading IDT Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-08 17:20 ` Borislav Petkov 2020-09-08 17:20 ` Borislav Petkov 2020-09-08 18:42 ` Joerg Roedel 2020-09-08 18:42 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 68/72] x86/head/64: Don't call verify_cpu() on starting APs Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 69/72] x86/sev-es: Support CPU offline/online Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel [this message] 2020-09-07 13:16 ` [PATCH v7 70/72] x86/sev-es: Handle NMI State Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Joerg Roedel 2020-09-07 13:16 ` [PATCH v7 71/72] x86/efi: Add GHCB mappings when SEV-ES is active Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-08 17:46 ` Borislav Petkov 2020-09-08 17:46 ` Borislav Petkov 2020-09-09 8:27 ` Ard Biesheuvel 2020-09-09 12:44 ` Laszlo Ersek 2020-09-09 12:44 ` Laszlo Ersek 2020-09-09 13:24 ` Laszlo Ersek 2020-09-09 13:24 ` Laszlo Ersek 2020-09-09 13:49 ` Tom Lendacky 2020-09-09 13:49 ` Tom Lendacky 2020-09-10 12:37 ` Ard Biesheuvel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Tom Lendacky 2020-09-10 19:52 ` tip-bot2 for Tom Lendacky 2020-09-07 13:16 ` [PATCH v7 72/72] x86/sev-es: Check required CPU features for SEV-ES Joerg Roedel 2020-09-07 13:16 ` Joerg Roedel 2020-09-10 9:22 ` [tip: x86/seves] " tip-bot2 for Martin Radev 2020-09-10 19:52 ` tip-bot2 for Martin Radev
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=20200907131613.12703-71-joro@8bytes.org \ --to=joro@8bytes.org \ --cc=cfir@google.com \ --cc=dan.j.williams@intel.com \ --cc=dave.hansen@linux.intel.com \ --cc=erdemaktas@google.com \ --cc=hpa@zytor.com \ --cc=jgross@suse.com \ --cc=jroedel@suse.de \ --cc=jslaby@suse.cz \ --cc=keescook@chromium.org \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=luto@kernel.org \ --cc=martin.b.radev@gmail.com \ --cc=mhiramat@kernel.org \ --cc=mstunes@vmware.com \ --cc=peterz@infradead.org \ --cc=rientjes@google.com \ --cc=sean.j.christopherson@intel.com \ --cc=thomas.lendacky@amd.com \ --cc=virtualization@lists.linux-foundation.org \ --cc=x86@kernel.org \ /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: linkBe 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.