From patchwork Sat Jul 8 01:11:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Charlie Jenkins X-Patchwork-Id: 13305511 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 21167EB64D9 for ; Sat, 8 Jul 2023 01:12:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3FE3C6B0071; Fri, 7 Jul 2023 21:12:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 387C68D0002; Fri, 7 Jul 2023 21:12:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 24E238D0001; Fri, 7 Jul 2023 21:12:15 -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 066046B0071 for ; Fri, 7 Jul 2023 21:12:15 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id AC724120170 for ; Sat, 8 Jul 2023 01:12:14 +0000 (UTC) X-FDA: 80986668588.24.837FC2C Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by imf06.hostedemail.com (Postfix) with ESMTP id DA366180008 for ; Sat, 8 Jul 2023 01:12:12 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b="kSdi/rNN"; spf=pass (imf06.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688778733; 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:references:dkim-signature; bh=hG/AQXuxFAN1krhx66y6oqNvLxTmXg3B48rFR/wju6k=; b=OVlw0SFDA4zI4mLchshxONEHh11mYns3UVhsfe0ZW5aqhZB3vo0f3PCp4ZTYKTY4gANkUw cny7d+joiemOHkLFR7cz0pWKLOdWIN5wYVf0cVvRN1r8IrnyOBx/gh5jrAQX5tySX3voxL 4hV8TfiGfjCAD0nxQ51XiADRx8TEC3E= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688778733; a=rsa-sha256; cv=none; b=L3aQ9y0+hmEXsK8hnA0aV1ZAjpbr8bsw3SnvdJIzDrT0pWLVUH7t73px4Rt3OJU/GTniEP S7AFckGJNK/2zbWs36/EmWIT1HM/URnSKZfzJhgvFbF0xLo1LJEzE1x5dy88cIYbiRYXXb UGPl/Z3Mo38Zaz4ZjZR+ULbxoBwlGBo= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b="kSdi/rNN"; spf=pass (imf06.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-55b83ae9be2so1733094a12.2 for ; Fri, 07 Jul 2023 18:12:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1688778731; x=1691370731; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hG/AQXuxFAN1krhx66y6oqNvLxTmXg3B48rFR/wju6k=; b=kSdi/rNNNHfMSpMFIlfOp/mOBJADnhFaAkk66ucVjag4lVze23mZCljnN+xyusXAE6 uwi+Cq9yHV8Xj1AjwIfBaestAxuDhlSvML5JIt51GA0wKM7W21y+lYcRF4pZHqSVfbHX kmLPAFzBPN3Le+mo2dUUh4iy5dqdffKDbShbJ6jD6thbA18ssPldJ1ftLXv0aVtbzLQH TKFlwOixvLICPJGYOuUyJ3onYj6xf+6ObnIn6JGO3uDdE2/T4PAkD57OnrAqIEoeFH1+ uUaTIeoPDPz1mdI5fua3omzz/1t0033c4GVajNsi4GqNXKBlUYF+Hc7pLj5490GIGTga shYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688778731; x=1691370731; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hG/AQXuxFAN1krhx66y6oqNvLxTmXg3B48rFR/wju6k=; b=jOa95Elaat06URfse78rZ75b3PYj+4cajtLAt86sOWAW+JWE2MtcynKfnZBgVvPM30 MwZUOnEsuynGUhs3eyTu/Nj4BcMO8Ejias/4wPyifkQ9mr43rc/n2C5t5rDzEtktWf2z 2AdkEU6ZaxQZWydDQEUE0QZK8fAkm2KymVWP0+o7OPTf655KT1xoEJ0nq65lmEA/Kypk oFlj3p7vL+fejX0lA6bxjf7IDuL7z9pfrNxPw6mKshOPD5iJ+nJysdtbTtDAtmTEPdDo CP/Xh02xe3f2xOcGLoh7iGGBJLTKe7nCtcpz/dfuG1wZ/SqnQUBe9eSU5xZpo2zxc4bR vDyA== X-Gm-Message-State: ABy/qLZhE5oV3fLdaEOoCKyFsEZfg+g2gPQs64vrDUtIy9YPVOQNFZ+b q40CI1sjJEw1eVqyE4AUWBKiYw== X-Google-Smtp-Source: APBJJlEfIeSIG6gg4bQuj7jzvSYRUPZTMB4e5Z3mxa32edquCBC5onRLyiJegqwpT1yjoKYrnzvs8g== X-Received: by 2002:a17:902:eacc:b0:1b8:ae12:5610 with SMTP id p12-20020a170902eacc00b001b8ae125610mr6450652pld.7.1688778731557; Fri, 07 Jul 2023 18:12:11 -0700 (PDT) Received: from charlie.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id x24-20020a170902b41800b001b87d3e845bsm3830654plr.149.2023.07.07.18.12.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Jul 2023 18:12:10 -0700 (PDT) From: Charlie Jenkins To: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: charlie@rivosinc.com, conor@kernel.org, paul.walmsley@sifive.com, palmer@rivosinc.com, aou@eecs.berkeley.edu, anup@brainfault.org, konstantin@linuxfoundation.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, mick@ics.forth.gr, jrtc27@jrtc27.com, rdunlap@infradead.org Subject: [PATCH v4 0/4] RISC-V: mm: Make SV48 the default address space Date: Fri, 7 Jul 2023 18:11:31 -0700 Message-ID: <20230708011156.2697409-1-charlie@rivosinc.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Stat-Signature: xo9557yfzyemsaymbjb9njactbtzgnw9 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DA366180008 X-Rspam-User: X-HE-Tag: 1688778732-130082 X-HE-Meta: U2FsdGVkX19XvapeXZM7tRLmiBdsLEgo2o2irMT3XneOAmu5C48BPsmVK591zsyn3ZvPSsKm8ODQQEjpwDt91i5Jx7t+VeNaH46h+pX/B2Vj89s1BEnRUb84PvjXfnq59iA189B4jU2Ff5eT/3K1CKX63xugJ3LMDRcByO5+gTqf3rXvxxo4kTZ/WRS/lpsrdelswUSCvPyxD5IeHGmHD13ZmUpeG6VN3wZaS/RaFr4MIevwMxIrHGm/mNjMGAzrL2bn3vkJsIfSLW2V+sCdfJjKZpq2kUUNQZlhZ57WCfCj0Cy68SRKWAxKB975tRbQ4Nd+QZr4zEf+cKOESsS2Pw2gPU0/JQljsafbet+/auMJFd8KSc/tqEsYy7h9IWIo5Ic4pU+42xcVS2t0tRs7VGUo+zT1jC7VgYQRY0C1IMWuipu9NcrvmwDXJpG2QKzd+6etqiPphEWOnJbEqqBaT2DKZG9RjT675flAeALLquR2E+3e1R0aP87o9yHSkeG8Ib3/bGFz2zLLoCXOl+cdABLrYqbKxLZgbvgWd574dmMKd2HesAsga/FeB+CCwvgmIAR6xNCWtdNFjYjcr8qRMcVr2bHAn+2vCwSXp0hkOE1OKdG028Jwy1oCANkdwF838JcjSWhYUPTui41xdHUmOfeNjder60ZgG5mvvNdNN4Py2WDtGiR+N36wpFCDDD45H2hut3dh8YoJDOtOW82rjeRWh4bl9z0Z03vikx0ihJgLtpEPswiF9o0cx7+fWH2FHxwdIwhL8nZOBQQQPJ8R+UnLe63/7KnA0F01rWyNLmdMR/k0TqAE76aX4Li+jQsgs7TF8y3F7RRtb0V0/9wBgE0Yz6xrZwY2Kp6pVLEFzxyewNt19sdgj40gjbkeKDBkHCD3NK/aPQkiiOQex5Fn/Uec3Y5TocLzCt4BIp+06e1tFqLx4pYCinc7kMNIrhQrxhh/0u4B4/zqKhfOjUL +m1mlCS/ 7iYmQGiAZGtdSFHjpABYO95GjUC+MnjI9JNutil4+NUuHzxEkK/aR6eoGHBfst3wpfb90a6FMoBq3xPosUms3TvmwobjTc2713JgxneJH7LIrau/1jyhM2w+pnEdC/sNJuBBR5jC1EAV4qcd3t3z/HCHHohc2mDVamvnRgYcSrffEGz2mqQC6XiTSoQXCrxEL81BIaCT6KiNJY6EnyRX4eHOkgofVad3QhUG5mClHWVTlNNYe2ZcPNTy6wLY00fTHLD4bHS63TAtLrDbTnHk7m/WX6o9lybPZmIEmMrD7p1os+ZmF4/jaHkDLvWx8oiN6KbP7QY0dm1U8yccYka8/GGXXAhTlOSiTe4CbVyosSdJhvzXnr72VynTUPhz5gleoMRdp X-Bogosity: Ham, tests=bogofilter, spamicity=0.000018, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Make sv48 the default address space for mmap as some applications currently depend on this assumption. Also enable users to select desired address space using a non-zero hint address to mmap. Previous kernel changes caused Java and other applications to be broken on sv57 which this patch fixes. Documentation is also added to the RISC-V virtual memory section to explain these changes. -Charlie --- v4: - Split testcases/document patch into test cases, in-code documentation, and formal documentation patches - Modified the mmap_base macro to be more legible and better represent memory layout - Fixed documentation to better reflect the implmentation - Renamed DEFAULT_VA_BITS to MMAP_VA_BITS - Added additional test case for rlimit changes --- Charlie Jenkins (4): RISC-V: mm: Restrict address space for sv39,sv48,sv57 RISC-V: mm: Add tests for RISC-V mm RISC-V: mm: Update pgtable comment documentation RISC-V: mm: Document mmap changes Documentation/riscv/vm-layout.rst | 22 +++ arch/riscv/include/asm/elf.h | 2 +- arch/riscv/include/asm/pgtable.h | 21 ++- arch/riscv/include/asm/processor.h | 43 +++++- tools/testing/selftests/riscv/Makefile | 2 +- tools/testing/selftests/riscv/mm/.gitignore | 1 + tools/testing/selftests/riscv/mm/Makefile | 21 +++ .../selftests/riscv/mm/testcases/mmap.c | 133 ++++++++++++++++++ 8 files changed, 232 insertions(+), 13 deletions(-) create mode 100644 tools/testing/selftests/riscv/mm/.gitignore create mode 100644 tools/testing/selftests/riscv/mm/Makefile create mode 100644 tools/testing/selftests/riscv/mm/testcases/mmap.c