From patchwork Wed Apr 19 22:17:12 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Atish Patra X-Patchwork-Id: 13217523 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 40FEDC77B7C for ; Wed, 19 Apr 2023 22:19:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C030B90002C; Wed, 19 Apr 2023 18:19:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB3DD900003; Wed, 19 Apr 2023 18:19:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A53D290002C; Wed, 19 Apr 2023 18:19:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 900F7900003 for ; Wed, 19 Apr 2023 18:19:10 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5AF31C03A5 for ; Wed, 19 Apr 2023 22:19:10 +0000 (UTC) X-FDA: 80699557260.01.28ECDCC Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf08.hostedemail.com (Postfix) with ESMTP id 864AF16000E for ; Wed, 19 Apr 2023 22:19:08 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b="cFqy/7hM"; spf=pass (imf08.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=atishp@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1681942748; a=rsa-sha256; cv=none; b=caVVScnPKRjDKQjBpg958I6KpQLgO7+HKr9SPYXfR3CHUeWaerYHDT8YcjPRS0AOLzdEGa SKh+V1hHOcmZut10MdbRG1KDsS1f9T8VFPidNcYXXQjgFpHuCe/TYejxHAWbTCLh9JxUL4 LSNHFl2L9UJzPLu7HveRk9uIYPncJgs= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b="cFqy/7hM"; spf=pass (imf08.hostedemail.com: domain of atishp@rivosinc.com designates 209.85.215.175 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=1681942748; 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=+bezt4nspa35ZRqzRaZmY422b4QR0Mn7woQKzr9+0N8=; b=DbkPBZoaRMvNuOJ/asZ5i7ksD0/zrv/5tjAPU4pZcSqGVqyeHEnL8jmnboHCA49HnM4IvV 4wXNSLU8QDgpBzqq9X0cmQqQsrov7Sv0iqGiPGL3TthsWyXg8Jap7wtM3oI4mU1OM6E9S4 rSZKTGL2myf78LLvv/suzZExvZHD4/8= Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-51b0f9d7d70so283868a12.1 for ; Wed, 19 Apr 2023 15:19:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1681942747; x=1684534747; 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=+bezt4nspa35ZRqzRaZmY422b4QR0Mn7woQKzr9+0N8=; b=cFqy/7hM+Ny4fP4WIxs4wAIEAjRhQmifvh65+m0WDOJ/jYCumQJdB1BJZNu5ucVQLt vHeOX9JqsZJsPoOkvbrleSPo5GRulHiShRoX7tLw/Bo3NH2vnqKu9FAh7Id3Frv2QuNE +weDjwOUG7PuVaf0Q8I8065eawPZBUZF/IBP3CPxafiXKLMpIPqIxJCnZC8Rka6I13Pf MlvlahxQGVeNZnlElGB4Hwi7P8WFIaVtZscNXzvS3DDLN30pdgEiwWgQCtnYC84qh4Gj EUi0u8wk2hWEG92QVESAvb05CMVa66rE4mAeYWrE7046KCBAGXIObMS7PVHwhD5fW9N7 Ltcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681942747; x=1684534747; 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=+bezt4nspa35ZRqzRaZmY422b4QR0Mn7woQKzr9+0N8=; b=iI1Ptc87f+TNiBURDUIJmEyqH6Ym572TJ3fFuFPvPU8x1KA3HZ1oM/4571Kqrn9thU Qyad8uue5UH+BORrdQ6nUjH53FjG4kId8m8MaXmLKcFgZTyZOE4CMT93BlBYrIc9i7xI av/JRz4U3x/qb9HugFn3OpZh4xQchHy+lrDQadTVFL2MG5+dhDC988FD6etI55FkE40x 5ger6qea0y1rgBh3e6Kd7fMiZH3egkiMvaeuC8Jzuko9MiFl3Quld+j4HXCP625tprft yNZcd37o4VtVajaOk/rwsYRuZPv6sdTAFyWLR0Y9sZBYAm4huAYpM4IfxZr3TLxP4LOh 8S4g== X-Gm-Message-State: AAQBX9dygxT8V606g2ah0au9HlZYE1x9QRNezl49vW/aDjn/In+FAZS7 iq+4gxVzGLMiKYoLCDwwdW1f0g== X-Google-Smtp-Source: AKy350bB8ZklTkd1MwNIad8/q9PvIlAh0JulWMyK+P713MLjTnxYs1KPIh7Umu4fPlJwkV2KzfaSZw== X-Received: by 2002:a17:902:e5c7:b0:1a8:1436:c892 with SMTP id u7-20020a170902e5c700b001a81436c892mr5030556plf.14.1681942747426; Wed, 19 Apr 2023 15:19:07 -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.19.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 15:19:07 -0700 (PDT) From: Atish Patra To: linux-kernel@vger.kernel.org Cc: Rajnesh Kanwal , Atish Patra , Alexandre Ghiti , Andrew Jones , Andrew Morton , Anup Patel , Atish Patra , =?utf-8?b?QmrDtnJuIFTDtnBlbA==?= , 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 , Uladzislau Rezki Subject: [RFC 44/48] RISC-V: Add cc_platform_has() for RISC-V for CoVE Date: Wed, 19 Apr 2023 15:17:12 -0700 Message-Id: <20230419221716.3603068-45-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 X-Rspam-User: X-Rspamd-Queue-Id: 864AF16000E X-Rspamd-Server: rspam01 X-Stat-Signature: ufahnb197gzqi3tc9nbq1rcs6i6zkm6q X-HE-Tag: 1681942748-443077 X-HE-Meta: U2FsdGVkX18bKgAf1QojH1OG4q9u7pqv1xxakJfWjZr0dL8YCHnEISbbuNp2XHx81UvR70Y5brfoPv8gi3Wrmd7qqY66RxUkhh5nByeXpP075+QfG9mczy4R0xzzbiJbhVY7LOvlE/aH0fkEoRgDbl1ds5F+dcphbPD8KEm90o4zwuX07B9km/mZXa0Gq1mNUDRWqBzqbOyEEjpZBxBzHBzjpm9n+xyng+/hFuSUo1yyIpC8C5ixlZAN/Ep29fHKKqgOU3b16zQMZRP18xOAfKWjJUHfH169PQzd7vaP++opN5lPfAhZQJV8vp72KYHBnVtqMQ9Jf+akrLzE+0ybeEatwrvA8qxS/JoMib6mdkbpu3GKayVYEXa6go1MqW7XUy6417ReQtMJjHXO8U4siSYGqy0pFdxXL6I85opeIuZCvn5oZ0Xodl2ostYnbtBoPDCE3SB4LO8mqrPBxa1NADcVBpEM/niVnGE0KHP0Bk90nC/8BUUE9Z+M2y6qzqnpwawhE8FI1rnvM7sRqIbCBEZvXH1q6aclQVxpyNQnI0EPZ/3RmbZiRUFiUS+riMSx+I7wOZkw7Nq6xhjn2L2QU3mw8um6AN8AcBmaosQyeVARoYTqShVCZ70c3VDu5gg/Z6Pxb1d42eaGuzkAWIGebAN1r52EhA/zvF12pweDCHT7HStoZlEZv57sEU4Ttxr/fcRK1NVDTEG56rysGyccbvt9TUOQSY/MeHartgLfVN5mQXW3n0C9qteJgcW5Ow9EF2nNUi7R2ublf5yaMmdw8jsO66ZCBbKLbTZM15gqhLEOqg+xQd6MRp5mUTyTezWrIoEsWRLEEtN3cqnUW9kuTW8VXhhi/Ah0M3udnyB2O9QX6wVeDAgXtQeX+9e0fbuiQS0fXfZ+UQJdRF+m2HVmmHhLDzPnQ9DfIKcuJHeP8LkGcqv9HiAaSdmm4bdIcNMTZrtnW4PMghckpSQ6iPP Yx3XyBZD sQ39qbXptch3+ayacfUSNXuJoqXqjmEZ2IREYmv4qOAlKEjhCay6VwxYS2x2YH7oUWYgpFEvYMJjOrf/1DPffwHKdhUHzX585xvrpUYlvHktkIWCUoD2obMYIxoFLSkEhBrKO2Hd3uhk+H8i67wNKIiGJv98dIqxf2Ne+hrTZooyYpOXBD41CTRssvMcGz5MDtXYUaH6MPJ9D9SjD9Pqj1kcKHK+s81y3SRjooOrgY8CzwYSvXAhEgXDV+hE6mWAa4GV/s634821G+h/kY8uKoOEN4i/4nEMtk3ZdTbEthySJ+KaU40Dlkv/8vbR6YRjugBLyvv/ddCpYytDQy0FKS/5m4KPSl2O+6EL9ehHjJGSyT1/hSxA2uHXhE40VD42W4wSLYRDg+Bv5XUJsP1qCEfLsaFdkHSDG5dSYumtzk//PJ366TH5qqTG/AqCTzxCgsK6VTR8uf42gONtsZltxWlbkj2KW+q7qRc3D5jFX6/nfrEuE+z6EiAeUjrm1Db7REeI/ 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: From: Rajnesh Kanwal All the confidential computing solutions uses the arch specific cc_platform_has function to enable memory encryption/decryption. Implement the same for RISC-V to support that as well. Signed-off-by: Rajnesh Kanwal Signed-off-by: Atish Patra --- arch/riscv/Kconfig | 1 + arch/riscv/cove/core.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 414cee1..2ca9e01 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -522,6 +522,7 @@ config RISCV_COVE_GUEST default n select SWIOTLB select RISCV_MEM_ENCRYPT + select ARCH_HAS_CC_PLATFORM help Enables support for running TVMs on platforms supporting CoVE. diff --git a/arch/riscv/cove/core.c b/arch/riscv/cove/core.c index 7218fe7..582feb1c 100644 --- a/arch/riscv/cove/core.c +++ b/arch/riscv/cove/core.c @@ -21,6 +21,18 @@ bool is_cove_guest(void) } EXPORT_SYMBOL_GPL(is_cove_guest); +bool cc_platform_has(enum cc_attr attr) +{ + switch (attr) { + case CC_ATTR_GUEST_MEM_ENCRYPT: + case CC_ATTR_MEM_ENCRYPT: + return is_cove_guest(); + default: + return false; + } +} +EXPORT_SYMBOL_GPL(cc_platform_has); + void riscv_cove_sbi_init(void) { if (sbi_probe_extension(SBI_EXT_COVG) > 0)