[PATCHv2, RESEND 0/7] x86/tdx: Changes for TDX guest initialization

From: Kirill A. Shutemov
Date: Thu Jan 26 2023 - 17:30:31 EST


Resend v2 of the patchset. I believe it is ready to be applied. Changes
are pretty straight-forward and got tested properly (famous last words).

Changes to __tdx_hypercall() are also required for Hyper-V TDX guest
enabling.

Several changes to TDX initialization:

- Make early panic message visible to user;

- Relax SEPT_VE_DISABLE for debug TD. It helps to investigate bugs
resulting in access of unaccepted memory.

- Make sure NOTIFY_ENABLES is off to eliminate possible source of random
#VE.

The patchset makes use of ReportFatalError TDVMCALL. The definition of
the TDVMCALL has changed in recent GHCI update[1].

v2:
- Split the first patch;
- Introduce is_private_gpa();
- Apply Reviewed-by from Dave;

Kirill A. Shutemov (7):
x86/tdx: Fix typo in comment in __tdx_hypercall()
x86/tdx: Add more registers to struct tdx_hypercall_args
x86/tdx: Refactor __tdx_hypercall() to allow pass down more arguments
x86/tdx: Expand __tdx_hypercall() to handle more arguments
x86/tdx: Use ReportFatalError to report missing SEPT_VE_DISABLE
x86/tdx: Relax SEPT_VE_DISABLE check for debug TD
x86/tdx: Disable NOTIFY_ENABLES

arch/x86/coco/tdx/tdcall.S | 83 ++++++++++++++++++++++---------
arch/x86/coco/tdx/tdx.c | 62 ++++++++++++++++++++++-
arch/x86/include/asm/shared/tdx.h | 6 +++
arch/x86/kernel/asm-offsets.c | 6 +++
4 files changed, 131 insertions(+), 26 deletions(-)

--
2.39.1