[RFC PATCH v5 00/29] TDX KVM selftests

2023-12-12 Thread Sagi Shahar
when host consumes a TD private memory KVM: selftests: TDX: Add shared memory test Sagi Shahar (11): KVM: selftests: TDX: Add report_fatal_error test KVM: selftests: TDX: Add basic TDX CPUID test KVM: selftests: TDX: Add basic get_td_vmcall_info test KVM: selftests: TDX: Add TDX IO w

[RFC PATCH v5 02/29] KVM: selftests: Expose function that sets up sregs based on VM's mode

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng This allows initializing sregs without setting vCPU registers in KVM. No functional change intended. Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/include/x86_64/processor.h | 2 + .../selftests/kvm/lib/x86_64

[RFC PATCH v5 03/29] KVM: selftests: Store initial stack address in struct kvm_vcpu

2023-12-12 Thread Sagi Shahar
sible later to be passed to the boot code for rsp initialization. Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- tools/testing/selftests/kvm/include/kvm_util_base.h | 1 + tools/testing/selftests/kvm/lib/x86_64/processor.c | 4 +++- 2 files chang

[RFC PATCH v5 01/29] KVM: selftests: Add function to allow one-to-one GVA to GPA mappings

2023-12-12 Thread Sagi Shahar
-off-by: Sagi Shahar --- .../selftests/kvm/include/kvm_util_base.h | 2 + tools/testing/selftests/kvm/lib/kvm_util.c| 63 --- 2 files changed, 55 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/kvm/include/kvm_util_base.h b/tools/testing/selftests/kvm

[RFC PATCH v5 05/29] KVM: selftests: Add helper functions to create TDX VMs

2023-12-12 Thread Sagi Shahar
ister state cannot be manipulated directly by setting the VM's memory, hence boot code is provided at the TD's reset vector. This boot code takes boot parameters loaded in the TD's memory and sets up the TD for the selftest. Signed-off-by: Erdem Aktas Signed-off-by: Ryan Afranji

[RFC PATCH v5 04/29] KVM: selftests: Refactor steps in vCPU descriptor table initialization

2023-12-12 Thread Sagi Shahar
is used after vm_init_descriptor_tables(). Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/include/x86_64/processor.h | 2 ++ .../selftests/kvm/lib/x86_64/processor.c | 19 --- 2 files changed, 18 insertions(+)

[RFC PATCH v5 07/29] KVM: selftests: TDX: Update load_td_memory_region for VM memory backed by guest memfd

2023-12-12 Thread Sagi Shahar
Signed-off-by: Sagi Shahar --- .../selftests/kvm/lib/x86_64/tdx/tdx_util.c | 41 +++ 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/kvm/lib/x86_64/tdx/tdx_util.c b/tools/testing/selftests/kvm/lib/x86_64/tdx/tdx_util.c index 6b995c3f6153

[RFC PATCH v5 06/29] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng This also exercises the KVM_TDX_CAPABILITIES ioctl. Suggested-by: Isaku Yamahata Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/lib/x86_64/tdx/tdx_util.c | 69 ++- 1 file changed, 66 insertions

[RFC PATCH v5 08/29] KVM: selftests: TDX: Add TDX lifecycle test

2023-12-12 Thread Sagi Shahar
From: Erdem Aktas Adding a test to verify TDX lifecycle by creating a TD and running a dummy TDG.VP.VMCALL inside it. Signed-off-by: Erdem Aktas Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar Co-developed-by: Ackerley Tng Signed-off-by: Ackerley Tng --- tools/testing/selftests

[RFC PATCH v5 09/29] KVM: selftests: TDX: Add report_fatal_error test

2023-12-12 Thread Sagi Shahar
The test checks report_fatal_error functionality. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 6 ++- .../kvm/include/x86_64/tdx/tdx_util.h | 1 + .../kvm/include/x86_64/tdx/test_util.h

[RFC PATCH v5 10/29] KVM: selftests: TDX: Adding test case for TDX port IO

2023-12-12 Thread Sagi Shahar
From: Erdem Aktas Verifies TDVMCALL READ and WRITE operations. Signed-off-by: Erdem Aktas Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../kvm/include/x86_64/tdx/test_util.h| 34 .../selftests/kvm/x86_64/tdx_vm_tests.c | 82

[RFC PATCH v5 11/29] KVM: selftests: TDX: Add basic TDX CPUID test

