[v6,0/6] Support TDX guests on Hyper-V

Message ID 20230504225351.10765-1-decui@microsoft.com
Headers
Series Support TDX guests on Hyper-V |

Message

Dexuan Cui May 4, 2023, 10:53 p.m. UTC
  The patchset adds the Hyper-V specific code so that a TDX guest can run
on Hyper-V. Please review.

The v6 patchset is based on today's mainline (a1fd058b07d5).

The v6 patchset addressed Michael's comments on patch 5:
  Removed 2 unnecessary lines of messages from the commit log.
  Fixed the error handling path for hv_synic_alloc()/free().
  Printed the 'ret' in hv_synic_alloc()/free().

@Michael Kelley: Can you please review patch 5?

@x86 maintainers:
  If the patches look good to you, can you please take patch 1 and 2
into the tip tree?
  
@Wei Liu: I think patch 3, 4, 5, 6 should go through the Hyper-V tree
since they change the Hyper-V code.

If you want to view the patches on github, it is here:
https://github.com/dcui/tdx/commits/decui/mainline/v6

FYI, v1-v5 are here:
https://lwn.net/ml/linux-kernel/20221121195151.21812-1-decui@microsoft.com/
https://lwn.net/ml/linux-kernel/20221207003325.21503-7-decui@microsoft.com/
https://lwn.net/ml/linux-kernel/20230206192419.24525-1-decui@microsoft.com/
https://lwn.net/ml/linux-kernel/20230408204759.14902-6-decui@microsoft.com/
https://lwn.net/ml/linux-kernel/20230422021735.27698-1-decui@microsoft.com/

Thanks,
Dexuan

Dexuan Cui (6):
  x86/tdx: Retry TDVMCALL_MAP_GPA() when needed
  x86/tdx: Support vmalloc() for tdx_enc_status_changed()
  x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests
  x86/hyperv: Support hypercalls for TDX guests
  Drivers: hv: vmbus: Support TDX guests
  x86/hyperv: Fix serial console interrupts for TDX guests

 arch/x86/coco/tdx/tdx.c            | 122 ++++++++++++++++++++++-------
 arch/x86/hyperv/hv_apic.c          |   6 +-
 arch/x86/hyperv/hv_init.c          |  27 ++++++-
 arch/x86/hyperv/ivm.c              |  20 +++++
 arch/x86/include/asm/hyperv-tlfs.h |   3 +-
 arch/x86/include/asm/mshyperv.h    |  20 +++++
 arch/x86/kernel/cpu/mshyperv.c     |  43 ++++++++++
 drivers/hv/hv.c                    |  65 ++++++++++++++-
 drivers/hv/hv_common.c             |  30 +++++++
 include/asm-generic/mshyperv.h     |   1 +
 10 files changed, 300 insertions(+), 37 deletions(-)
  

Comments

Dexuan Cui May 23, 2023, 7:24 p.m. UTC | #1
> From: Dexuan Cui <decui@microsoft.com>
> Sent: Thursday, May 4, 2023 3:54 PM
> To: ak@linux.intel.com; arnd@arndb.de; bp@alien8.de;
> brijesh.singh@amd.com; dan.j.williams@intel.com;
> dave.hansen@linux.intel.com; Haiyang Zhang <haiyangz@microsoft.com>;
> hpa@zytor.com; jane.chu@oracle.com; kirill.shutemov@linux.intel.com; KY
> Srinivasan <kys@microsoft.com>; linux-arch@vger.kernel.org;
> linux-hyperv@vger.kernel.org; luto@kernel.org; mingo@redhat.com;
> peterz@infradead.org; rostedt@goodmis.org;
> sathyanarayanan.kuppuswamy@linux.intel.com; seanjc@google.com;
> tglx@linutronix.de; tony.luck@intel.com; wei.liu@kernel.org; x86@kernel.org;
> Michael Kelley (LINUX) <mikelley@microsoft.com>
> Cc: linux-kernel@vger.kernel.org; Tianyu Lan <Tianyu.Lan@microsoft.com>;
> Dexuan Cui <decui@microsoft.com>
> Subject: [PATCH v6 0/6] Support TDX guests on Hyper-V
> 
> The patchset adds the Hyper-V specific code so that a TDX guest can run
> on Hyper-V. Please review.
> 
> The v6 patchset is based on today's mainline (a1fd058b07d5).
> 
> The v6 patchset addressed Michael's comments on patch 5:
>   Removed 2 unnecessary lines of messages from the commit log.
>   Fixed the error handling path for hv_synic_alloc()/free().
>   Printed the 'ret' in hv_synic_alloc()/free().
> 
> @Michael Kelley: Can you please review patch 5?

Thanks Michael for your Reviewed-by on patch 5.
 
> @x86 maintainers:
>   If the patches look good to you, can you please take patch 1 and 2
> into the tip tree?

Hi Dave and all, could you please take a look at the patchset?

The patchset can also be viewed here:
https://lwn.net/ml/linux-kernel/20230504225351.10765-1-decui%40microsoft.com/

> @Wei Liu: I think patch 3, 4, 5, 6 should go through the Hyper-V tree
> since they change the Hyper-V code.
> 
> If you want to view the patches on github, it is here:
> https://github.com/dcui/tdx/commits/decui/mainline/v6
> 
> FYI, v1-v5 are here:
>  <snipped> on 5/23/2023
>  
> Thanks,
> Dexuan
> 
> Dexuan Cui (6):
>   x86/tdx: Retry TDVMCALL_MAP_GPA() when needed
>   x86/tdx: Support vmalloc() for tdx_enc_status_changed()
>   x86/hyperv: Add hv_isolation_type_tdx() to detect TDX guests
>   x86/hyperv: Support hypercalls for TDX guests
>   Drivers: hv: vmbus: Support TDX guests
>   x86/hyperv: Fix serial console interrupts for TDX guests
> 
>  arch/x86/coco/tdx/tdx.c            | 122
> ++++++++++++++++++++++-------
>  arch/x86/hyperv/hv_apic.c          |   6 +-
>  arch/x86/hyperv/hv_init.c          |  27 ++++++-
>  arch/x86/hyperv/ivm.c              |  20 +++++
>  arch/x86/include/asm/hyperv-tlfs.h |   3 +-
>  arch/x86/include/asm/mshyperv.h    |  20 +++++
>  arch/x86/kernel/cpu/mshyperv.c     |  43 ++++++++++
>  drivers/hv/hv.c                    |  65 ++++++++++++++-
>  drivers/hv/hv_common.c             |  30 +++++++
>  include/asm-generic/mshyperv.h     |   1 +
>  10 files changed, 300 insertions(+), 37 deletions(-)

Thanks,
-- Dexuan