linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Verma, Vishal L" <vishal.l.verma@intel.com>
To: "ackerleytng@google.com" <ackerleytng@google.com>,
	"sagis@google.com" <sagis@google.com>,
	"linux-kselftest@vger.kernel.org"
	<linux-kselftest@vger.kernel.org>,
	"Aktas, Erdem" <erdemaktas@google.com>,
	"Afranji, Ryan" <afranji@google.com>,
	"Yamahata, Isaku" <isaku.yamahata@intel.com>
Cc: "jmattson@google.com" <jmattson@google.com>,
	"pgonda@google.com" <pgonda@google.com>,
	"seanjc@google.com" <seanjc@google.com>,
	"runanwang@google.com" <runanwang@google.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Annapurve, Vishal" <vannapurve@google.com>,
	"chao.p.peng@linux.intel.com" <chao.p.peng@linux.intel.com>,
	"shuah@kernel.org" <shuah@kernel.org>,
	"vipinsh@google.com" <vipinsh@google.com>,
	"Xu, Haibo1" <haibo1.xu@intel.com>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"dmatlack@google.com" <dmatlack@google.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>
Subject: Re: [RFC PATCH v5 00/29] TDX KVM selftests
Date: Wed, 5 Jun 2024 18:38:12 +0000	[thread overview]
Message-ID: <ce967287157e830303fdd3d4a37e7d62a1698747.camel@intel.com> (raw)
In-Reply-To: <20231212204647.2170650-1-sagis@google.com>

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 which was
> proposed here:
> https://lore.kernel.org/all/cover.1699368322.git.isaku.yamahata@intel.com/
> 
> The tree can be found at:
> https://github.com/googleprodkernel/linux-cc/tree/tdx-selftests-rfc-v5

Hello,

I wanted to check if there were any plans from Google to refresh this
series for the current TDX patches and the kvm-coco-queue baseline?

I'm setting up a CI system that the team is using to test updates to
the different TDX patch series, and it currently runs the KVM Unit
tests, and kvm selftests, and we'd like to be able to add these three
new TDX tests to that as well.

I tried to take a quick shot at rebasing it, but ran into several
conflicts since kvm-coco-queue has in the meantime made changes e.g. in
tools/testing/selftests/kvm/lib/x86_64/processor.c vcpu_setup().

If you can help rebase this, Rick's MMU prep series might be a good
baseline to use:
https://lore.kernel.org/all/20240530210714.364118-1-rick.p.edgecombe@intel.com/

This is also available in a tree at:
https://github.com/intel/tdx/tree/tdx_kvm_dev-2024-05-30

Thank you,
Vishal