2023-12-12 Thread Sagi Shahar
The test reads CPUID values from inside a TD VM and compare them to expected values. The test targets CPUID values which are virtualized as "As Configured", "As Configured (if Native)", "Calculated", "Fixed" and "Native" according to the TD

[RFC PATCH v5 12/29] KVM: selftests: TDX: Add basic get_td_vmcall_info test

2023-12-12 Thread Sagi Shahar
The test calls get_td_vmcall_info from the guest and verifies the expected returned values. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 3 + .../kvm/include/x86_64/tdx/test_util.h| 27

[RFC PATCH v5 13/29] KVM: selftests: TDX: Add TDX IO writes test

2023-12-12 Thread Sagi Shahar
The test verifies IO writes of various sizes from the guest to the host. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdcall.h | 3 + .../selftests/kvm/x86_64/tdx_vm_tests.c | 91 +++ 2 files

[RFC PATCH v5 14/29] KVM: selftests: TDX: Add TDX IO reads test

2023-12-12 Thread Sagi Shahar
The test verifies IO reads of various sizes from the host to the guest. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/x86_64/tdx_vm_tests.c | 87 +++ 1 file changed, 87 insertions(+) diff --git a/tools/testing

[RFC PATCH v5 15/29] KVM: selftests: TDX: Add TDX MSR read/write tests

2023-12-12 Thread Sagi Shahar
The test verifies reads and writes for MSR registers with different access level. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 5 + .../selftests/kvm/lib/x86_64/tdx/tdx.c| 27

[RFC PATCH v5 16/29] KVM: selftests: TDX: Add TDX HLT exit test

2023-12-12 Thread Sagi Shahar
The test verifies that the guest runs TDVMCALL and the guest vCPU enters to the halted state. Signed-off-by: Erdem Aktas Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 2 + .../selftests/kvm/lib/x86_64

[RFC PATCH v5 17/29] KVM: selftests: TDX: Add TDX MMIO reads test

2023-12-12 Thread Sagi Shahar
The test verifies MMIO reads of various sizes from the host to the guest. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdcall.h | 2 + .../selftests/kvm/include/x86_64/tdx/tdx.h| 3 + .../kvm/include/x86_64

[RFC PATCH v5 19/29] KVM: selftests: TDX: Add TDX CPUID TDVMCALL test

2023-12-12 Thread Sagi Shahar
This test issues a CPUID TDVMCALL from inside the guest to get the CPUID values as seen by KVM. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 4 + .../selftests/kvm/lib/x86_64/tdx/tdx.c| 26

[RFC PATCH v5 18/29] KVM: selftests: TDX: Add TDX MMIO writes test

2023-12-12 Thread Sagi Shahar
The test verifies MMIO writes of various sizes from the guest to the host. Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 2 + .../selftests/kvm/lib/x86_64/tdx/tdx.c| 14 +++ .../selftests/kvm

[RFC PATCH v5 21/29] KVM: selftests: TDX: Add TDG.VP.INFO test

2023-12-12 Thread Sagi Shahar
From: Roger Wang Adds a test for TDG.VP.INFO Signed-off-by: Roger Wang Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji --- .../selftests/kvm/include/x86_64/tdx/tdcall.h | 19 +++ .../selftests/kvm/include/x86_64/tdx/tdx.h| 5 + .../selftests/kvm

[RFC PATCH v5 22/29] KVM: selftests: Add functions to allow mapping as shared

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/include/kvm_util_base.h | 24 ++ tools/testing/selftests/kvm/lib/kvm_util.c| 32 +++ .../selftests/kvm/lib/x86_64/processor.c

[RFC PATCH v5 20/29] KVM: selftests: TDX: Verify the behavior when host consumes a TD private memory

2023-12-12 Thread Sagi Shahar
From: Ryan Afranji The test checks that host can only read fixed values when trying to access the guest's private memory. Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng --- .../selftests/kvm/x86_64/tdx_vm_tests.c | 85 +++ 1

[RFC PATCH v5 23/29] KVM: selftests: TDX: Add shared memory test

2023-12-12 Thread Sagi Shahar
From: Ryan Afranji Adds a test that sets up shared memory between the host and guest. Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar Signed-off-by: Ackerley Tng --- tools/testing/selftests/kvm/Makefile | 1 + .../selftests/kvm/include/x86_64/tdx/tdx.h| 2 + .../kvm

