All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <dave.hansen@intel.com>
To: Kuppuswamy Sathyanarayanan 
	<sathyanarayanan.kuppuswamy@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@kernel.org>
Cc: Tony Luck <tony.luck@intel.com>, Andi Kleen <ak@linux.intel.com>,
	Kirill Shutemov <kirill.shutemov@linux.intel.com>,
	Kuppuswamy Sathyanarayanan <knsathya@kernel.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Raj Ashok <ashok.raj@intel.com>,
	Sean Christopherson <seanjc@google.com>,
	linux-kernel@vger.kernel.org,
	Sean Christopherson <sean.j.christopherson@intel.com>
Subject: Re: [RFC v2-fix 1/1] x86/boot: Avoid #VE during boot for TDX platforms
Date: Wed, 19 May 2021 09:53:10 -0700	[thread overview]
Message-ID: <b1aafcbb-c5db-efa5-0343-014585e73191@intel.com> (raw)
In-Reply-To: <20210518005951.258819-1-sathyanarayanan.kuppuswamy@linux.intel.com>

On 5/17/21 5:59 PM, Kuppuswamy Sathyanarayanan wrote:
> From: Sean Christopherson <sean.j.christopherson@intel.com>
> 
> Avoid operations which will inject #VE during boot process,
> which is obviously fatal for TDX platforms.

It's not "obviously fatal".  We actually have early exception handlers.
 Please give an actual reason.  "They're easy to avoid, and that sure
beats handling the exceptions" is a perfectly fine reason.

> Details are,
> 
> 1. TDX module injects #VE if a TDX guest attempts to write
>    EFER.
>    
>    Boot code updates EFER in following cases:
>    
>    * When enabling Long Mode configuration, EFER.LME bit will
>      be set. Since TDX forces EFER.LME=1, we can skip updating
>      it again. Check for EFER.LME before updating it and skip
>      it if it is already set.
> 
>    * EFER is also updated to enable support for features like
>      System call and No Execute page setting. In TDX, these
>      features are set up by the TDX module. So check whether
>      it is already enabled, and skip enabling it again.
>    
> 2. TDX module also injects a #VE if the guest attempts to clear
>    CR0.NE. Ensure CR0.NE is set when loading CR0 during compressed
>    boot. The Setting CR0.NE should be a nop on all CPUs that
>    support 64-bit mode.
>    
> 3. The TDX-Module (effectively part of the hypervisor) requires

So, after we've mentioned the TDX module a few times, *NOW* we feel the
need to explain what it is?  I'm also baffled by this little aside.
Literally the WHOLE POINT FOR SEAM TO EXIST is that it is NOT PART OF
THE HYPERVISOR.  The whole point.  Literally.

>    CR4.MCE to be set at all times and injects a #VE if the guest
>    attempts to clear CR4.MCE. So, preserve CR4.MCE instead of
>    clearing it during boot to avoid #VE.

This is a good example of a changelog run amok.  It doesn't need to be
an English language reproduction of the code.  This is getting close.

This can all be replaced and improved with a high-level discussion of
what is going on:

	There are a few MSRs and control register bits which the kernel
	normally needs to modify during boot.  But, TDX disallows
	modification of these registers to help provide consistent
	security guarantees.  Fortunately, TDX ensures that these are
	all in the correct state before the kernel loads, which means
	the kernel has no need to modify them.

	The conditions we need to avoid are:
	1. Any writes to the EFER MSR
	2. Clearing CR0.NE
	3. Clearing CR3.MCE

> diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S
> index e94874f4bbc1..2d79e5f97360 100644
> --- a/arch/x86/boot/compressed/head_64.S
> +++ b/arch/x86/boot/compressed/head_64.S
> @@ -616,12 +616,16 @@ SYM_CODE_START(trampoline_32bit_src)
>  	movl	$MSR_EFER, %ecx
>  	rdmsr
>  	btsl	$_EFER_LME, %eax
> +	jc	1f
>  	wrmsr
> -	popl	%edx
> +1:	popl	%edx

A comment would be nice:

	/* Avoid writing EFER if no change was made (for TDX guest) */

>  	popl	%ecx
>  
>  	/* Enable PAE and LA57 (if required) paging modes */
> -	movl	$X86_CR4_PAE, %eax
> +	movl	%cr4, %eax
> +	/* Clearing CR4.MCE will #VE on TDX guests.  Leave it alone. */
> +	andl	$X86_CR4_MCE, %eax

Maybe I'm just dense today, but I was boggling about what this 'andl' is
actually doing.  This would help:

	/*
	 * Clear all bits except CR4.MCE, which is preserved.
	 * Clearing CR4.MCE will #VE in TDX guests.
	 */