> 
> Changes from RFC v4:
> 
> Added patch to propagate KVM_EXIT_MEMORY_FAULT to userspace.
> 
> Minor tweaks to align the tests to the new TDX 1.5 spec such as changes
> in the expected values in TDG.VP.INFO.
> 
> In RFCv5, TDX selftest code is organized into:
> 
> + headers in tools/testing/selftests/kvm/include/x86_64/tdx/
> + common code in tools/testing/selftests/kvm/lib/x86_64/tdx/
> + selftests in tools/testing/selftests/kvm/x86_64/tdx_*
> 
> Dependencies
> 
> + Peter’s patches, which provide functions for the host to allocate
>   and track protected memory in the guest.
>   https://lore.kernel.org/all/20230110175057.715453-1-pgonda@google.com/
> 
> Further work for this patch series/TODOs
> 
> + Sean’s comments for the non-confidential UPM selftests patch series
>   at https://lore.kernel.org/lkml/Y8dC8WDwEmYixJqt@google.com/T/#u apply
>   here as well
> + Add ucall support for TDX selftests
> 
> I would also like to acknowledge the following people, who helped
> review or test patches in previous versions:
> 
> + Sean Christopherson <seanjc@google.com>
> + Zhenzhong Duan <zhenzhong.duan@intel.com>
> + Peter Gonda <pgonda@google.com>
> + Andrew Jones <drjones@redhat.com>
> + Maxim Levitsky <mlevitsk@redhat.com>
> + Xiaoyao Li <xiaoyao.li@intel.com>
> + David Matlack <dmatlack@google.com>
> + Marc Orr <marcorr@google.com>
> + Isaku Yamahata <isaku.yamahata@gmail.com>
> + Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
> 
> Links to earlier patch series
> 
> + RFC v1: https://lore.kernel.org/lkml/20210726183816.1343022-1-erdemaktas@google.com/T/#u
> + RFC v2: https://lore.kernel.org/lkml/20220830222000.709028-1-sagis@google.com/T/#u
> + RFC v3: https://lore.kernel.org/lkml/20230121001542.2472357-1-ackerleytng@google.com/T/#u
> + RFC v4: https://lore.kernel.org/lkml/20230725220132.2310657-1-afranji@google.com/
> 
> *** BLURB HERE ***
> 
> Ackerley Tng (12):
>   KVM: selftests: Add function to allow one-to-one GVA to GPA mappings
>   KVM: selftests: Expose function that sets up sregs based on VM's mode
>   KVM: selftests: Store initial stack address in struct kvm_vcpu
>   KVM: selftests: Refactor steps in vCPU descriptor table initialization
>   KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs'
>     attribute configuration
>   KVM: selftests: TDX: Update load_td_memory_region for VM memory backed
>     by guest memfd
>   KVM: selftests: Add functions to allow mapping as shared
>   KVM: selftests: Expose _vm_vaddr_alloc
>   KVM: selftests: TDX: Add support for TDG.MEM.PAGE.ACCEPT
>   KVM: selftests: TDX: Add support for TDG.VP.VEINFO.GET
>   KVM: selftests: TDX: Add TDX UPM selftest
>   KVM: selftests: TDX: Add TDX UPM selftests for implicit conversion
> 
> Erdem Aktas (3):
>   KVM: selftests: Add helper functions to create TDX VMs
>   KVM: selftests: TDX: Add TDX lifecycle test
>   KVM: selftests: TDX: Adding test case for TDX port IO
> 
> Roger Wang (1):
>   KVM: selftests: TDX: Add TDG.VP.INFO test
> 
> Ryan Afranji (2):
>   KVM: selftests: TDX: Verify the behavior 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 writes test
>   KVM: selftests: TDX: Add TDX IO reads test
>   KVM: selftests: TDX: Add TDX MSR read/write tests
>   KVM: selftests: TDX: Add TDX HLT exit test
>   KVM: selftests: TDX: Add TDX MMIO reads test
>   KVM: selftests: TDX: Add TDX MMIO writes test
>   KVM: selftests: TDX: Add TDX CPUID TDVMCALL test
>   KVM: selftests: Propagate KVM_EXIT_MEMORY_FAULT to userspace
> 
>  tools/testing/selftests/kvm/Makefile          |    8 +
>  .../selftests/kvm/include/kvm_util_base.h     |   30 +
>  .../selftests/kvm/include/x86_64/processor.h  |    4 +
>  .../kvm/include/x86_64/tdx/td_boot.h          |   82 +
>  .../kvm/include/x86_64/tdx/td_boot_asm.h      |   16 +
>  .../selftests/kvm/include/x86_64/tdx/tdcall.h |   59 +
>  .../selftests/kvm/include/x86_64/tdx/tdx.h    |   65 +
>  .../kvm/include/x86_64/tdx/tdx_util.h         |   19 +
>  .../kvm/include/x86_64/tdx/test_util.h        |  164 ++
>  tools/testing/selftests/kvm/lib/kvm_util.c    |  101 +-
>  .../selftests/kvm/lib/x86_64/processor.c      |   77 +-
>  .../selftests/kvm/lib/x86_64/tdx/td_boot.S    |  101 ++
>  .../selftests/kvm/lib/x86_64/tdx/tdcall.S     |  158 ++
>  .../selftests/kvm/lib/x86_64/tdx/tdx.c        |  262 ++++
>  .../selftests/kvm/lib/x86_64/tdx/tdx_util.c   |  558 +++++++
>  .../selftests/kvm/lib/x86_64/tdx/test_util.c  |  101 ++
>  .../kvm/x86_64/tdx_shared_mem_test.c          |  135 ++
>  .../selftests/kvm/x86_64/tdx_upm_test.c       |  469 ++++++
>  .../selftests/kvm/x86_64/tdx_vm_tests.c       | 1319 +++++++++++++++++
>  19 files changed, 3693 insertions(+), 35 deletions(-)
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/td_boot.h
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/td_boot_asm.h
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/tdcall.h
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/tdx.h
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/tdx_util.h
>  create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/test_util.h
>  create mode 100644 tools/testing/selftests/kvm/lib/x86_64/tdx/td_boot.S
>  create mode 100644 tools/testing/selftests/kvm/lib/x86_64/tdx/tdcall.S
>  create mode 100644 tools/testing/selftests/kvm/lib/x86_64/tdx/tdx.c
>  create mode 100644 tools/testing/selftests/kvm/lib/x86_64/tdx/tdx_util.c
>  create mode 100644 tools/testing/selftests/kvm/lib/x86_64/tdx/test_util.c
>  create mode 100644 tools/testing/selftests/kvm/x86_64/tdx_shared_mem_test.c
>  create mode 100644 tools/testing/selftests/kvm/x86_64/tdx_upm_test.c
>  create mode 100644 tools/testing/selftests/kvm/x86_64/tdx_vm_tests.c
> 


  parent reply	other threads:[~2024-06-05 18:38 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-12 20:46 [RFC PATCH v5 00/29] TDX KVM selftests Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 01/29] KVM: selftests: Add function to allow one-to-one GVA to GPA mappings Sagi Shahar
