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 DDAA8C6FD18 for ; Wed, 19 Apr 2023 22:17:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DB2CB900004; Wed, 19 Apr 2023 18:17:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CEC7D900003; Wed, 19 Apr 2023 18:17:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B6500900004; Wed, 19 Apr 2023 18:17:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id A2421900003 for ; Wed, 19 Apr 2023 18:17:43 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 6D7E2160407 for ; Wed, 19 Apr 2023 22:17:43 +0000 (UTC) X-FDA: 80699553606.19.1A33227 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by imf26.hostedemail.com (Postfix) with ESMTP id 9F7E514000A for ; Wed, 19 Apr 2023 22:17:41 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=ub984HbN; spf=pass (imf26.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.215.173 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1681942661; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=YhmpWINWx68bxRl5iJymJMR8koMWZ3k0vMo650bJZTU=; b=F10/DZ4QxYfD3en9Br0wgRPVGFEHp9TcK76S0nU/JCKe/HRpKihnYX7zpQcDMFdKc5H6Q2 bW8/QpG0QjoM2fjfQbQHFQGNFUcSMo9BbnuS+9oUeqEaa9owTLZmasCkLPG/dPgrda08ZQ OFDMH+TBkCMWj+V3xfEUWjAr/EXfHaA= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=ub984HbN; spf=pass (imf26.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.215.173 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681942661; a=rsa-sha256; cv=none; b=DiVXkrSo0LyAgmUOt1Ndg12nU/ik2tmNUpdgX4LBim9s6UxdSpDoFrrt4JMvsHHW1JbhQ8 02Gv144kw02jgk3QymosIbBOPW+Jfwq+7h4Le5Dk4smYV9+fnuA8pHPD9PfcqKdhXHV0op Gz6l1+DYkOG0G4tq2C8vKuckkpZu+4I= Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-52019617020so245131a12.3 for ; Wed, 19 Apr 2023 15:17:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681942660; x=1684534660; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YhmpWINWx68bxRl5iJymJMR8koMWZ3k0vMo650bJZTU=; b=ub984HbNYnZCS4cYMVeGAOsRXSkOK2FPD4icQUHZlHix4aKpIqyXeuVfQOuD1xHj9v vsKnnlhxdpBXKMy0/ROqMjpZOfEnWXQbDuHp5T383/Vm/+FQmuzlPZpnUGhvlMFFe7rt 8HkCX+VPliU1MmnP1Ss2H9IInj7b1S/ZGGfNasP3k5lYx2EUDdBQbfa+gCsPCMfJr4EM doY/zh1GbMfgfCGSFTcIGG6F7Q7zICkSwwBAXaUPKIzJ8MoIZKG1DSX+I00o1o0F5UZi WiH33xlJMuVTKRgbJ22ofZQJq8VWsCC+jXY14LMcf4NAwgljQxOy08LcxeWTlGXumKfv zGJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681942660; x=1684534660; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YhmpWINWx68bxRl5iJymJMR8koMWZ3k0vMo650bJZTU=; b=eXpdYL42QSY2y8PDx+HAYiZk3oQMcP7Mlkx08yzmnejGkwKvS//jVIwXFGrS/YOgJ2 VJz4dqTjsHYErhwJf8WusSTplaGI6krc6xRs32O8bUryyenowqROyKaj4hdL3o8eB3p5 y/PbM0TcTAGcBEHB2IP0hxQRqdIz2JKElo44BtvN8LMOSFCjc4WgmlTfZFyAPg1En65H hhqWIqdcmKfxHO1O7e5RbjPtIT86FxrFH7e06oARukX4mUxpJ/c9y3u9lQ5QnRKnbeCG fVsi/Zs6BZh5fxzmR28i0dbwpIVKhMuEbW7ybFB0uIox7h7/A2pyzSfxDFoVIHZ1n98f wcYQ== X-Gm-Message-State: AAQBX9d10BGEObZVNuiJo1fXFqxeRUuAix3xRb+Kn2iSuNuF3ZZDcYrI T1X+5/jR1WpACV1UoRyC5pA5lw== X-Google-Smtp-Source: AKy350b9J0w/WoMpaq+FxHZfAsQ/ItbJjVOrBVDU6LQmeWRXpZ0GrubHeMgcOdfazZVEwzQcIEKGsA== X-Received: by 2002:a17:90a:f696:b0:246:a782:d94 with SMTP id cl22-20020a17090af69600b00246a7820d94mr4315223pjb.7.1681942660612; Wed, 19 Apr 2023 15:17:40 -0700 (PDT) Received: from atishp.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id jn11-20020a170903050b00b00196807b5189sm11619190plb.292.2023.04.19.15.17.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 15:17:40 -0700 (PDT) From: Atish Patra To: linux-kernel@vger.kernel.org Cc: Atish Patra , Alexandre Ghiti , Andrew Jones , Andrew Morton , Anup Patel , Atish Patra , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Suzuki K Poulose , Will Deacon , Marc Zyngier , Sean Christopherson , linux-coco@lists.linux.dev, Dylan Reid , abrestic@rivosinc.com, Samuel Ortiz , Christoph Hellwig , Conor Dooley , Greg Kroah-Hartman , Guo Ren , Heiko Stuebner , Jiri Slaby , kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, Mayuresh Chitale , Palmer Dabbelt , Paolo Bonzini , Paul Walmsley , Rajnesh Kanwal , Uladzislau Rezki Subject: [RFC 05/48] RISC-V: Add COVH SBI extensions definitions Date: Wed, 19 Apr 2023 15:16:33 -0700 Message-Id: <20230419221716.3603068-6-atishp@rivosinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230419221716.3603068-1-atishp@rivosinc.com> References: <20230419221716.3603068-1-atishp@rivosinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 9F7E514000A X-Stat-Signature: 71finsfnftjkaz4baepojwn1111hjyjk X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681942661-594070 X-HE-Meta: U2FsdGVkX18xFTDie+p9FgQomCJrEqqZAEVqvlKMak1JnNjF0yypaAUQKgiA9Ut4wv6y0xGxMGjtbLkqwYuHPZ8n33WD9mwi9mZ0SJNZZDMd1s98xIohTM0cykz3Ph4g0xenZQYsL1ll8XrZY5D9BJ8C4drlXl1TdZ1cGoT2f2/2o9EshKohIhb4xT2IDqWsU2/rJO1KGUsigDvW8nu6zjOmLbgWzt/NAHHBbi9BxdoLB7GUaQTw0JWIKkf2XLHjEOgcnEl1TmAILs+YUyzz+HieQQw7Ay1rlrybV7RxuHCWeG6EcTB9wQ46oRCXcHrkCfXptj+bPcECL3xo71MGyBLMC9Elt3XP69jsaxl9Nu8/NDQ64rQ4uYaiHIk2a4Tte0mdSuUkc9bR8DlhHBmNDPLGpwNMg5TLVQ3Wt07aZqy45t7cUFGqRfuFBDnBQp1XSYlsr1BqFhxz9CNdhbNTiFnxeGpcQpUwg2wSB6tdtAAkjVA6UCyx5/0dNeKDjETY3X94KVIQV/6JydFXn2O1RX/H89Bz47sUP+3gwk7zLK2BxkulfDjgK84ChdXNiSBu0gi5PErOC+LH9yFtEMDE7eicqiAFgwlTDwxjnYa0kw8+o9QsL/HuraltYfYVRuO2zLNzMkwqTd7AyUK52OQIpX4GP1GePEWlihln2FLyN0IEci1ISX5NrmNEkQDCcJIX6LYEqWFV7N9mNd3qGL8TG6Ftt31XbUaCs0TrFkSR1vMZkLJy94S/snHp2HHxKdNH+kif+yZYqNPt7Mqz2TO8tvU/AiuWx+TZskQ92sChC5PvS+vZbg8wwE3sXRX2FmOaoHhp1uGbbbu1bXtApdODafmvnZjVFHc5KVwitKospyZn76KsJ5ENFJ1StID2vJkY5N9a5Q1DAsyCMTVzR+ZN/CwicSw1HpdJSY/50ctEzJa7fIbd2xh8qdfxC/p9WTmbSQmm9cvfaNodAU8iqXo D18mrNHm XD1Z8H3fMsz2yuJN3ml68M+BF5DOMxpy7Kand/QXJZ/Xaxp/CV/mAvIB4ufs3z0/3sDYoCKOu+Q0mwu+lQi73PHDgx9T1is8CeZw57xZQ7J5E6W/8D21NvwlKuvega4yzt/dO16vfZ1gJ4lKsQIGLO7K6hRZnTbWp/rQIx4mYuRFWHz8IUVCZ5XYzAwGcfrucybgq2BooTuqFZqA5/Ua+Vawm81LnjwAm+IqoQl16TGxXNLrxQn6tO2FCrRwCIdHrKBhhHodPlV8W8cUdR9JX6et8QNg1zh9FeRbBirJ8Yy/TAOQuGYSp4R1ugVnoJ12cu79P+sSMz0yAiWBiGf6eCs4vguQYtglgXFXT0948EHC471nJ/jBSn968xp+jA4fRSiHktLLB0ppQQxopf7qfpBe7tG5tOfmvjPboVPIXGjBax4sr97ZFLJnVhdwQiSCpUTg/kIg0UQ4aHsWob1tG9T22xg== 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: RISC-V Confidential Virtualization Extension(COVE) specification defines following 3 SBI extensions. COVH (Host side interface) COVG (Guest side interface) COVI (Interrupt management interface) Few acronyms introduced in this patch: TSM - TEE Security Manager TVM - TEE VM This patch adds the definitions for COVH extension only. Signed-off-by: Atish Patra --- arch/riscv/include/asm/sbi.h | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h index 62d00c7..c5a5526 100644 --- a/arch/riscv/include/asm/sbi.h +++ b/arch/riscv/include/asm/sbi.h @@ -32,6 +32,7 @@ enum sbi_ext_id { SBI_EXT_PMU = 0x504D55, SBI_EXT_DBCN = 0x4442434E, SBI_EXT_NACL = 0x4E41434C, + SBI_EXT_COVH = 0x434F5648, /* Experimentals extensions must lie within this range */ SBI_EXT_EXPERIMENTAL_START = 0x08000000, @@ -348,6 +349,66 @@ enum sbi_ext_nacl_feature { #define SBI_NACL_SHMEM_SRET_X(__i) ((__riscv_xlen / 8) * (__i)) #define SBI_NACL_SHMEM_SRET_X_LAST 31 +/* SBI COVH extension data structures */ +enum sbi_ext_covh_fid { + SBI_EXT_COVH_TSM_GET_INFO = 0, + SBI_EXT_COVH_TSM_CONVERT_PAGES, + SBI_EXT_COVH_TSM_RECLAIM_PAGES, + SBI_EXT_COVH_TSM_INITIATE_FENCE, + SBI_EXT_COVH_TSM_LOCAL_FENCE, + SBI_EXT_COVH_CREATE_TVM, + SBI_EXT_COVH_FINALIZE_TVM, + SBI_EXT_COVH_DESTROY_TVM, + SBI_EXT_COVH_TVM_ADD_MEMORY_REGION, + SBI_EXT_COVH_TVM_ADD_PGT_PAGES, + SBI_EXT_COVH_TVM_ADD_MEASURED_PAGES, + SBI_EXT_COVH_TVM_ADD_ZERO_PAGES, + SBI_EXT_COVH_TVM_ADD_SHARED_PAGES, + SBI_EXT_COVH_TVM_CREATE_VCPU, + SBI_EXT_COVH_TVM_VCPU_RUN, + SBI_EXT_COVH_TVM_INITIATE_FENCE, +}; + +enum sbi_cove_page_type { + SBI_COVE_PAGE_4K, + SBI_COVE_PAGE_2MB, + SBI_COVE_PAGE_1GB, + SBI_COVE_PAGE_512GB, +}; + +enum sbi_cove_tsm_state { + /* TSM has not been loaded yet */ + TSM_NOT_LOADED, + /* TSM has been loaded but not initialized yet */ + TSM_LOADED, + /* TSM has been initialized and ready to run */ + TSM_READY, +}; + +struct sbi_cove_tsm_info { + /* Current state of the TSM */ + enum sbi_cove_tsm_state tstate; + + /* Version of the loaded TSM */ + uint32_t version; + + /* Number of 4K pages required per TVM */ + unsigned long tvm_pages_needed; + + /* Maximum VCPUs supported per TVM */ + unsigned long tvm_max_vcpus; + + /* Number of 4K pages each vcpu per TVM */ + unsigned long tvcpu_pages_needed; +}; + +struct sbi_cove_tvm_create_params { + /* Root page directory for TVM's page table management */ + unsigned long tvm_page_directory_addr; + /* Confidential memory address used to store TVM state information. Must be page aligned */ + unsigned long tvm_state_addr; +}; + #define SBI_SPEC_VERSION_DEFAULT 0x1 #define SBI_SPEC_VERSION_MAJOR_SHIFT 24 #define SBI_SPEC_VERSION_MAJOR_MASK 0x7f -- 2.25.1