> +	orl	$X86_CR4_PAE, %eax
>  	testl	%edx, %edx
>  	jz	1f
>  	orl	$X86_CR4_LA57, %eax
> @@ -636,7 +640,7 @@ SYM_CODE_START(trampoline_32bit_src)
>  	pushl	%eax
>  
>  	/* Enable paging again */
> -	movl	$(X86_CR0_PG | X86_CR0_PE), %eax
> +	movl	$(X86_CR0_PG | X86_CR0_NE | X86_CR0_PE), %eax
>  	movl	%eax, %cr0

Shouldn't we also comment the X86_CR0_NE?

	/* Enable paging again.  Avoid clearing X86_CR0_NE for TDX. */

>  	lret
> diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
> index 04bddaaba8e2..92c77cf75542 100644
> --- a/arch/x86/kernel/head_64.S
> +++ b/arch/x86/kernel/head_64.S
> @@ -141,7 +141,10 @@ SYM_INNER_LABEL(secondary_startup_64_no_verify, SYM_L_GLOBAL)
>  1:
>  
>  	/* Enable PAE mode, PGE and LA57 */
> -	movl	$(X86_CR4_PAE | X86_CR4_PGE), %ecx
> +	movq	%cr4, %rcx
> +	/* Clearing CR4.MCE will #VE on TDX guests.  Leave it alone. */
> +	andl	$X86_CR4_MCE, %ecx
> +	orl	$(X86_CR4_PAE | X86_CR4_PGE), %ecx

Ditto on the comment from above about clearing/preserving bits.

>  #ifdef CONFIG_X86_5LEVEL
>  	testl	$1, __pgtable_l5_enabled(%rip)
>  	jz	1f
> @@ -229,13 +232,19 @@ SYM_INNER_LABEL(secondary_startup_64_no_verify, SYM_L_GLOBAL)
>  	/* Setup EFER (Extended Feature Enable Register) */
>  	movl	$MSR_EFER, %ecx
>  	rdmsr
> +	movl    %eax, %edx

Comment, please.

>  	btsl	$_EFER_SCE, %eax	/* Enable System Call */
>  	btl	$20,%edi		/* No Execute supported? */
>  	jnc     1f
>  	btsl	$_EFER_NX, %eax
>  	btsq	$_PAGE_BIT_NX,early_pmd_flags(%rip)
> -1:	wrmsr				/* Make changes effective */
>  
> +	/* Skip the WRMSR if the current value matches the desired value. */

If I read this comment in 5 years, I'm going to ask "Why bother?".
Please mention TDX.

> +1:	cmpl	%edx, %eax
> +	je	1f
> +	xor	%edx, %edx
> +	wrmsr				/* Make changes effective */
> +1:
>  	/* Setup cr0 */
>  	movl	$CR0_STATE, %eax
>  	/* Make changes effective */
> diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
> index 754f8d2ac9e8..12b734b1da8b 100644
> --- a/arch/x86/realmode/rm/trampoline_64.S
> +++ b/arch/x86/realmode/rm/trampoline_64.S
> @@ -143,13 +143,20 @@ SYM_CODE_START(startup_32)
>  	movl	%eax, %cr3
>  
>  	# Set up EFER
> +	movl	$MSR_EFER, %ecx
> +	rdmsr
> +	cmp	pa_tr_efer, %eax
> +	jne	.Lwrite_efer
> +	cmp	pa_tr_efer + 4, %edx

Comment, please:

	# Skip EFER writes to avoid faults in TDX guests