2024-02-21  1:43   ` Binbin Wu
2024-07-23 19:55     ` Sagi Shahar
2024-03-21 22:29   ` Zhang, Dongsheng X
2024-07-23 19:56     ` Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 02/29] KVM: selftests: Expose function that sets up sregs based on VM's mode Sagi Shahar
2024-02-21  2:18   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 03/29] KVM: selftests: Store initial stack address in struct kvm_vcpu Sagi Shahar
2024-02-21  2:29   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 04/29] KVM: selftests: Refactor steps in vCPU descriptor table initialization Sagi Shahar
2024-02-21  5:43   ` Binbin Wu
2024-07-23 21:25     ` Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 05/29] KVM: selftests: Add helper functions to create TDX VMs Sagi Shahar
2024-02-22  9:24   ` Yan Zhao
2024-02-28 16:19   ` Binbin Wu
2024-03-21 22:54   ` Zhang, Dongsheng X
2024-04-12  5:34     ` Ackerley Tng
2023-12-12 20:46 ` [RFC PATCH v5 06/29] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration Sagi Shahar
2024-02-29  8:31   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 07/29] KVM: selftests: TDX: Update load_td_memory_region for VM memory backed by guest memfd Sagi Shahar
2024-02-22  9:19   ` Yan Zhao
2024-07-24 16:42     ` Ackerley Tng
2024-07-25 18:19       ` Ackerley Tng
2023-12-12 20:46 ` [RFC PATCH v5 08/29] KVM: selftests: TDX: Add TDX lifecycle test Sagi Shahar
2024-02-23  1:55   ` Chen Yu
2024-03-01  4:58   ` Yan Zhao
2024-03-01  7:36   ` Yan Zhao
2024-03-21 23:20   ` Zhang, Dongsheng X
2024-04-12  4:42     ` Ackerley Tng
2024-03-22 21:33   ` Chen, Zide
2024-07-25 19:52     ` Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 09/29] KVM: selftests: TDX: Add report_fatal_error test Sagi Shahar
2024-02-29 12:31   ` Binbin Wu
2024-03-01  6:52   ` Binbin Wu
2024-07-25 20:37     ` Sagi Shahar
2024-03-01 12:09   ` Yan Zhao
2024-04-12  4:56     ` Ackerley Tng
2024-04-12 11:57       ` Yan Zhao
2024-04-15  8:05         ` Ackerley Tng
2024-04-15 10:09           ` Yan Zhao
2024-04-16 18:50             ` Sean Christopherson
2024-04-17 22:41               ` Yan Zhao
2024-04-22 21:23                 ` Sean Christopherson
2024-07-28 11:16                   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 10/29] KVM: selftests: TDX: Adding test case for TDX port IO Sagi Shahar
2024-02-29 13:20   ` Binbin Wu
2024-03-04  2:19   ` Yan Zhao
2024-03-04  9:16     ` Binbin Wu
2024-03-04  9:18       ` Yan Zhao
2024-07-25 22:35     ` Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 11/29] KVM: selftests: TDX: Add basic TDX CPUID test Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 12/29] KVM: selftests: TDX: Add basic get_td_vmcall_info test Sagi Shahar
2024-03-01  6:03   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 13/29] KVM: selftests: TDX: Add TDX IO writes test Sagi Shahar
2024-03-01  6:55   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 14/29] KVM: selftests: TDX: Add TDX IO reads test Sagi Shahar
2024-03-01  8:22   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 15/29] KVM: selftests: TDX: Add TDX MSR read/write tests Sagi Shahar
2024-03-01 12:00   ` Binbin Wu
2024-03-01 12:09     ` Binbin Wu
2024-03-05  0:22   ` Yan Zhao
2024-03-21 23:40   ` Zhang, Dongsheng X
2023-12-12 20:46 ` [RFC PATCH v5 16/29] KVM: selftests: TDX: Add TDX HLT exit test Sagi Shahar
2024-03-02  7:31   ` Binbin Wu
2024-03-05  5:40     ` Yan Zhao
2024-07-27 23:23       ` Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 17/29] KVM: selftests: TDX: Add TDX MMIO reads test Sagi Shahar
2024-03-05  7:09   ` Yan Zhao
2024-03-21 23:45   ` Zhang, Dongsheng X
2023-12-12 20:46 ` [RFC PATCH v5 18/29] KVM: selftests: TDX: Add TDX MMIO writes test Sagi Shahar
2024-03-02  7:58   ` Binbin Wu
2024-03-05  8:58   ` Yan Zhao
2024-07-30 19:03     ` Sagi Shahar
2024-03-21 23:46   ` Zhang, Dongsheng X
2023-12-12 20:46 ` [RFC PATCH v5 19/29] KVM: selftests: TDX: Add TDX CPUID TDVMCALL test Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 20/29] KVM: selftests: TDX: Verify the behavior when host consumes a TD private memory Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 21/29] KVM: selftests: TDX: Add TDG.VP.INFO test Sagi Shahar
2024-03-06  4:50   ` Yan Zhao
2023-12-12 20:46 ` [RFC PATCH v5 22/29] KVM: selftests: Add functions to allow mapping as shared Sagi Shahar
2024-03-05 11:09   ` Yan Zhao
     [not found]   ` <DS7PR11MB7886BD37E5E56DAB9A0087A3F6292@DS7PR11MB7886.namprd11.prod.outlook.com>
