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 CC996C77B7C for ; Wed, 19 Apr 2023 22:19:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 48922900023; Wed, 19 Apr 2023 18:18:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 413FF900003; Wed, 19 Apr 2023 18:18:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26419900023; Wed, 19 Apr 2023 18:18:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 1313F900003 for ; Wed, 19 Apr 2023 18:18:48 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id E1B5D403EB for ; Wed, 19 Apr 2023 22:18:47 +0000 (UTC) X-FDA: 80699556294.13.200D5E7 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by imf29.hostedemail.com (Postfix) with ESMTP id 17AD312001C for ; Wed, 19 Apr 2023 22:18:45 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=WToiBYM9; spf=pass (imf29.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.178 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=1681942726; 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=V944izAfHfvPXt2SodYy8axfAv3FUhh/YjA49qCII3Y=; b=SIqQtoCj2FRaGa+GRXxwQh9OshZrYpHtytO0hxyWLdKfrRq0yC/YgKBD0sU/bhwBzhWoPt HCsHRJ+xe8goBQTyFOPT5H33AXmYUoLPaswUKcxe8QOrYqdnVgGUGLDOWA63lCFRdFiNEy unc/u0xnkwP0yqLHiPwo8yFUfZMxaTs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681942726; a=rsa-sha256; cv=none; b=cfwTuE6iV59G/Zs3f+Nq7DFJpvZKlQXOs1bS3pYFnWYVw8UejYkOPASYKlhlOoWAwAkzbC TyUJTgyrlvyp90YidJchQeXf4Qq8rXMkJ6hGNl2domHnE7WhbGchAwUIkhBN2zVEqBImN0 UWM7BVwYDbJISQWEoehTZRMszMnVlMo= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=WToiBYM9; spf=pass (imf29.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.178 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-1a645fd0c6dso4319475ad.1 for ; Wed, 19 Apr 2023 15:18:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681942725; x=1684534725; 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=V944izAfHfvPXt2SodYy8axfAv3FUhh/YjA49qCII3Y=; b=WToiBYM90+kXSHR4f4lcMC2do7CnNE609AkBJ9ILRsQSAqLQhvGE4fka9RZc7XkmOV nVSgbPgR0g26+R9aOz7prZ0ZYw39dV9KxvmHBGDvRgR8MR74QfL1ZHIt8XSWqAKcLN8r 0f6Tq006zXgK2g4OuuillctnBCZLY1xVWuRZMqYQdfd3ybKvutxZLqu19QqqHmXC8ODS KoYa4jRQnyk9O92MghnQdSKIAU/AWL4fTpgXKATBvPLDFP59BwJ0oeGTqTbRTShwnDj2 1+Ojob0S1CfD+/Tznk4BIbXVZIp9qmP+FcBhkm6vxxe63VSq5U1n2NJ31boDb5/Auf9y qI8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681942725; x=1684534725; 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=V944izAfHfvPXt2SodYy8axfAv3FUhh/YjA49qCII3Y=; b=ZXfdWAD09kA9PPVCcQ6EHu0bhVMtApbLh+m4ymVdV5d8S4EdDOeHt8/j7RoHwMU5FW lgeQ5/+hDvGdeXkMXyfRE0BtToU5N/UlRpwsIRDFJrqt6m7l0mCM7mhERhjdeu5OMOa7 RRMYBJBzsKKaH1l/r0KdycX+uOKpaJkdGk84sZlQQYGvu3lV50Stx0Mn7d83u2JLhVtu FELN+Y3rLGZ57NCFQ+6jMUeHY0OmkaA6A9wSBcjtw2G9Rk2ClfYF9VceXGi1BvlyHsQP Mci85dzycmzQiMl1ebGrDI3HP3CCORkhqXxKjPLPZfqB/IqaN1lYculhCrTeIVAC0ljn UhJg== X-Gm-Message-State: AAQBX9e4j8ydi5A1XW7+S8Z0OpyW7OqGjCKYdTsHEAwLcxuDvQJDIvZ3 QhZIySJYjypzBTmlyC5Smlt7Yw== X-Google-Smtp-Source: AKy350Z1qByMTGJhiqV3zdWqTg/zhHnUn1VfTimSG0DF0as79Rscca2Gz4ZKZ2NL/Pi2zbK61ibEFw== X-Received: by 2002:a17:903:2409:b0:19e:839e:49d8 with SMTP id e9-20020a170903240900b0019e839e49d8mr6224177plo.59.1681942725072; Wed, 19 Apr 2023 15:18:45 -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.18.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 15:18:44 -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 34/48] RISC-V: KVM: Initialize CoVE Date: Wed, 19 Apr 2023 15:17:02 -0700 Message-Id: <20230419221716.3603068-35-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-Rspam-User: X-Rspamd-Queue-Id: 17AD312001C X-Rspamd-Server: rspam09 X-Stat-Signature: hmgdcf8ibjqxiuo5ufbx5fxk7s3u9iag X-HE-Tag: 1681942725-653340 X-HE-Meta: U2FsdGVkX19OdiMwBGYu6oA8p/tKgS7LHkxXXF9OztUUc+nL+XvUrSLmTu9u5BoePLKmKviKxN/RL6enII6+oK5eObA+kj7+YyZNqxPCdIMQEveQko8bW4u+VPY1i3JOCJdUmhtDMuhkfpwQ9UJSvRhrLhsIQKjl6fP1cJzHjiB+oFE7Wx7+XarX+ViqoKUM6BDv4tJsCai5S5x5FBKHY4M9E0KfWDuPI8Dak+ylo347TNMUoB2VyxJJylRvfkVCeBPg729GO0Bj2ynSsl8O+SSaH/pJA+Cn20XTsj4F6PqPcD7Q3/I2XatFc2depyNbmOQ9eQL9tmroRJlLIGiWG4DKeH/qI9p7F7lim9wgcwxMpWwdTaVFtQ0tATWnwQdg2Kvj1x84NHdR8I2QUC841jk7N1vdzIK+y6aus7paDzVePVUJw70knMKEKz1aozRakvZkqzZNGO6mYSZXjIKcuK/fZySTNhpgCflnnoVYS8rTsS+/8NptUzp0Iq7PhSMUgmtt+JdmEg6bK0LzMblPQzD5jmlxo4H8gD6Pdkrm4X18aKleD5esjbYoXX7Gci6lNNsf+PtgBAL8B2q6dqkt1bGVU/4N0c+AORFr2/Yumz+WEZwJrAiJy2WMFtAlUECP+cVJUQy6/FQ4AycREFzrxbQdHwzxJwZNkYy5zbBBFC8YclEdQHtDR7tdVx2f1g+xdrR8qPq8vAihH+tRAPMn7wT2CLeWN7lnL7FbnTH54hBttrOWV3yVShxxeWUxHLv4i9se2TwneDYNf+SfjL0JmO3k4hA8jzMevk3tuY4tRLNTgHcmrjghVU7j1CuHjoe+uOMkUCifk4NmgT9tiT4guS7FcUVjvcu4Gg+fBG58JBeeozqgJjm811hSlO84SXmpf5j7DvQPiuoxNrV+ZOVJh4q3b/RN/2NXrXTixj+WuUb7Ipwu3hPtE/MyGec35ARiHAzqqO5sGMe5R1kC/kt Ko9GJ7xP /fqinj7hlQzXhV98pObDteBNKVwtsmbF2a3vgvmDmWLCfl6f908udNciV1F13ZdC6UvzcuCiErXP7HKsETbhIexsxL3DmayEhdmE3QoEXspjrG+1SjkAH6HqY/jiOHhtd0xZzoXAeLr3TgpveDAk+GmKFZ4gKE77dXcNNn9ZBixpp7dDH4UCvH1WzwC8Frt7PTfOaBPqgTJ5+jk36B+/FbqEWgLjOsKa8mQ2v7vyM4H16jU18j8jUZQLjTOJK60soDi8GQrx2GD98iyndv1KW++ywz8sQTSMVytWZi0fylBME+cEdJG6JrMHJ4eqqoR4Lm1vdmf/RPeZOwURjospoI/SsLgBFi/c1PAoO9OrCLN+xC9ME4W5Tn7tpAtAggOt+Cwz/I2i4Et7ehceoZJmNs/EwBDJFy9FzH7Zp7N/NUgztqZGvr30/PeMayWq1hDqPClsVTIqZr6/ibfA1XH4GxzZ61A== 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: CoVE initialization depends on few underlying conditions that differs from normal VMs. 1. RFENCE extension is no longer mandatory as TEEH APIs has its own set of fence APIs. 2. SBI NACL is mandatory for TEE VMs to share memory between the host and the TSM. Signed-off-by: Atish Patra --- arch/riscv/kvm/main.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/arch/riscv/kvm/main.c b/arch/riscv/kvm/main.c index 842b78d..a059414 100644 --- a/arch/riscv/kvm/main.c +++ b/arch/riscv/kvm/main.c @@ -102,15 +102,12 @@ static int __init riscv_kvm_init(void) return -ENODEV; } - if (sbi_probe_extension(SBI_EXT_RFENCE) <= 0) { - kvm_info("require SBI RFENCE extension\n"); - return -ENODEV; - } - rc = kvm_riscv_nacl_init(); if (rc && rc != -ENODEV) return rc; + kvm_riscv_cove_init(); + kvm_riscv_gstage_mode_detect(); kvm_riscv_gstage_vmid_detect(); @@ -121,6 +118,15 @@ static int __init riscv_kvm_init(void) return rc; } + /* TVM don't need RFENCE extension as hardware imsic support is mandatory for TVMs + * TODO: This check should happen later if HW_ACCEL mode is not set as RFENCE + * should only be mandatory in that case. + */ + if (!kvm_riscv_cove_enabled() && sbi_probe_extension(SBI_EXT_RFENCE) <= 0) { + kvm_info("require SBI RFENCE extension\n"); + return -ENODEV; + } + kvm_info("hypervisor extension available\n"); if (kvm_riscv_nacl_available()) { -- 2.25.1