From: "Kuppuswamy, Sathyanarayanan" <sathyanarayanan.kuppuswamy@linux.intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Andy Lutomirski <luto@kernel.org>,
Dave Hansen <dave.hansen@intel.com>,
Tony Luck <tony.luck@intel.com>, Andi Kleen <ak@linux.intel.com>,
Kirill Shutemov <kirill.shutemov@linux.intel.com>,
Kuppuswamy Sathyanarayanan <knsathya@kernel.org>,
Raj Ashok <ashok.raj@intel.com>,
Sean Christopherson <seanjc@google.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Sean Christopherson <sean.j.christopherson@intel.com>,
Kai Huang <kai.huang@intel.com>
Subject: Re: [RFC v2-fix 1/1] x86/boot: Add a trampoline for APs booting in 64-bit mode
Date: Mon, 17 May 2021 19:53:05 -0700 [thread overview]
Message-ID: <861a316c-09f6-5969-6238-e402fca917db@linux.intel.com> (raw)
In-Reply-To: <CAPcyv4hvFe5v72zm5+4mpmsv1u4pEizXMCcjFysKZAEkkOSrGw@mail.gmail.com>
On 5/17/21 7:06 PM, Dan Williams wrote:
> I notice that you have [RFC v2-fix 1/1] as the prefix for this patch.
> b4 recently gained support for partial series re-rolls [1], but I
> think you would need to bump the version number [RFC PATCH v3 21/32]
> and maintain the patch numbering. In this case with changes moving
> between patches, and those other patches being squashed any chance of
> automated reconstruction of this series is likely lost.
Ok. I will make sure to bump the version in next partial re-roll.
If I am fixing this patch as per your comments, do I need bump the
patch version for it as well?
>
> Just wanted to note that for future reference in case you were hoping
> to avoid resending full series in the future. For now, some more
> comments below:
Thanks.
>
> [1]: https://lore.kernel.org/tools/20210517161317.teawoh5qovxpmqdc@nitro.local/
>
> On Mon, May 17, 2021 at 5:54 PM Kuppuswamy Sathyanarayanan
> <sathyanarayanan.kuppuswamy@linux.intel.com> wrote:
>>
>> From: Sean Christopherson <sean.j.christopherson@intel.com>
>>
>> Add a trampoline for booting APs in 64-bit mode via a software handoff
>> with BIOS, and use the new trampoline for the ACPI MP wake protocol used
>> by TDX. You can find MADT MP wake protocol details in ACPI specification
>> r6.4, sec 5.2.12.19.
>>
>> Extend the real mode IDT pointer by four bytes to support LIDT in 64-bit
>> mode. For the GDT pointer, create a new entry as the existing storage
>> for the pointer occupies the zero entry in the GDT itself.
>>
>> Reported-by: Kai Huang <kai.huang@intel.com>
>> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
>> Reviewed-by: Andi Kleen <ak@linux.intel.com>
>> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
>> ---
>>
>> Changes since RFC v2:
>> * Removed X86_CR0_NE and EFER related changes from this changes
>
> This was only partially done, see below...
>
>> and moved it to patch titled "x86/boot: Avoid #VE during
>> boot for TDX platforms"
>> * Fixed commit log as per Dan's suggestion.
>> * Added inline get_trampoline_start_ip() to set start_ip.
>
> You also added a comment to tr_idt, but didn't mention it here, so I
> went to double check. Please take care to document all changes to the
> patch from the previous review.
Ok. I will make sure change log is current.
>
>>
>> arch/x86/boot/compressed/pgtable.h | 2 +-
>> arch/x86/include/asm/realmode.h | 10 +++++++
>> arch/x86/kernel/smpboot.c | 2 +-
>> arch/x86/realmode/rm/header.S | 1 +
>> arch/x86/realmode/rm/trampoline_64.S | 38 ++++++++++++++++++++++++
>> arch/x86/realmode/rm/trampoline_common.S | 7 ++++-
>> 6 files changed, 57 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/x86/boot/compressed/pgtable.h b/arch/x86/boot/compressed/pgtable.h
>> index 6ff7e81b5628..cc9b2529a086 100644
>> --- a/arch/x86/boot/compressed/pgtable.h
>> +++ b/arch/x86/boot/compressed/pgtable.h
>> @@ -6,7 +6,7 @@
>> #define TRAMPOLINE_32BIT_PGTABLE_OFFSET 0
>>
>> #define TRAMPOLINE_32BIT_CODE_OFFSET PAGE_SIZE
>> -#define TRAMPOLINE_32BIT_CODE_SIZE 0x70
>> +#define TRAMPOLINE_32BIT_CODE_SIZE 0x80
>>
>> #define TRAMPOLINE_32BIT_STACK_END TRAMPOLINE_32BIT_SIZE
>>
>> diff --git a/arch/x86/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
>> index 5db5d083c873..3328c8edb200 100644
>> --- a/arch/x86/include/asm/realmode.h
>> +++ b/arch/x86/include/asm/realmode.h
>> @@ -25,6 +25,7 @@ struct real_mode_header {
>> u32 sev_es_trampoline_start;
>> #endif
>> #ifdef CONFIG_X86_64
>> + u32 trampoline_start64;
>> u32 trampoline_pgd;
>> #endif
>> /* ACPI S3 wakeup */
>> @@ -88,6 +89,15 @@ static inline void set_real_mode_mem(phys_addr_t mem)
>> real_mode_header = (struct real_mode_header *) __va(mem);
>> }
>>
>> +static inline unsigned long get_trampoline_start_ip(void)
>
> I'd prefer this helper take a 'struct real_mode_header *rmh' as an
> argument rather than assume a global variable.
I am fine with it. But existing inline functions also directly read/writes
the real_mode_header. So I just followed the same format.
I will fix this in next version.
>
>> +{
>> +#ifdef CONFIG_X86_64
>> + if (is_tdx_guest())
>> + return real_mode_header->trampoline_start64;
>> +#endif
>> + return real_mode_header->trampoline_start;
>> +}
>> +
>> void reserve_real_mode(void);
>>
>> #endif /* __ASSEMBLY__ */
>> diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
>> index 16703c35a944..0b4dff5e67a9 100644
>> --- a/arch/x86/kernel/smpboot.c
>> +++ b/arch/x86/kernel/smpboot.c
>> @@ -1031,7 +1031,7 @@ static int do_boot_cpu(int apicid, int cpu, struct task_struct *idle,
>> int *cpu0_nmi_registered)
>> {
>> /* start_ip had better be page-aligned! */
>> - unsigned long start_ip = real_mode_header->trampoline_start;
>> + unsigned long start_ip = get_trampoline_start_ip();
>>
>> unsigned long boot_error = 0;
>> unsigned long timeout;
>> diff --git a/arch/x86/realmode/rm/header.S b/arch/x86/realmode/rm/header.S
>> index 8c1db5bf5d78..2eb62be6d256 100644
>> --- a/arch/x86/realmode/rm/header.S
>> +++ b/arch/x86/realmode/rm/header.S
>> @@ -24,6 +24,7 @@ SYM_DATA_START(real_mode_header)
>> .long pa_sev_es_trampoline_start
>> #endif
>> #ifdef CONFIG_X86_64
>> + .long pa_trampoline_start64
>> .long pa_trampoline_pgd;
>> #endif
>> /* ACPI S3 wakeup */
>> diff --git a/arch/x86/realmode/rm/trampoline_64.S b/arch/x86/realmode/rm/trampoline_64.S
>> index 84c5d1b33d10..754f8d2ac9e8 100644
>> --- a/arch/x86/realmode/rm/trampoline_64.S
>> +++ b/arch/x86/realmode/rm/trampoline_64.S
>> @@ -161,6 +161,19 @@ SYM_CODE_START(startup_32)
>> ljmpl $__KERNEL_CS, $pa_startup_64
>> SYM_CODE_END(startup_32)
>>
>> +SYM_CODE_START(pa_trampoline_compat)
>> + /*
>> + * In compatibility mode. Prep ESP and DX for startup_32, then disable
>> + * paging and complete the switch to legacy 32-bit mode.
>> + */
>> + movl $rm_stack_end, %esp
>> + movw $__KERNEL_DS, %dx
>> +
>> + movl $(X86_CR0_NE | X86_CR0_PE), %eax
>
> Before this patch the startup path did not touch X86_CR0_NE. I assume
> it was added opportunistically for the TDX case? If it is to stay in
> this patch it deserves a code comment / mention in the changelog, or
> it needs to move to the other patch that fixes up the CR0 setup for
> TDX.
I will move X86_CR0_NE related update to the patch that has other
X86_CR0_NE related updates.
>
>
>> + movl %eax, %cr0
>> + ljmpl $__KERNEL32_CS, $pa_startup_32
>> +SYM_CODE_END(pa_trampoline_compat)
>> +
>> .section ".text64","ax"
>> .code64
>> .balign 4
>> @@ -169,6 +182,20 @@ SYM_CODE_START(startup_64)
>> jmpq *tr_start(%rip)
>> SYM_CODE_END(startup_64)
>>
>> +SYM_CODE_START(trampoline_start64)
>> + /*
>> + * APs start here on a direct transfer from 64-bit BIOS with identity
>> + * mapped page tables. Load the kernel's GDT in order to gear down to
>> + * 32-bit mode (to handle 4-level vs. 5-level paging), and to (re)load
>> + * segment registers. Load the zero IDT so any fault triggers a
>> + * shutdown instead of jumping back into BIOS.
>> + */
>> + lidt tr_idt(%rip)
>> + lgdt tr_gdt64(%rip)
>> +
>> + ljmpl *tr_compat(%rip)
>> +SYM_CODE_END(trampoline_start64)
>> +
>> .section ".rodata","a"
>> # Duplicate the global descriptor table
>> # so the kernel can live anywhere
>> @@ -182,6 +209,17 @@ SYM_DATA_START(tr_gdt)
>> .quad 0x00cf93000000ffff # __KERNEL_DS
>> SYM_DATA_END_LABEL(tr_gdt, SYM_L_LOCAL, tr_gdt_end)
>>
>> +SYM_DATA_START(tr_gdt64)
>> + .short tr_gdt_end - tr_gdt - 1 # gdt limit
>> + .long pa_tr_gdt
>> + .long 0
>> +SYM_DATA_END(tr_gdt64)
>> +
>> +SYM_DATA_START(tr_compat)
>> + .long pa_trampoline_compat
>> + .short __KERNEL32_CS
>> +SYM_DATA_END(tr_compat)
>> +
>> .bss
>> .balign PAGE_SIZE
>> SYM_DATA(trampoline_pgd, .space PAGE_SIZE)
>> diff --git a/arch/x86/realmode/rm/trampoline_common.S b/arch/x86/realmode/rm/trampoline_common.S
>> index 5033e640f957..ade7db208e4e 100644
>> --- a/arch/x86/realmode/rm/trampoline_common.S
>> +++ b/arch/x86/realmode/rm/trampoline_common.S
>> @@ -1,4 +1,9 @@
>> /* SPDX-License-Identifier: GPL-2.0 */
>> .section ".rodata","a"
>> .balign 16
>> -SYM_DATA_LOCAL(tr_idt, .fill 1, 6, 0)
>> +
>> +/* .fill cannot be used for size > 8. So use short and quad */
>
> If there is to be a comment here it should be to clarify why @tr_idt
> is 10 bytes, not necessarily a quirk of the assembler.
Got it. I will fix the comment or remove it.
>
>> +SYM_DATA_START_LOCAL(tr_idt)
>
> The .fill restriction is only for @size, not @repeat. So, what's wrong
> with SYM_DATA_LOCAL(tr_idt, .fill 2, 5, 0)?
Any reason to prefer above change over previous code ?
SYM_DATA_START_LOCAL(tr_idt)
.short 0
.quad 0
SYM_DATA_END(tr_idt)
>
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
next prev parent reply other threads:[~2021-05-18 2:53 UTC|newest]
Thread overview: 381+ 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 [this message]
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-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 ` [RFC " Dave Hansen
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 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-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=861a316c-09f6-5969-6238-e402fca917db@linux.intel.com \
--to=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=ak@linux.intel.com \
--cc=ashok.raj@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@intel.com \
--cc=kai.huang@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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).