2024-03-16  6:24     ` Chen, Zide
2023-12-12 20:46 ` [RFC PATCH v5 23/29] KVM: selftests: TDX: Add shared memory test Sagi Shahar
2024-03-01 12:02   ` Yan Zhao
2024-03-06  1:36     ` Yan Zhao
2024-03-06  1:20   ` Yan Zhao
     [not found]   ` <DS7PR11MB7886AA5F8A19CDFCB5566B0EF6292@DS7PR11MB7886.namprd11.prod.outlook.com>
2024-03-16  6:24     ` Chen, Zide
2023-12-12 20:46 ` [RFC PATCH v5 24/29] KVM: selftests: Expose _vm_vaddr_alloc Sagi Shahar
2024-03-04  9:55   ` Binbin Wu
2024-03-06  1:49   ` Yan Zhao
2023-12-12 20:46 ` [RFC PATCH v5 25/29] KVM: selftests: TDX: Add support for TDG.MEM.PAGE.ACCEPT Sagi Shahar
2023-12-12 20:46 ` [RFC PATCH v5 26/29] KVM: selftests: TDX: Add support for TDG.VP.VEINFO.GET Sagi Shahar
2024-03-04 13:56   ` Binbin Wu
2023-12-12 20:46 ` [RFC PATCH v5 27/29] KVM: selftests: Propagate KVM_EXIT_MEMORY_FAULT to userspace Sagi Shahar
     [not found]   ` <DS7PR11MB78860170A5FD77253573BC09F6292@DS7PR11MB7886.namprd11.prod.outlook.com>
2024-03-14 21:46     ` Chen, Zide
2023-12-12 20:46 ` [RFC PATCH v5 28/29] KVM: selftests: TDX: Add TDX UPM selftest Sagi Shahar
2024-03-05  4:57   ` Binbin Wu
2024-03-06  8:54   ` Yan Zhao
2023-12-12 20:46 ` [RFC PATCH v5 29/29] KVM: selftests: TDX: Add TDX UPM selftests for implicit conversion Sagi Shahar
2024-06-05 18:38 ` Verma, Vishal L [this message]
2024-06-05 20:10   ` [RFC PATCH v5 00/29] TDX KVM selftests Sagi Shahar
2024-06-05 20:15     ` Verma, Vishal L
2024-06-05 20:18       ` Verma, Vishal L
2024-06-05 20:42         ` Sagi Shahar
2024-06-05 20:56           ` Edgecombe, Rick P
2024-06-05 21:34             ` Sagi Shahar
2024-06-05 21:44               ` Edgecombe, Rick P
2024-06-21  2:51                 ` Edgecombe, Rick P
2024-06-21 20:52                   ` Sagi Shahar

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=ce967287157e830303fdd3d4a37e7d62a1698747.camel@intel.com \
    --to=vishal.l.verma@intel.com \
    --cc=ackerleytng@google.com \
    --cc=afranji@google.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=dmatlack@google.com \
    --cc=erdemaktas@google.com \
    --cc=haibo1.xu@intel.com \
    --cc=isaku.yamahata@intel.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=pbonzini@redhat.com \
    --cc=pgonda@google.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=runanwang@google.com \
    --cc=sagis@google.com \
    --cc=seanjc@google.com \
    --cc=shuah@kernel.org \
    --cc=vannapurve@google.com \
    --cc=vipinsh@google.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).