From: Dan Williams <dan.j.williams@intel.com>
To: "Kuppuswamy,
Sathyanarayanan" <sathyanarayanan.kuppuswamy@linux.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>
Subject: Re: [RFC v2-fix-v1 3/3] x86/tdx: Handle port I/O
Date: Mon, 7 Jun 2021 10:17:14 -0700 [thread overview]
Message-ID: <CAPcyv4iOJJjghTPTLCkvT-Y_SJOhCbfm66m_NO5Ue+eVr_0NZA@mail.gmail.com> (raw)
In-Reply-To: <2aba694b-ec36-d57f-06e0-a269f9953bb3@linux.intel.com>
On Mon, Jun 7, 2021 at 9:25 AM Kuppuswamy, Sathyanarayanan
<sathyanarayanan.kuppuswamy@linux.intel.com> wrote:
>
>
>
> On 6/5/21 2:08 PM, Dan Williams wrote:
> > On Sat, Jun 5, 2021 at 1:08 PM Kuppuswamy, Sathyanarayanan
> > <sathyanarayanan.kuppuswamy@linux.intel.com> wrote:
> >>
> >>
> >>
> >> On 6/5/21 11:52 AM, Dan Williams wrote:
> >>> On Wed, May 26, 2021 at 9:24 PM Kuppuswamy Sathyanarayanan
> >>> <sathyanarayanan.kuppuswamy@linux.intel.com> wrote:
> >>>>
> >>>> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
> >>>>
> >>>> TDX hypervisors cannot emulate instructions directly. This
> >>>> includes port IO which is normally emulated in the hypervisor.
> >>>> All port IO instructions inside TDX trigger the #VE exception
> >>>> in the guest and would be normally emulated there.
> >>>>
> >>>> For the really early code in the decompressor, #VE cannot be
> >>>> used because the IDT needed for handling the exception is not
> >>>> set-up, and some other infrastructure needed by the handler
> >>>> is missing. So to support port IO in decompressor code, add
> >>>> support for paravirt based I/O port virtualization.
> >>>>
> >>>> Also string I/O is not supported in TDX guest. So, unroll the
> >>>> string I/O operation into a loop operating on one element at
> >>>> a time. This method is similar to AMD SEV, so just extend the
> >>>> support for TDX guest platform.
> >>>
> >>> Given early port IO is broken out in its own previous I think it makes
> >>> sense to break out the decompressor port IO enabling from final
> >>> runtime port IO support.
> >>
> >> Patch titled "x86/tdx: Handle early IO operations" mainly adds
> >> IO #VE support in early exception handler. Decompression code IO
> >> support does not have dependency on it. You still think it is
> >> better to move it that patch?
> >>
> >
> > No, I was suggesting three patches instead of 2:
>
> Ok. I will move it to separate patch.
>
> >
>
> snip
>
> >>
> >> Currently decompression code cannot use #VE based IO emulation. It does
> >> not know how to handle #VE exceptions. Also, It is much easier to replace
> >> IO calls with TDX hypercalls in decompression code when compared with
> >> teaching how to handle #VE exceptions in decompression code.
> >
> > Ok, but that does not answer the background behind the decision to use
> > emulation rather than direct replacement of port IO instructions in
> > the final kernel runtime image.
>
> The reason for using #VE based emulation is,
>
> 1. It does not require changes to all usages of emulated instructions in
> all the drivers.
> 2. Directly replacing instructions with TDX hypercalls will lead to bloated
> image. So we cannot universally adapt this approach.
>
> Reason for not adapting to use #VE approach for decompression code is,
>
> 1. #VE handler support does not exist for de-compressor code.
> 2. Adding such support is more complex and in-efficient (just for
> single use case of handling IO instructions).
>
> So we have replaced IO instructions with TDX hypercalls in decompression code.
>
> Did it answer your query?
Yes, all but the concern of printk recursion.
>
> >
> > This patch mixes those 2 concerns and I think it deserves to be broken
> > out and explained.
> >
>
>
>
> >>>> +/*
> >>>> + * Helper function used for making hypercall for "out"
> >>>> + * instruction. It will be called from __out IO
> >>>> + * macro (in tdx.h).
> >>>> + */
> >>>> +void tdg_out(int size, int port, unsigned int value)
> >>>> +{
> >>>> + __tdx_hypercall(EXIT_REASON_IO_INSTRUCTION, size, 1,
> >>>> + port, value, NULL);
> >>>> +}
> >>>> +
> >>>> +/*
> >>>> + * Helper function used for making hypercall for "in"
> >>>> + * instruction. It will be called from __in IO macro
> >>>> + * (in tdx.h). If IO is failed, it will return all 1s.
> >>>> + */
> >>>> +unsigned int tdg_in(int size, int port)
> >>>> +{
> >>>> + struct tdx_hypercall_output out = {0};
> >>>> + int err;
> >>>> +
> >>>> + err = __tdx_hypercall(EXIT_REASON_IO_INSTRUCTION, size, 0,
> >>>> + port, 0, &out);
> >>>> +
> >>>> + return err ? UINT_MAX : out.r11;
> >>>> +}
> >>>
> >>> The previous patch open coded tdg_{in,out} and this one provides
> >>> helpers. I think at a minimum they should be consistent and pick one
> >>> style.
> >>
> >> As I have mentioned above, early IO #VE handler is a special case. we
> >> don't want to complicate its code path with debug or tracing support.
> >> So it is not a good comparison target.
> >
> > This patch and the last do the same thing in 2 different ways. One of
> > them should match the other even if the helpers are not directly
> > reused.
>
> I am not sure whether I understand your question. But if the question is
> about different implementation, the difference is due to where it is
> being called.
>
> In early IO support patch, tdx_early_io() is called from #VE handler.
> So there is extra buffer code to extract exception information from
> struct ve_info.
>
> In this case, the caller is __in/__out macros. So there is no need
> for above mentioned buffer code.
>
> Actual hypercall usage is similar in both cases.
It's similar when it can be identical. It simply looks like 2 authors
wrote 2 different code paths which is the case. Just huddle and code
it one way, I don't much care which.
>
> >
> >> In this case, the reason for adding helper function is to make it easier
> >> for calling it from tdx.h.
> >>>
> >>>> diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
> >>>> index ef7a686a55a9..daa75c8eef5d 100644
> >>>> --- a/arch/x86/include/asm/io.h
> >>>> +++ b/arch/x86/include/asm/io.h
> >>>> @@ -40,6 +40,7 @@
> >>>>
> >>
> >> snip
> >>
> >>>> +
> >>>> +/* Helper function for converting {b,w,l} to byte size */
> >>>> +static inline int tdx_get_iosize(char *str)
> >>>> +{
> >>>> + if (str[0] == 'w')
> >>>> + return 2;
> >>>> + else if (str[0] == 'l')
> >>>> + return 4;
> >>>> +
> >>>> + return 1;
> >>>> +}
> >>>
> >>> This seems like an unnecessary novelty. The BUILDIO() macro in
> >>> arch/x86/include/asm/io.h takes a type argument, why can't the size be
> >>> explicitly specified rather than inferred from string parsing?
> >>
> >> I don't want to make changes to generic macros in io.h if it can be
> >> avoided. It follows similar argument/type in all arch/* code. Also, it
> >> is easier to handle TDX as a special case here.
> >>
> >
> > What changes are you talking about to the generic macros? The BUILDIO
> > macro passes in a size parameter explicitly rather than inferring the
> > size from the string name of an argument. BUILDIO does not need to
> > change, it's backend just needs to do the right thing in the TDX case.
> >
> > Otherwise, "I don't want to" is not a sufficient justification for
> > avoiding needlessly new design patterns.
>
> I hope this is what you meant?
>
> --- a/arch/x86/include/asm/io.h
> +++ b/arch/x86/include/asm/io.h
> @@ -273,25 +273,25 @@ static inline bool sev_key_active(void) { return false; }
> #endif /* CONFIG_AMD_MEM_ENCRYPT */
>
> #ifndef __out
> -#define __out(bwl, bw) \
> +#define __out(bwl, bw, sz) \
> asm volatile("out" #bwl " %" #bw "0, %w1" : : "a"(value), "Nd"(port))
> #endif
>
> #ifndef __in
> -#define __in(bwl, bw) \
> +#define __in(bwl, bw, sz) \
> asm volatile("in" #bwl " %w1, %" #bw "0" : "=a"(value) : "Nd"(port))
> #endif
>
> #define BUILDIO(bwl, bw, type) \
> static inline void out##bwl(unsigned type value, int port) \
> { \
> - __out(bwl, bw); \
> + __out(bwl, bw, sizeof(type)); \
> } \
> \
> static inline unsigned type in##bwl(int port) \
> { \
> unsigned type value; \
> - __in(bwl, bw); \
> + __in(bwl, bw, sizeof(type)); \
> return value; \
> }
Looks good.
next prev parent reply other threads:[~2021-06-07 17:18 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 [this message]
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-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=CAPcyv4iOJJjghTPTLCkvT-Y_SJOhCbfm66m_NO5Ue+eVr_0NZA@mail.gmail.com \
--to=dan.j.williams@intel.com \
--cc=ak@linux.intel.com \
--cc=ashok.raj@intel.com \
--cc=dave.hansen@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=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).