[RFC PATCH v5 26/29] KVM: selftests: TDX: Add support for TDG.VP.VEINFO.GET

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/include/x86_64/tdx/tdx.h| 21 +++ .../selftests/kvm/lib/x86_64/tdx/tdx.c| 19 + 2 files changed, 40 insertions(+) diff

[RFC PATCH v5 25/29] KVM: selftests: TDX: Add support for TDG.MEM.PAGE.ACCEPT

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- tools/testing/selftests/kvm/include/x86_64/tdx/tdx.h | 2 ++ tools/testing/selftests/kvm/lib/x86_64/tdx/tdx.c | 5 + 2 files changed, 7 insertions(+) diff --git a/tools/testing

[RFC PATCH v5 28/29] KVM: selftests: TDX: Add TDX UPM selftest

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng This tests the use of guest memory with explicit MapGPA calls. Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- tools/testing/selftests/kvm/Makefile | 1 + .../selftests/kvm/x86_64/tdx_upm_test.c | 401

[RFC PATCH v5 24/29] KVM: selftests: Expose _vm_vaddr_alloc

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng vm_vaddr_alloc always allocates memory in memslot 0. This allows users of this function to choose which memslot to allocate virtual memory in. Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- tools/testing/selftests/kvm/include

[RFC PATCH v5 27/29] KVM: selftests: Propagate KVM_EXIT_MEMORY_FAULT to userspace

2023-12-12 Thread Sagi Shahar
ays be set to EFAULT or EHWPOISON when KVM exits with KVM_EXIT_MEMORY_FAULT, userspace should assume kvm_run.exit_reason is stale/undefined for all other error numbers. Signed-off-by: Sagi Shahar --- tools/testing/selftests/kvm/lib/kvm_util.c | 4 1 file changed, 4 insertions(+) diff --git a/tool

[RFC PATCH v5 29/29] KVM: selftests: TDX: Add TDX UPM selftests for implicit conversion

2023-12-12 Thread Sagi Shahar
From: Ackerley Tng This tests the use of guest memory without explicit MapGPA calls. Signed-off-by: Ackerley Tng Signed-off-by: Ryan Afranji Signed-off-by: Sagi Shahar --- .../selftests/kvm/x86_64/tdx_upm_test.c | 86 +-- 1 file changed, 77 insertions(+), 9 deletions

Re: [RFC PATCH v5 00/29] TDX KVM selftests

2024-06-21 Thread Sagi Shahar
On Thu, Jun 20, 2024 at 9:51 PM Edgecombe, Rick P wrote: > > +Yan > > On Wed, 2024-06-05 at 14:44 -0700, Rick Edgecombe wrote: > > > I will take a look at rebasing the selftests on top of the Intel > > > development branch and I can post it on our github branch. We can talk > > > about co-developm

Re: [RFC PATCH v5 01/29] KVM: selftests: Add function to allow one-to-one GVA to GPA mappings

2024-07-23 Thread Sagi Shahar
On Tue, Feb 20, 2024 at 7:43 PM Binbin Wu wrote: > > > > On 12/13/2023 4:46 AM, Sagi Shahar wrote: > > From: Ackerley Tng > > > > One-to-one GVA to GPA mappings can be used in the guest to set up boot > > sequences during which paging is enabled, hence r

Re: [RFC PATCH v5 01/29] KVM: selftests: Add function to allow one-to-one GVA to GPA mappings

2024-07-23 Thread Sagi Shahar
On Thu, Mar 21, 2024 at 5:29 PM Zhang, Dongsheng X wrote: > > > > On 12/12/2023 12:46 PM, Sagi Shahar wrote: > > From: Ackerley Tng > > > > One-to-one GVA to GPA mappings can be used in the guest to set up boot > > sequences during which paging is enabled, h

Re: [RFC PATCH v5 04/29] KVM: selftests: Refactor steps in vCPU descriptor table initialization

2024-07-23 Thread Sagi Shahar
On Tue, Feb 20, 2024 at 11:43 PM Binbin Wu wrote: > > > > On 12/13/2023 4:46 AM, Sagi Shahar wrote: > > From: Ackerley Tng > > > > Split the vCPU descriptor table initialization process into a few > > steps and expose them: > > > > + Setting up t

Re: [RFC PATCH v5 08/29] KVM: selftests: TDX: Add TDX lifecycle test

