From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3C09C27C52 for ; Wed, 5 Jun 2024 20:10:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 32FBB6B009B; Wed, 5 Jun 2024 16:10:36 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2DF0E6B009C; Wed, 5 Jun 2024 16:10:36 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 158C06B009E; Wed, 5 Jun 2024 16:10:36 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id E63446B009B for ; Wed, 5 Jun 2024 16:10:35 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 92354813AD for ; Wed, 5 Jun 2024 20:10:35 +0000 (UTC) X-FDA: 82197927630.05.FF39028 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by imf19.hostedemail.com (Postfix) with ESMTP id 9F8821A0014 for ; Wed, 5 Jun 2024 20:10:32 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bg+2dJJv; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf19.hostedemail.com: domain of sagis@google.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=sagis@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717618232; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oBwUpUZb8gh3eQHfueITt2ZJwiwMmdwZoHaq8+wmWqI=; b=aJnEd0Vugw4cnWJ8mo322F7ZWRRBs9f3ddpX4nJrMZH/hfeFdozhryKZC7653Ac4x+cTHW qySbbXPB1P6pbr+qWPbsCfLjz1+8MhPrVXzsZTXsFcTiJ6t4hGdP3MBGSsJ1ULviMgbR1v oEG6OeKk7kBVX1rGCiXyu/Myu1HhsBI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717618232; a=rsa-sha256; cv=none; b=dB4qN4ArA/yVov173g2VWhQef3OFwFh+Ca/cd4s1PnPIqseis2trG7mXqoC4y/rrKwXZ5l kjIQMgh/JHVhTNxslK+NlqVUmCLz8skwf4atVYO5whAa6Uye4Q83Edy1H7JyomyhFKSmJn +8Bkq+FdAMuI3xmbd8u8XKZn/XN6a5M= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=bg+2dJJv; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf19.hostedemail.com: domain of sagis@google.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=sagis@google.com Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2ea8fff1486so1504761fa.1 for ; Wed, 05 Jun 2024 13:10:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1717618231; x=1718223031; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oBwUpUZb8gh3eQHfueITt2ZJwiwMmdwZoHaq8+wmWqI=; b=bg+2dJJvqcN//0ps6IdnpvMlWscGN5Mp/dvBC3+SV1fbM5fWI4Jomsat1iRzlCuATk fV7jowJm35RcSm+Abu4tYL2uu6I80LWbfGQbjm17YpBBcZRo4Uv9zpCVeVvM1QzKr10A NWfRpdCgYhOA3bvm9dDRFXjA34dQ30SWmtiCNY9P0jBgOUCVxJIyn4/s03LcDMonXJFp do8Hy79eftnjJW940FQOFWG9ylHHD6hZ8tw0f0D8hWQddav+XtzjVWbG56XOTvgkrvN9 j2UTsHQjqpu4XNnekvhCmKFV9btdxgeT+GWmva5JwJuRuB4ZVjxvrzn5hW+9YyT7VUCk t53A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717618231; x=1718223031; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oBwUpUZb8gh3eQHfueITt2ZJwiwMmdwZoHaq8+wmWqI=; b=dJC3B14KbX4cwBZiYYs2XQxi/ftxOnKT4AirNuaykoEoTcM4pxVREUtAyWZZaA5tvG P7uXuBvQNLwWVYXKm2AhF0ZO3CXjg+56bNcjk5BaMMgBfGvadfUYWqc3g+JQlErLkLc9 uhL8SXLm2HE99pfhAD8kuYWMsLvQkGkPFonxT5FWr3b+UuCnU0DEYDBMrYTLUTOkQgpa ud38AGxDar/W9S0gLnYJaY0iiBDRC1LROdDJnGXU5Z8GV4rxA8E3dOUFf94N0uq41qQI A37zDJOMq8dz4pSc0GH/YzDuCx4eH5uD7QmDL6xuC71sYyrEKBLIGLAX5hRIzf7eVKQz PGzg== X-Forwarded-Encrypted: i=1; AJvYcCW2EeWhxDsnT9pZ9zBvB1Nzz2PtyOw8wnVcIz/h1biR5weXYhTxQOIgAC6eAbqWkNilvGPD2+gYH8ieQbgAtqocK48= X-Gm-Message-State: AOJu0YydJCf5Bgc/SeP+ik9wH9NfrDdrVD27Ty4FA+4Rif7inbGSOD/B iOf39InwwpwX4MDWUCBoIc7jVR/HXZdgqeL6KKsqP28DD6hK5ERhuazEEO56kjVxlyBr5PiYBBv O2zTKiS0Ifh5LdgKnlgf0ga77x8pyZGNG+WJ6 X-Google-Smtp-Source: AGHT+IGksIwyimMNtUjcaJJe0ywzHDsW40IeRamyOlbcwZdT+OnlzNT/xV8FemA/U28w4/kuuedLzSZsJnzH6N1zXBo= X-Received: by 2002:a2e:908e:0:b0:2e2:59c7:a922 with SMTP id 38308e7fff4ca-2ead00b9e81mr1751531fa.15.1717618230256; Wed, 05 Jun 2024 13:10:30 -0700 (PDT) MIME-Version: 1.0 References: <20231212204647.2170650-1-sagis@google.com> In-Reply-To: From: Sagi Shahar Date: Wed, 5 Jun 2024 15:10:18 -0500 Message-ID: Subject: Re: [RFC PATCH v5 00/29] TDX KVM selftests To: "Verma, Vishal L" Cc: "ackerleytng@google.com" , "linux-kselftest@vger.kernel.org" , "Aktas, Erdem" , "Afranji, Ryan" , "Yamahata, Isaku" , "jmattson@google.com" , "pgonda@google.com" , "seanjc@google.com" , "runanwang@google.com" , "kvm@vger.kernel.org" , "Annapurve, Vishal" , "chao.p.peng@linux.intel.com" , "shuah@kernel.org" , "vipinsh@google.com" , "Xu, Haibo1" , "pbonzini@redhat.com" , "linux-kernel@vger.kernel.org" , "dmatlack@google.com" , "linux-mm@kvack.org" , "Edgecombe, Rick P" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 8xjjfocxdkenbfma3dmd7ywo4gzcwerj X-Rspamd-Queue-Id: 9F8821A0014 X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1717618232-501847 X-HE-Meta: U2FsdGVkX1+SXb6shvtCPnupm+YI+yOteEdA5+gPPZfTARD6QRs+f8XED1tHGp1mA+FXsHOIZhVmk2NDMjLHhCk0yCbZuN0CD6FZSaQWmRg4zdjL3mmdJST+l46sIx41gSpOPRJ0V3inrZBrnO1r8A1yWypmOVAwDj/i+RpfUELbjHso577SqVpTpqN2djUFwWHjvK4yCDumoal61VCVBqa3LAehHJgY7PwtO1UX/cLDsbtZTrbv10V7krXuPQ6sRYQw1xad9YlBrfn2kEsNEMqtlSwPOq4a/DD39qoWcf2QCgNLdegBwcCtQzDr97rZbFUSPAbPA1ajU60yBH2ebM7ZdQbw1vIrR+Tubb//SnUz7PmSEhNLnnyxWV9gI2oFh8hU5paRqu2OAXl+EZZFQhQXgPleIy4ACb2jMM6OSy7cAiJpwwU1vLxZlF1pBo0FbBopOyyMSK/iqQP/avXeaqzQpkSjrErGt+1Eg2Up5s14vBtD4gEDSI/W87C8EzCqr714DKkcsrZyVb2F9tTvcawcVgZ8b1GGgu/3kTqdFMaKGSvOkt+nvFqGnX/BUlyUTuXGTsXRMqdzbn6BP/MtLODg7qNl+WEZiOaDYCp7ULzROHb5FWqJhKq1JOMe88Ubi6L/Vk8CBDklImSyHxO3SDv2Cylou2Jfe/J43KeU1o05dkwDmTAoc1BofMnZPwzh1bKqIhXYH+dNRmkzCupLwfUeuJkIQiDowJfj1zg6Dm/5jYxZZ4Jdn/mz/1vaFcASoiRTv+/E2/hcuLoioTb9Wbt3MoW1FgE5Y5FEmrtlIxp+z7/9UtiSgqWahBr4/7SsVIEK7/fwm/N6CjlJibJXxYCRT8PjxlLmXDqWhD+q+kt0EEQiuVlw+UMHIFEyP3Ue80a9MTy4peWnaOzmc3f2TpRCjJGtIQSfNBofKhk/nmIHkzP4xFlckALE/+W1C2TKKIKeABYA5YJVyKYHwcp 6D/K8mlR a7oKv6X802silPiEiWFoFOlelHdN1TnC7ZOYmWU7rFT8Z0lul5W65IP/84rIKx4i539olLu/c3MUrHTDIOSd8tm1WZNLeauuNj+C6Ny5Hz24l8kuWrT0zJERz9pOqv0nex1rPF2fe+X8PoUcw+BEA9asD5Bb15rhEhAyVkUtoLmEcRMlJxhnWO177EoB8j/SAduPzhlCpI+P6oyJg6TWMtXZ9s3eaDK7F4Q52pWNlBknTLqwLU+zYA7xePH4gFWuZprFqFdC3f4zdKE5SbbcPUa0BaY01wRFWVukdHB0h1be8BP86ywtDBjVCuj3b6bs1D8IH8ecef5sLc0Q9U86JRFrjE8o8i5YNruZjxMFX2tNtO0W/2jjJ3DWESGh8p8oDVnOTGkZxhPmuE9aQ4NoHKVH1geLyx0AruAKB38xGi4rJ+AW0F4NK4/S9jzpw0MKCkO9Y21MBKtHYMcj1kGZzP3z+wFjKQjePUdR07xobDUtQ2ZDnCI6wYH6xLqZfkWxjA+bpqE5UihxadgE7wHEU9x3emw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Jun 5, 2024 at 1:38=E2=80=AFPM 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=E2=80=99s v17 of the TDX host patches whi= ch was > > proposed here: > > https://lore.kernel.org/all/cover.1699368322.git.isaku.yamahata@intel.c= om/ > > > > 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 going to work on it soon and was planning on using Isaku's V19 of the TDX host patches > 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@inte= l.com/ This patch series only includes the basic TDX MMU changes and is missing a lot of the TDX support. Not sure how this can be used as a baseline without the rest of the TDX patches. Are there other patch series that were posted based on this series which provides the rest of the TDX support? > > 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=E2=80=99s patches, which provide functions for the host to allo= cate > > 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=E2=80=99s comments for the non-confidential UPM selftests patch = series > > at https://lore.kernel.org/lkml/Y8dC8WDwEmYixJqt@google.com/T/#u appl= y > > 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 > > + Zhenzhong Duan > > + Peter Gonda > > + Andrew Jones > > + Maxim Levitsky > > + Xiaoyao Li > > + David Matlack > > + Marc Orr > > + Isaku Yamahata > > + Maciej S. Szmigiero > > > > Links to earlier patch series > > > > + RFC v1: https://lore.kernel.org/lkml/20210726183816.1343022-1-erdemak= tas@google.com/T/#u > > + RFC v2: https://lore.kernel.org/lkml/20220830222000.709028-1-sagis@go= ogle.com/T/#u > > + RFC v3: https://lore.kernel.org/lkml/20230121001542.2472357-1-ackerle= ytng@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 initializatio= n > > KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' > > attribute configuration > > KVM: selftests: TDX: Update load_td_memory_region for VM memory backe= d > > 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_b= oot.h > > create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/td_b= oot_asm.h > > create mode 100644 tools/testing/selftests/kvm/include/x86_64/tdx/tdca= ll.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_uti= l.c > > create mode 100644 tools/testing/selftests/kvm/x86_64/tdx_shared_mem_t= est.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 > > >