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 EE0E6C77B75 for ; Wed, 19 Apr 2023 22:18:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F12F6900008; Wed, 19 Apr 2023 18:17:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E75A1900003; Wed, 19 Apr 2023 18:17:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C9EE6900008; Wed, 19 Apr 2023 18:17:52 -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 B5E28900003 for ; Wed, 19 Apr 2023 18:17:52 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 968B0AC496 for ; Wed, 19 Apr 2023 22:17:52 +0000 (UTC) X-FDA: 80699553984.07.DA1670B Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf10.hostedemail.com (Postfix) with ESMTP id BAAF8C0024 for ; Wed, 19 Apr 2023 22:17:50 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=qjxNMIrl; spf=pass (imf10.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.177 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=1681942670; 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=T59m5JAZKpRDJgvlPNnQtLbeFsduDf6TBzeyZHAxXV0=; b=nDoztIBeE+0Bi9vLipvF+4H5P0f3wW/r89b9SgPl9Oq+Hp7TqYWK566lM6xax3tTxCWfan YjwV4f1+mwx8sDfZI2IL5kF1HeC7XYtnXUvjxsR7oqmtwEai5I73ipoxS14IVNMat1A+GG D8/F/pjA/VJdmysldF5pc548bmr/DnQ= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=qjxNMIrl; spf=pass (imf10.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681942670; a=rsa-sha256; cv=none; b=6FkBOuOvgxYKP2E4Bv0szf0SSCFGW854fNgKmfQ2zLcNlyoZJO+6tiP83hNkbFAsoePc5B Pmp4gdKivRZ7ARYcJpJsJEOuP1gKSbvDapqBJGaqgwBoK2I6mQ4W1dDOxQB59fuLhJaEaq DpBfSWnHMMZBSXB/Nm8Q9KTS2RoZXvY= Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1a677dffb37so4493365ad.2 for ; Wed, 19 Apr 2023 15:17:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681942669; x=1684534669; 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=T59m5JAZKpRDJgvlPNnQtLbeFsduDf6TBzeyZHAxXV0=; b=qjxNMIrl8HnhfIp/ecw72oYKFII9UTAwql/uMAHKk/FXlEBEiMQ66OH7eiwjlGKtCq fOjlVW3CuH2HqfOiNP9XRTFCzDI4+lJmQdsac4GSSp3r+OkcygCfPaztbk/heRGDIhKM pnYeif4EQ7Prrd5kCwoWu5m8+1XOIOkSJ78OzpuHzmCbajgIzTGS3QZn2FEzSLBwhiSb 6w7a2QMSx0oX83P6+RuntF3wYcXCE4rbF3duzd0QwdejxuKey4lt6WjYMDej+sLNVh9T 6z0R8DizcoQpeT/MVd47bfnzAc938aOKta+516VE8cUvwIwwgAey2BJajvvIriSfLlPU 8bjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681942669; x=1684534669; 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=T59m5JAZKpRDJgvlPNnQtLbeFsduDf6TBzeyZHAxXV0=; b=ieRG2HWOclXscbFYQFmrnvFtl3f4OnxY1c4lj3z+gLQ+V0T/fBSKIROR3W+GJ3lg4N tGRxhgrEHp4JkqGGR+QWNzoGvVruJzy1CL1cBj4lMX3+VDm2oA8TWtJiOMAMGutOQh7U 6zKaf6ZxPp9/LJXzTpbpqzJS6qM/iX9/hQBa6WnM/587QbdCdKob6fgOdkhdXfvejY4d voJpjTZuENbWtZzhZH0vemS3f2WjjqxxnxKxqxhaaJGDFjWTKe4aMa5UKd6j35EHVClx tZxK2tceTK7y/ENG4pxoDeVZCn+oxbqalxMbcJfEAzgGzzXfpGW7lF9cJPOzlUV7me0j 2GLQ== X-Gm-Message-State: AAQBX9cPoToauRg9pk1fhNlNF6HVC0dYzoqYCIa42KqyH1vKDflQdyos MFE0b/moj2vDJGadede8vAeb+A== X-Google-Smtp-Source: AKy350a2O0VHJD6AXYzabb4g8786HYDihr3e7/POpprE3Ii6IVd/H8nE9VOR2CTMJgAkkR7C+O0Rjg== X-Received: by 2002:a17:902:aa4a:b0:1a1:f0cb:1055 with SMTP id c10-20020a170902aa4a00b001a1f0cb1055mr6242462plr.28.1681942669632; Wed, 19 Apr 2023 15:17:49 -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.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 15:17:49 -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 09/48] RISC-V: KVM: Add CoVE related nacl helpers Date: Wed, 19 Apr 2023 15:16:37 -0700 Message-Id: <20230419221716.3603068-10-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: BAAF8C0024 X-Stat-Signature: c7z6gzx8me1mywkhfjxpqeucr7jg9ip9 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1681942670-710354 X-HE-Meta: U2FsdGVkX1/qRayrDxj9Y+HTX048EStAMijTHEAq8aRNaeUu1JC3z3XGcZb+e+aZd5lZw3l8lIFGdq+5D4Di98KSwc0iJD2PqNGmV5Ywm6moZSewedU81025r1G9ZwkOeRX+zh6YIKiK4MLo9WOHe7fJ09clYJ4OkGfKuYiDG3Yp1KWSOSh0/gNqA0soD1i9ZdNl+abw96C1lOjm+Am+DeQe3jas8tymFaq3CbL8uONyYVyHk1mb0zc/SygcTMkBcLXfCSbIWDO0pJWdnxoNCySABvk+Qi7eY4+3WytultlCVFHu1KrChqEo2al9/PQOe4xtu+ePmAI64xR5kjSA5XSqq0XtQbj9i0PSr3ZHbHZUOosmecvz2/gWS/YAsc+ZHsqi8JXlUOk4yZj3LOcarCZsrYR9wN3Hx8a05EM/3LbJxvunSmnQhlOyqLHXXnBzpW/HQ6WwO5l9z99P01H6/vgw7W0hdzo5UQdslFdncF+1VRa8j58I8CncHkTHba2Yqx/xDbXAHb4dFUtfYZ+/ZQDGacSDHXHkW5z0LJWoP6+3x70IYI8Y5OkB6PeZGMwa9t6zl79JuEgbHR4fr04Riou3mYTHJH9teDpFMedIo/t/UHMfSEUJ0gIX3FPlLLGW6Zc+GvY5uvUTok8hWMPiP0qfO5E2bJDmz1vPxquMKWsflGa4N0V4+gOAcUcCq7ura3nCoIct+Zrw3OGJor2IG4biA5/4g8rLl2Zfrw7Wuju4j5QVqYP/9wBsUAs2NPZ1KiIq88qFsMJxTpxUpeV+ew8YrQDWY92lJTFSl6olqk+viDWqXA5wbMH6ixi7xTyDznKYvagjeqH9sFgmCIOc9dOUCoamfhO3DMnv5WS6NVefrH3LLaZGKZoxPn6NyIEoGZwPJlwfHXarU38IqQsEt4w3o2YQHg/u27DxyA0RbJfAxTZxpT0LzpX0pTCm5EevBTluWLZ+9BoQ4zUGxH7 xABPJM52 B2gwL/FxFk/KQtrlMAPmVjjNPAIwLdeC4ob5C4ByAe/N/IOtAI61M5FM2fxgr8X700nJG00oe3Cf/nstvAqFdXQF8Et8n0kFydvcOKWTQEVJLvorgxu1pgNn3Sf+V5OMi5Nv9KjfSoy2fIeiMuK6rNz6KzoeOY9hZ502TrtTJzowR2QEF6kg8cU+NclDu1Nn8Q28rKr0JyBgCfVwJw/lrw2CsNzgiC+WhHp5dRB6usZGcKXrfrqwrtSajjgvjsjRhufLg91iOvoYCr5m+FfAhHgQ7PwcUv2ZJQ3ee69h5Uq+QKRxG6g+Wtr2NQ+d38ut2Ekf8j8vOey517wHIZ3KXYO0TYjYQ0KrBDQ6xhZ1gnlzFH60+YJnnm4HYJMbKVuK/AU9mA25y9OPoGG2LQKwzZkwZ4mikqAGV60OgY8FKKM6wfK2GOR8dC5dpw6/1RG6t60Q1f+jbS6voMGw2y4moLHOhxnTltvBX2FgwkYELmqx1tn0= 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: The NACL SBI extension allows the scratch area to be customizable per SBI extension. As per the COVH SBI extension, the scratch area stores the guest gpr state. Add some helpers to read/write gprs easily. Signed-off-by: Atish Patra --- arch/riscv/include/asm/kvm_cove_sbi.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/arch/riscv/include/asm/kvm_cove_sbi.h b/arch/riscv/include/asm/kvm_cove_sbi.h index 24562df..df7d88c 100644 --- a/arch/riscv/include/asm/kvm_cove_sbi.h +++ b/arch/riscv/include/asm/kvm_cove_sbi.h @@ -17,6 +17,21 @@ #include #include +#include + +/** + * CoVE SBI extensions defines the NACL scratch memory. + * uint64_t gprs[32] + * uint64_t reserved[224] + */ +#define get_scratch_gpr_offset(goffset) (goffset - KVM_ARCH_GUEST_ZERO) + +#define nacl_shmem_gpr_write_cove(__s, __g, __o) \ + nacl_shmem_scratch_write_long(__s, get_scratch_gpr_offset(__g), __o) + +#define nacl_shmem_gpr_read_cove(__s, __g) \ + nacl_shmem_scratch_read_long(__s, get_scratch_gpr_offset(__g)) + int sbi_covh_tsm_get_info(struct sbi_cove_tsm_info *tinfo_addr); int sbi_covh_tvm_initiate_fence(unsigned long tvmid); int sbi_covh_tsm_initiate_fence(void); -- 2.25.1