2024-07-25 Thread Sagi Shahar
On Fri, Mar 22, 2024 at 4:33 PM Chen, Zide wrote: > > > > On 12/12/2023 12:46 PM, Sagi Shahar wrote: > > From: Erdem Aktas > > > > Adding a test to verify TDX lifecycle by creating a TD and running a > > dummy TDG.VP.VMCALL inside it. > > > > Sig

Re: [RFC PATCH v5 09/29] KVM: selftests: TDX: Add report_fatal_error test

2024-07-25 Thread Sagi Shahar
On Fri, Mar 1, 2024 at 12:52 AM Binbin Wu wrote: > > > > On 12/13/2023 4:46 AM, Sagi Shahar wrote: > > The test checks report_fatal_error functionality. > > > > Signed-off-by: Sagi Shahar > > Signed-off-by: Ackerley Tng > > Signed-off-by: Ryan Afranj

Re: [RFC PATCH v5 10/29] KVM: selftests: TDX: Adding test case for TDX port IO

2024-07-25 Thread Sagi Shahar
On Sun, Mar 3, 2024 at 8:49 PM Yan Zhao wrote: > > On Tue, Dec 12, 2023 at 12:46:25PM -0800, Sagi Shahar wrote: > > From: Erdem Aktas > > > > Verifies TDVMCALL READ and WRITE operations. > > > > Signed-off-by: Erdem Aktas > > Signed-off-by: Sa

Re: [RFC PATCH v5 16/29] KVM: selftests: TDX: Add TDX HLT exit test

2024-07-27 Thread Sagi Shahar
On Tue, Mar 5, 2024 at 12:10 AM Yan Zhao wrote: > > On Sat, Mar 02, 2024 at 03:31:07PM +0800, Binbin Wu wrote: > > On 12/13/2023 4:46 AM, Sagi Shahar wrote: > > > The test verifies that the guest runs TDVMCALL and the > > > guest vCPU enters to the halted state. &g

Re: [RFC PATCH v5 18/29] KVM: selftests: TDX: Add TDX MMIO writes test

2024-07-30 Thread Sagi Shahar
On Tue, Mar 5, 2024 at 3:28 AM Yan Zhao wrote: > > On Tue, Dec 12, 2023 at 12:46:33PM -0800, Sagi Shahar wrote: > > The test verifies MMIO writes of various sizes from the guest to the host. > > > > Signed-off-by: Sagi Shahar > > Signed-off-by: Ackerley Tng &

Re: [RFC PATCH v5 00/29] TDX KVM selftests

2024-06-05 Thread Sagi Shahar
On Wed, Jun 5, 2024 at 1:38 PM Verma, Vishal L wrote: > > On Tue, 2023-12-12 at 12:46 -0800, Sagi Shahar wrote: > > Hello, > > > > This is v4 of the patch series for TDX selftests. > > > > It has been updated for Intel’s v17 of the TDX host patches wh

Re: [RFC PATCH v5 00/29] TDX KVM selftests

2024-06-05 Thread Sagi Shahar
On Wed, Jun 5, 2024 at 3:18 PM Verma, Vishal L wrote: > > On Wed, 2024-06-05 at 20:15 +, Verma, Vishal L wrote: > > On Wed, 2024-06-05 at 15:10 -0500, Sagi Shahar wrote: > > > On Wed, Jun 5, 2024 at 1:38 PM Verma, Vishal L > > > wrote: > > > > >

Re: [RFC PATCH v5 00/29] TDX KVM selftests

2024-06-05 Thread Sagi Shahar
On Wed, Jun 5, 2024 at 3:56 PM Edgecombe, Rick P wrote: > > On Wed, 2024-06-05 at 15:42 -0500, Sagi Shahar wrote: > > > > Hm you're right, I was looking more narrowly because of the kvm-coco- > > > > queue conflicts, for some of which even v19 might be too old.

[PATCH v6 27/30] KVM: selftests: TDX: Add support for TDG.VP.VEINFO.GET

2025-04-15 Thread Sagi Shahar
From: Ackerley Tng Support TDG.VP.VEINFO.GET that the guest uses to obtain the virtualization exception information of the recent #VE exception. Signed-off-by: Ackerley Tng Signed-off-by: Sagi Shahar --- .../selftests/kvm/include/x86/tdx/tdx.h | 21 +++ tools/testing