> +	je	.Ldone_efer
> +.Lwrite_efer:
>  	movl	pa_tr_efer, %eax
>  	movl	pa_tr_efer + 4, %edx
> -	movl	$MSR_EFER, %ecx
>  	wrmsr
>  
> +.Ldone_efer:
>  	# Enable paging and in turn activate Long Mode
> -	movl	$(X86_CR0_PG | X86_CR0_WP | X86_CR0_PE), %eax
> +	movl	$(X86_CR0_PG | X86_CR0_WP | X86_CR0_NE | X86_CR0_PE), %eax
>  	movl	%eax, %cr0
>  
>  	/*
> 


  reply	other threads:[~2021-05-19 16:53 UTC|newest]

Thread overview: 386+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-26 18:01 [RFC v2 00/32] Add TDX Guest Support Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 01/32] x86/paravirt: Introduce CONFIG_PARAVIRT_XL Kuppuswamy Sathyanarayanan
2021-04-27 17:31   ` Borislav Petkov
2021-05-06 14:59     ` Kirill A. Shutemov
2021-05-10  8:07     ` Juergen Gross
2021-05-10 15:52       ` Andi Kleen
2021-05-10 15:56         ` Juergen Gross
2021-05-12 12:07           ` Kirill A. Shutemov
2021-05-12 13:18           ` Peter Zijlstra
2021-05-12 13:24             ` Andi Kleen
2021-05-12 13:51               ` Juergen Gross
2021-05-17 23:50                 ` [RFC v2-fix 1/1] x86/paravirt: Move halt paravirt calls under CONFIG_PARAVIRT Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 02/32] x86/tdx: Introduce INTEL_TDX_GUEST config option Kuppuswamy Sathyanarayanan
2021-04-26 21:09   ` Randy Dunlap
2021-04-26 22:32     ` Kuppuswamy, Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 03/32] x86/cpufeatures: Add TDX Guest CPU feature Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 04/32] x86/x86: Add is_tdx_guest() interface Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 05/32] x86/tdx: Add __tdcall() and __tdvmcall() helper functions Kuppuswamy Sathyanarayanan
2021-04-26 20:32   ` Dave Hansen
2021-04-26 22:31     ` Kuppuswamy, Sathyanarayanan
2021-04-26 23:17       ` Dave Hansen
2021-04-27  2:29         ` Kuppuswamy, Sathyanarayanan
2021-04-27 14:29           ` Dave Hansen
2021-04-27 19:18             ` Kuppuswamy, Sathyanarayanan
2021-04-27 19:20               ` Dave Hansen
2021-04-28 17:42                 ` [PATCH v1 1/1] x86/tdx: Add __tdx_module_call() and __tdx_hypercall() " Kuppuswamy Sathyanarayanan
2021-05-19  5:58                 ` [RFC v2-fix-v1 " Kuppuswamy Sathyanarayanan
2021-05-19  6:04                   ` Kuppuswamy, Sathyanarayanan
2021-05-19 15:31                   ` Dave Hansen
2021-05-19 19:09                     ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-19 19:13                     ` [RFC v2-fix-v1 " Kuppuswamy, Sathyanarayanan
2021-05-19 20:09                       ` Sean Christopherson
2021-05-19 20:49                         ` Andi Kleen
2021-05-27  0:30                           ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-27 15:25                             ` Luck, Tony
2021-05-27 15:52                               ` Kuppuswamy, Sathyanarayanan
2021-05-27 16:25                                 ` Luck, Tony
2021-04-26 18:01 ` [RFC v2 06/32] x86/tdx: Get TD execution environment information via TDINFO Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 07/32] x86/traps: Add do_general_protection() helper function Kuppuswamy Sathyanarayanan
2021-05-07 21:20   ` Dave Hansen
2021-04-26 18:01 ` [RFC v2 08/32] x86/traps: Add #VE support for TDX guest Kuppuswamy Sathyanarayanan
2021-05-07 21:36   ` Dave Hansen
2021-05-13 19:47     ` Andi Kleen
2021-05-13 20:07       ` Dave Hansen
2021-05-13 22:43         ` Andi Kleen
2021-05-13 20:14       ` Dave Hansen
2021-05-18  0:09     ` [RFC v2-fix 1/1] " Kuppuswamy Sathyanarayanan
2021-05-18 15:11       ` Dave Hansen
2021-05-18 15:45         ` Andi Kleen
2021-05-18 15:56           ` Dave Hansen
2021-05-18 16:00             ` Andi Kleen
2021-05-21 19:22           ` Dan Williams
2021-05-24 14:02             ` Andi Kleen
2021-05-27  0:29               ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-27 15:11                 ` Luck, Tony
2021-05-27 16:24                   ` Sean Christopherson
2021-05-27 16:36                     ` Dave Hansen
2021-05-21 18:45       ` [RFC v2-fix " Kuppuswamy, Sathyanarayanan
2021-05-21 19:15         ` Dave Hansen
2021-05-21 19:57           ` Kuppuswamy, Sathyanarayanan
2021-06-08 17:02   ` [RFC v2 08/32] " Dave Hansen
2021-06-08 17:48     ` Sean Christopherson
2021-06-08 17:53       ` Dave Hansen
2021-06-08 18:12         ` Andi Kleen
2021-06-08 18:15           ` Dave Hansen
2021-06-08 18:17             ` Andy Lutomirski
2021-06-08 18:18             ` Andi Kleen
2021-04-26 18:01 ` [RFC v2 09/32] x86/tdx: Add HLT " Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 10/32] x86/tdx: Wire up KVM hypercalls Kuppuswamy Sathyanarayanan
2021-05-07 21:46   ` Dave Hansen
2021-05-08  0:59     ` Kuppuswamy, Sathyanarayanan
2021-05-12 13:00       ` Kirill A. Shutemov
2021-05-12 14:10         ` Kuppuswamy, Sathyanarayanan
2021-05-12 14:29           ` Dave Hansen
2021-05-13 19:29             ` Kuppuswamy, Sathyanarayanan
2021-05-13 19:33               ` Dave Hansen
2021-05-18  0:15                 ` [RFC v2-fix 1/1] " Kuppuswamy Sathyanarayanan
2021-05-18 15:51                   ` Dave Hansen
2021-05-18 16:23                     ` Sean Christopherson
2021-05-18 20:12                     ` Kuppuswamy, Sathyanarayanan
2021-05-18 20:19                       ` Dave Hansen
2021-05-18 20:57                         ` Kuppuswamy, Sathyanarayanan
2021-05-18 21:19                         ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-18 23:29                           ` Dave Hansen
2021-05-19  1:17                             ` [RFC v2-fix-v3 " Kuppuswamy Sathyanarayanan
2021-05-19  1:20                               ` Sathyanarayanan Kuppuswamy Natarajan
2021-04-26 18:01 ` [RFC v2 11/32] x86/tdx: Add MSR support for TDX guest Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 12/32] x86/tdx: Handle CPUID via #VE Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 13/32] x86/io: Allow to override inX() and outX() implementation Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 14/32] x86/tdx: Handle port I/O Kuppuswamy Sathyanarayanan
2021-05-10 21:57   ` Dan Williams
2021-05-10 23:08     ` Andi Kleen
2021-05-10 23:34       ` Dan Williams
2021-05-11  0:01         ` Andi Kleen
2021-05-11  0:21           ` Dan Williams
2021-05-11  0:30         ` Kuppuswamy, Sathyanarayanan
2021-05-11  1:07           ` Dan Williams
2021-05-11  2:29             ` Kuppuswamy, Sathyanarayanan
2021-05-11 14:39               ` Dave Hansen
2021-05-11 15:08                 ` Kuppuswamy, Sathyanarayanan
2021-05-11  0:56         ` Kuppuswamy, Sathyanarayanan
2021-05-11  2:19           ` Andi Kleen
2021-05-11 15:35     ` Dave Hansen
2021-05-11 15:43       ` Dan Williams
2021-05-12  6:17       ` Dan Williams
2021-05-27  4:23         ` [RFC v2-fix-v1 0/3] " Kuppuswamy Sathyanarayanan
2021-05-27  4:23           ` [RFC v2-fix-v1 1/3] tdx: Introduce generic protected_guest abstraction Kuppuswamy Sathyanarayanan
2021-06-01 21:14             ` [RFC v2-fix-v2 1/1] x86: Introduce generic protected guest abstraction Kuppuswamy Sathyanarayanan
2021-06-02 17:20               ` Sean Christopherson
2021-06-02 18:15                 ` Tom Lendacky
2021-06-02 18:25                   ` Kuppuswamy, Sathyanarayanan
2021-06-02 18:29                   ` Borislav Petkov
2021-06-02 18:32                     ` Kuppuswamy, Sathyanarayanan
2021-06-02 18:39                       ` Borislav Petkov
2021-06-02 18:45                         ` Kuppuswamy, Sathyanarayanan
2021-06-02 18:19               ` Tom Lendacky
2021-06-02 18:29                 ` Kuppuswamy, Sathyanarayanan
2021-06-02 18:30                 ` Borislav Petkov
2021-06-03 18:14               ` Borislav Petkov
2021-06-03 18:15                 ` [RFC v2-fix-v2 1/1] x86: Introduce generic protected guest abstractionn Borislav Petkov
2021-06-04 22:01                   ` Tom Lendacky
2021-06-04 22:13                     ` Kuppuswamy, Sathyanarayanan
2021-06-04 22:15                     ` Borislav Petkov
2021-06-04 23:31                       ` Tom Lendacky
2021-06-05 11:03                         ` Borislav Petkov
2021-06-05 18:12                           ` Kuppuswamy, Sathyanarayanan
2021-06-05 20:08                             ` Borislav Petkov
2021-06-07 19:55                   ` Kirill A. Shutemov
2021-06-07 20:14                     ` Borislav Petkov
2021-06-07 22:26                       ` Kuppuswamy, Sathyanarayanan
2021-06-08 21:30                         ` [RFC v2-fix-v3 1/1] x86: Introduce generic protected guest abstraction Kuppuswamy Sathyanarayanan
2021-06-03 18:33                 ` [RFC v2-fix-v2 " Kuppuswamy, Sathyanarayanan
2021-06-03 18:41                   ` Borislav Petkov
2021-06-03 18:54                     ` Kuppuswamy, Sathyanarayanan
2021-06-07 18:01                 ` Kuppuswamy, Sathyanarayanan
2021-06-07 18:26                   ` Borislav Petkov
2021-06-09 14:01                     ` Kuppuswamy, Sathyanarayanan
2021-06-09 14:32                       ` Borislav Petkov
2021-06-09 14:56                         ` Kuppuswamy, Sathyanarayanan
2021-06-09 15:01                           ` Borislav Petkov
2021-06-09 19:41                             ` [RFC v2-fix-v4 " Kuppuswamy Sathyanarayanan
2021-06-09 22:53                               ` Sathyanarayanan Kuppuswamy Natarajan
2021-05-27  4:23           ` [RFC v2-fix-v1 2/3] x86/tdx: Handle early IO operations Kuppuswamy Sathyanarayanan
2021-06-05  4:26             ` Williams, Dan J
2021-05-27  4:23           ` [RFC v2-fix-v1 3/3] x86/tdx: Handle port I/O Kuppuswamy Sathyanarayanan
2021-06-05 18:52             ` Dan Williams
2021-06-05 20:08               ` Kuppuswamy, Sathyanarayanan
2021-06-05 21:08                 ` Dan Williams
2021-06-07 16:24                   ` Kuppuswamy, Sathyanarayanan
2021-06-07 17:17                     ` Dan Williams
2021-06-07 21:52                       ` Kuppuswamy, Sathyanarayanan
2021-06-07 22:00                         ` Dan Williams
2021-06-08  2:57                           ` Andi Kleen
2021-06-08 15:40                       ` [RFC v2-fix-v2 0/3] " Kuppuswamy Sathyanarayanan
2021-06-08 15:40                         ` [RFC v2-fix-v2 1/3] x86/tdx: Handle port I/O in decompression code Kuppuswamy Sathyanarayanan
2021-06-08 23:12                           ` Dan Williams
2021-06-08 15:40                         ` [RFC v2-fix-v2 2/3] x86/tdx: Handle early IO operations Kuppuswamy Sathyanarayanan
2021-06-08 15:40                         ` [RFC v2-fix-v2 3/3] x86/tdx: Handle port I/O Kuppuswamy Sathyanarayanan
2021-06-08 16:26                           ` Dan Williams
2021-04-26 18:01 ` [RFC v2 15/32] x86/tdx: Handle in-kernel MMIO Kuppuswamy Sathyanarayanan
2021-05-07 21:52   ` Dave Hansen
2021-05-18  0:48     ` [RFC v2-fix 1/1] " Kuppuswamy Sathyanarayanan
2021-05-18 15:00       ` Dave Hansen
2021-05-18 15:56         ` Andi Kleen
2021-05-18 16:04           ` Dave Hansen
2021-05-18 16:10             ` Andi Kleen
2021-05-18 16:22               ` Dave Hansen
2021-05-18 17:05                 ` Andi Kleen
2021-05-18 17:28               ` Andi Kleen
2021-05-18 17:11           ` Sean Christopherson
2021-05-18 17:21             ` Andi Kleen
2021-05-18 17:46               ` Dave Hansen
2021-05-18 18:36                 ` Sean Christopherson
2021-05-18 20:20                 ` Andi Kleen
2021-05-18 20:40                   ` Dave Hansen
2021-05-18 21:05                     ` Andi Kleen
2021-05-18 18:22               ` Sean Christopherson
2021-05-18 20:28                 ` Andi Kleen
2021-05-18 20:37                   ` Sean Christopherson
2021-05-18 20:56                     ` Andi Kleen
2021-05-18 16:18         ` Sean Christopherson
2021-05-18 17:15           ` Andi Kleen
2021-05-18 18:17             ` Sean Christopherson
2021-05-20 22:47               ` Kirill A. Shutemov
2021-06-02 19:42     ` [RFC v2-fix-v2 0/2] " Kuppuswamy Sathyanarayanan
2021-06-02 19:42       ` [RFC v2-fix-v2 1/2] x86/sev-es: Abstract out MMIO instruction decoding Kuppuswamy Sathyanarayanan
2021-06-05 21:56         ` Dan Williams
2021-06-08 15:59           ` [RFC v2-fix-v3 0/4] x86/tdx: Handle in-kernel MMIO Kuppuswamy Sathyanarayanan
2021-06-08 15:59             ` [RFC v2-fix-v3 1/4] x86/insn-eval: Introduce insn_get_modrm_reg_ptr() Kuppuswamy Sathyanarayanan
2021-06-08 15:59             ` [RFC v2-fix-v3 2/4] x86/insn-eval: Introduce insn_decode_mmio() Kuppuswamy Sathyanarayanan
2021-06-08 15:59             ` [RFC v2-fix-v3 3/4] x86/sev-es: Use insn_decode_mmio() for MMIO implementation Kuppuswamy Sathyanarayanan
2021-06-08 15:59             ` [RFC v2-fix-v3 4/4] x86/tdx: Handle in-kernel MMIO Kuppuswamy Sathyanarayanan
2021-06-02 19:42       ` [RFC v2-fix-v2 2/2] " Kuppuswamy Sathyanarayanan
2021-06-02 21:01         ` Andi Kleen
2021-06-02 22:14           ` Kuppuswamy, Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 16/32] x86/tdx: Handle MWAIT, MONITOR and WBINVD Kuppuswamy Sathyanarayanan
2021-05-11  1:23   ` Dan Williams
2021-05-11  2:17     ` Andi Kleen
2021-05-11  2:44       ` Kuppuswamy, Sathyanarayanan
2021-05-11  2:51         ` Andi Kleen
2021-05-11 15:37       ` Dan Williams
2021-05-11 15:42         ` Andi Kleen
2021-05-11 15:44         ` Dave Hansen
2021-05-11 15:50           ` Dan Williams
2021-05-11 15:52             ` Andi Kleen
2021-05-11 16:04               ` Dave Hansen
2021-05-11 17:06                 ` Andi Kleen
2021-05-11 17:42                   ` Dave Hansen
2021-05-11 17:48                     ` Andi Kleen
2021-05-24 23:32                       ` [RFC v2-fix-v2 1/2] x86/tdx: Handle MWAIT and MONITOR Kuppuswamy Sathyanarayanan
2021-05-24 23:32                         ` [RFC v2-fix-v2 2/2] x86/tdx: Ignore WBINVD instruction for TDX guest Kuppuswamy Sathyanarayanan
2021-05-24 23:39                           ` Dan Williams
2021-05-25  0:29                             ` Kuppuswamy, Sathyanarayanan
2021-05-25  0:50                               ` Dan Williams
2021-05-25  0:54                                 ` Sean Christopherson
2021-05-25  1:02                                 ` Andi Kleen
2021-05-25  1:45                                   ` Dan Williams
2021-05-25  2:13                                     ` Andi Kleen
2021-05-25  2:49                                       ` Dan Williams
2021-05-25  3:27                                         ` Andi Kleen
2021-05-25  3:40                                           ` Dan Williams
2021-05-26  1:09                                             ` Andi Kleen
2021-05-27  4:38                                               ` [RFC v2-fix-v3 1/1] " Kuppuswamy Sathyanarayanan
2021-06-05  3:35                                                 ` Dan Williams
2021-06-08 21:35                                                   ` [RFC v2-fix-v3 1/1] x86/tdx: Skip " Kuppuswamy Sathyanarayanan
2021-06-08 21:41                                                     ` Dan Williams
2021-06-08 22:17                                                     ` Dave Hansen
2021-06-08 22:34                                                       ` Andi Kleen
2021-06-08 22:36                                                       ` Kuppuswamy, Sathyanarayanan
2021-06-08 22:53                                                         ` Dave Hansen
2021-06-08 23:04                                                           ` Andi Kleen
2021-06-08 23:04                                                           ` Kuppuswamy, Sathyanarayanan
2021-06-08 23:32                                                     ` Dan Williams
2021-06-08 23:38                                                       ` Dave Hansen
2021-06-09  0:07                                                         ` Dan Williams
2021-06-09  0:14                                                           ` Kuppuswamy, Sathyanarayanan
2021-06-09  1:10                                                           ` [RFC v2-fix-v4 " Kuppuswamy Sathyanarayanan
2021-06-09  3:40                                                             ` Dan Williams
2021-06-09  3:56                                                               ` Kuppuswamy, Sathyanarayanan
2021-06-09  4:19                                                                 ` Dan Williams
2021-06-09  4:27                                                                   ` Andi Kleen
2021-06-09 15:09                                                                     ` Dan Williams
2021-06-09 16:12                                                                       ` Andy Lutomirski
2021-06-09 17:28                                                                         ` Kuppuswamy, Sathyanarayanan
2021-06-09 17:31                                                                           ` Dan Williams
2021-06-09 18:24                                                                             ` Kuppuswamy, Sathyanarayanan
2021-06-09 19:49                                                                               ` [RFC v2-fix-v5 1/1] x86: Skip WBINVD instruction for VM guest Kuppuswamy Sathyanarayanan
2021-06-09 19:56                                                                                 ` Dan Williams
2021-06-09 21:03                                                                                 ` Dave Hansen
2021-06-09 21:38                                                                                   ` Dan Williams
2021-06-09 21:42                                                                                     ` Kuppuswamy, Sathyanarayanan
2021-06-09 23:55                                                                                       ` Dave Hansen
2021-06-09  4:02                                                               ` [RFC v2-fix-v4 1/1] x86/tdx: Skip WBINVD instruction for TDX guest Andy Lutomirski
2021-06-09  4:21                                                                 ` Dan Williams
2021-06-09  4:25                                                                 ` Andi Kleen
2021-06-09  4:32                                                                   ` Andy Lutomirski
2021-06-09  4:40                                                                     ` Andi Kleen
2021-06-09  4:54                                                                       ` Kuppuswamy, Sathyanarayanan
2021-06-09 14:12                                                             ` Dave Hansen
2021-05-25  4:32                                       ` [RFC v2-fix-v2 2/2] x86/tdx: Ignore " Dave Hansen
2021-05-25  0:36                             ` Andi Kleen
2021-05-24 23:42                           ` Dave Hansen
2021-05-25  0:39                             ` Andi Kleen
2021-05-25  0:53                               ` Dan Williams
2021-05-25  2:26                         ` [RFC v2-fix-v2 1/2] x86/tdx: Handle MWAIT and MONITOR Dan Williams
2021-05-11 14:08     ` [RFC v2 16/32] x86/tdx: Handle MWAIT, MONITOR and WBINVD Dave Hansen
2021-05-11 16:09       ` Sean Christopherson
2021-05-11 16:16         ` Dave Hansen
2021-05-11 15:53   ` Dave Hansen
2021-04-26 18:01 ` [RFC v2 17/32] ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Structure Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 18/32] ACPICA: ACPI 6.4: MADT: add Multiprocessor Wakeup Mailbox Structure Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 19/32] ACPI/table: Print MADT Wake table information Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 20/32] x86/acpi, x86/boot: Add multiprocessor wake-up support Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 21/32] x86/boot: Add a trampoline for APs booting in 64-bit mode Kuppuswamy Sathyanarayanan
2021-05-13  2:56   ` Dan Williams
2021-05-18  0:54     ` [RFC v2-fix 1/1] " Kuppuswamy Sathyanarayanan
2021-05-18  2:06       ` Dan Williams
2021-05-18  2:53         ` Kuppuswamy, Sathyanarayanan
2021-05-18  4:08           ` Dan Williams
2021-05-20  0:18             ` Kuppuswamy, Sathyanarayanan
2021-05-20  0:40               ` Dan Williams
2021-05-20  0:42                 ` Kuppuswamy, Sathyanarayanan
2021-05-21 14:39                   ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-21 18:29                     ` Dan Williams
2021-05-22 18:17                     ` kernel test robot
2021-05-22 22:50                     ` kernel test robot
2021-04-26 18:01 ` [RFC v2 22/32] x86/boot: Avoid #VE during compressed boot for TDX platforms Kuppuswamy Sathyanarayanan
2021-05-13  3:03   ` Dan Williams
2021-04-26 18:01 ` [RFC v2 23/32] x86/boot: Avoid unnecessary #VE during boot process Kuppuswamy Sathyanarayanan
2021-05-13  3:23   ` Dan Williams
2021-05-18  0:59     ` [WARNING: UNSCANNABLE EXTRACTION FAILED][WARNING: UNSCANNABLE EXTRACTION FAILED][RFC v2-fix 1/1] x86/boot: Avoid #VE during boot for TDX platforms Kuppuswamy Sathyanarayanan
2021-05-19 16:53       ` Dave Hansen [this message]
2021-05-21 14:35         ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-05-21 16:11           ` Dave Hansen
2021-05-21 18:18             ` Sean Christopherson
2021-05-21 18:30               ` Dave Hansen
2021-05-21 18:32                 ` Kuppuswamy, Sathyanarayanan
2021-05-24 23:27                   ` [RFC v2-fix-v3 " Kuppuswamy Sathyanarayanan
2021-05-27 21:25                     ` [RFC v2-fix-v4 " Kuppuswamy Sathyanarayanan
2021-06-08 23:14                       ` Dan Williams
2021-05-21 18:31             ` [RFC v2-fix-v2 " Kuppuswamy, Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 24/32] x86/topology: Disable CPU online/offline control for TDX guest Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 25/32] x86/tdx: Forcefully disable legacy PIC for TDX guests Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 26/32] x86/mm: Move force_dma_unencrypted() to common code Kuppuswamy Sathyanarayanan
2021-05-07 21:54   ` Dave Hansen
2021-05-10 22:19     ` Kuppuswamy, Sathyanarayanan
2021-05-10 22:23       ` Dave Hansen
2021-05-12 13:08         ` Kirill A. Shutemov
2021-05-12 15:44           ` Dave Hansen
2021-05-12 15:53             ` Sean Christopherson
2021-05-13 16:40               ` Kuppuswamy, Sathyanarayanan
2021-05-13 17:49                 ` Dave Hansen
2021-05-13 18:17                   ` Kuppuswamy, Sathyanarayanan
2021-05-13 19:38                   ` Andi Kleen
2021-05-13 19:42                     ` Dave Hansen
2021-05-17 18:16                     ` Sean Christopherson
2021-05-17 18:27                       ` Kuppuswamy, Sathyanarayanan
2021-05-17 18:33                         ` Dave Hansen
2021-05-17 18:37                           ` Sean Christopherson
2021-05-17 22:32                             ` Kuppuswamy, Sathyanarayanan
2021-05-17 23:11                               ` Andi Kleen
2021-05-18  1:28             ` Kuppuswamy, Sathyanarayanan
2021-05-27  4:46               ` Kuppuswamy, Sathyanarayanan
2021-05-27  4:47                 ` [RFC v2-fix-v1 1/1] " Kuppuswamy Sathyanarayanan
2021-06-01  2:10                   ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 27/32] x86/tdx: Exclude Shared bit from __PHYSICAL_MASK Kuppuswamy Sathyanarayanan
2021-05-19  5:00   ` Kuppuswamy, Sathyanarayanan
2021-05-19 16:14   ` Dave Hansen
2021-05-20 18:48     ` Kuppuswamy, Sathyanarayanan
2021-05-20 18:56       ` Kuppuswamy, Sathyanarayanan
2021-05-20 19:33       ` Sean Christopherson
2021-05-20 19:42         ` Kuppuswamy, Sathyanarayanan
2021-05-20 20:16           ` Sean Christopherson
2021-05-20 20:31             ` Andi Kleen
2021-05-20 21:18               ` Sean Christopherson
2021-05-20 21:23                 ` Dave Hansen
2021-05-20 21:28                   ` Kuppuswamy, Sathyanarayanan
2021-05-20 23:25                     ` Andi Kleen
2021-05-20 20:56             ` Dave Hansen
2021-05-31 21:46               ` Kirill A. Shutemov
2021-06-01  2:08                 ` [RFC v2-fix-v1 1/1] x86/tdx: Exclude Shared bit from physical_mask Kuppuswamy Sathyanarayanan
2021-05-20 20:30       ` [RFC v2 27/32] x86/tdx: Exclude Shared bit from __PHYSICAL_MASK Dave Hansen
2021-04-26 18:01 ` [RFC v2 28/32] x86/tdx: Make pages shared in ioremap() Kuppuswamy Sathyanarayanan
2021-05-07 21:55   ` Dave Hansen
2021-05-07 22:38     ` Andi Kleen
2021-05-10 22:23       ` Kuppuswamy, Sathyanarayanan
2021-05-10 22:30         ` Dave Hansen
2021-05-10 22:52           ` Sean Christopherson
2021-05-11  9:35             ` Borislav Petkov
2021-05-20 20:12               ` Kuppuswamy, Sathyanarayanan
2021-05-21 15:18                 ` Borislav Petkov
2021-05-21 16:19                   ` Tom Lendacky
2021-05-21 18:49                     ` Borislav Petkov
2021-05-21 21:14                       ` Tom Lendacky
2021-05-25 18:21                         ` Kuppuswamy, Sathyanarayanan
2021-05-31 15:13                           ` Borislav Petkov
2021-05-31 17:32                             ` Kuppuswamy, Sathyanarayanan
2021-05-31 17:55                               ` Borislav Petkov
2021-05-31 18:45                                 ` Kuppuswamy, Sathyanarayanan
2021-05-31 19:14                                   ` Borislav Petkov
2021-06-01  2:07                                     ` [RFC v2-fix-v1 1/1] " Kuppuswamy Sathyanarayanan
2021-06-01  2:50                                       ` kernel test robot
2021-06-01  4:29                                       ` kernel test robot
2021-06-01 21:16                                     ` [RFC v2 28/32] " Kuppuswamy, Sathyanarayanan
2021-05-26 21:37                     ` Kuppuswamy, Sathyanarayanan
2021-05-26 22:02                       ` Tom Lendacky
2021-05-26 22:14                         ` Tom Lendacky
2021-05-26 22:20                           ` Kuppuswamy, Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 29/32] x86/tdx: Add helper to do MapGPA TDVMALL Kuppuswamy Sathyanarayanan
2021-05-19 15:59   ` Dave Hansen
2021-05-20 23:14     ` Kuppuswamy, Sathyanarayanan
2021-05-27  4:56       ` [RFC v2-fix-v1 1/1] x86/tdx: Add helper to do MapGPA hypercall Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 30/32] x86/tdx: Make DMA pages shared Kuppuswamy Sathyanarayanan
2021-05-18  1:19   ` [RFC v2-fix 1/1] " Kuppuswamy Sathyanarayanan
2021-05-18 19:55     ` Sean Christopherson
2021-05-18 22:12       ` Kuppuswamy, Sathyanarayanan
2021-05-18 22:31         ` Dave Hansen
2021-06-01  2:06           ` [RFC v2-fix-v2 " Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 31/32] x86/kvm: Use bounce buffers for TD guest Kuppuswamy Sathyanarayanan
2021-06-01  2:03   ` [RFC v2-fix-v1 1/1] " Kuppuswamy Sathyanarayanan
2021-04-26 18:01 ` [RFC v2 32/32] x86/tdx: ioapic: Add shared bit for IOAPIC base address Kuppuswamy Sathyanarayanan
2021-05-07 23:06   ` Dave Hansen
2021-05-24 23:29     ` [RFC v2-fix-v2 1/1] " Kuppuswamy Sathyanarayanan
2021-06-01  1:28       ` [RFC v2-fix-v3 " Kuppuswamy Sathyanarayanan
2021-06-01  6:12         ` kernel test robot
2021-05-03 23:21 ` [RFC v2 00/32] Add TDX Guest Support Kuppuswamy, Sathyanarayanan

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=b1aafcbb-c5db-efa5-0343-014585e73191@intel.com \
    --to=dave.hansen@intel.com \
    --cc=ak@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=knsathya@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=sathyanarayanan.kuppuswamy@linux.intel.com \
    --cc=sean.j.christopherson@intel.com \
    --cc=seanjc@google.com \
    --cc=tony.luck@intel.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.