From patchwork Wed Aug 9 23:22:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Charlie Jenkins X-Patchwork-Id: 13348630 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 72D31C001B0 for ; Wed, 9 Aug 2023 23:24:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A3246B007B; Wed, 9 Aug 2023 19:24:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 353668E0002; Wed, 9 Aug 2023 19:24:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 180BF8E0001; Wed, 9 Aug 2023 19:24:30 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id EF8836B007B for ; Wed, 9 Aug 2023 19:24:29 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C843E1A0744 for ; Wed, 9 Aug 2023 23:24:29 +0000 (UTC) X-FDA: 81106147458.13.9BE9AD5 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by imf02.hostedemail.com (Postfix) with ESMTP id 0AE4F80022 for ; Wed, 9 Aug 2023 23:24:27 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=qdQX3WNw; spf=pass (imf02.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.210.173 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=1691623468; 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=2tar+fwRF9EwexnZBlGXBQ+bino7OPSUOa9FVKEDgW8=; b=ysX7bcSkJge3yOXtj9+Lx7chCoFlMIhipUF1iJzRQAUxEVKKiZPvoBRJzh4PcpR3cYmruN 4ebTJYWpQ64K5sHS6OkhYJD1j4tlq8+9YgPinogYFnYcLIuZqm9Ji8KXm3SS2W75O1lQxn 7WuEIGcoEZsFi6eu1CiglTt8eSg+C0Q= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=rivosinc-com.20221208.gappssmtp.com header.s=20221208 header.b=qdQX3WNw; spf=pass (imf02.hostedemail.com: domain of charlie@rivosinc.com designates 209.85.210.173 as permitted sender) smtp.mailfrom=charlie@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691623468; a=rsa-sha256; cv=none; b=U2NHTXjaHqnyp3Z+gVWn7PRKu9RndyVaLDM6OL7Tt14F8twcCx9gIN0fwspNnQ51Owqcw9 okBszFg21FtFFxCGJG1nzEDAsiBqod3kn9l+Z9Y3auct4+q0q1L09eM4SzsY/p/SWD9I+r QCKhxSuUZyiD/c+SiMM7/GknysFWHAo= Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-686f19b6dd2so243945b3a.2 for ; Wed, 09 Aug 2023 16:24:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1691623467; x=1692228267; 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=2tar+fwRF9EwexnZBlGXBQ+bino7OPSUOa9FVKEDgW8=; b=qdQX3WNwo4sWt4WkjKnJ08HLG31URbRoXVf7H5AnZ3n4OTaa437cOko2jjYggYBNx3 Uqtl8hjdOaQ5sFdI1pNdsg5WlvudRipmfEHH3jC3kSBPVvsl7sDCBIi9hJH3htjd+Scj +x4lyW8BfGjDQRdW6mPcEQh967lWkyY2MfrU8iYYuoqSur4+c4vzP8UjeTWZVpmWsXTi GrPLP1dKdTJl7/hWM1px5eML9DIPSblOF40Phwg5YuT2IX5LPipDqccZemKALDv8ntos VpDwK38TgYbp1DMAPUyfGhk2yDGhNkoAIbI8xAeXULhQkWloI08NyYlwSj+DJ7tiDJ+v bzLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691623467; x=1692228267; 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=2tar+fwRF9EwexnZBlGXBQ+bino7OPSUOa9FVKEDgW8=; b=iUxit1LEmwzV8nf2urzlfrPkkRw7CyINisIAoIiZFiOBq63pwt93kMydmpTtIteiRf blfjG44LR5BBw7ei5h/vyUtvbWH36FIYRHC1BQcM3vi41hL4UYtZWB1e+aAiV6Kk/avX 5rK5MsM4qWLeorRdDhEYPfFzK3pUcHzCxMKdBgrKSyyL+ndFUn4pBZrhx8O50oLv6b3o boH9dGD87FB/BBppF5w02O6zUddbEiKkOvPKyEtZabZb4EUsQE87+C1xmyEhBLPZDYBJ U3ODtNNKJKFHLZcBW2OdBtqiYx4LR52YaMo/ZY3WGXLVaWm0RlbMbn8pVpmSYxycVpIk vrQg== X-Gm-Message-State: AOJu0YyOK8yPZsTz2FeP0xnYE77mFiKAliWSGLUP0+VReZkkVdWYdOfG rrJC+dQndqAdJomrIh6ZBshqFw== X-Google-Smtp-Source: AGHT+IHPggFTtnxabsF/jkLvnF3G7KP5USE4CizFGjoAWFxir/OOf3x64PmOQQ970Z2IhxBU3MEknw== X-Received: by 2002:a05:6a20:12c2:b0:131:4808:d5a1 with SMTP id v2-20020a056a2012c200b001314808d5a1mr781717pzg.28.1691623467045; Wed, 09 Aug 2023 16:24:27 -0700 (PDT) Received: from charlie.ba.rivosinc.com ([66.220.2.162]) by smtp.gmail.com with ESMTPSA id l18-20020a170902d35200b001b54d064a4bsm82765plk.259.2023.08.09.16.24.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Aug 2023 16:24:26 -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, alexghiti@rivosinc.com Subject: [PATCH v10 4/4] RISC-V: mm: Document mmap changes Date: Wed, 9 Aug 2023 16:22:04 -0700 Message-ID: <20230809232218.849726-5-charlie@rivosinc.com> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230809232218.849726-1-charlie@rivosinc.com> References: <20230809232218.849726-1-charlie@rivosinc.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 0AE4F80022 X-Rspam-User: X-Stat-Signature: 68e5yto9b9o6t4mbomcipq16s73jj9wc X-Rspamd-Server: rspam01 X-HE-Tag: 1691623467-923039 X-HE-Meta: U2FsdGVkX19G7nPldYb3uH16LnBl9b8CeK6XVbbe08EYPxON2JiYDc0c+qqud0NPTLzB1bWB0xf6XGqFWyGix99xK+HtjUI2PzKIMkUYPxiDp28ZkvzsFzCsokw957lqHn9PP/FEgVyHU3BoieHIuITT2+0SyQ7VLJF/N4BdWfx6HFz5OpbfY0KpxVDAx25dOtqu/qXnlk3Zt599tUlOXGsjbsrdLp/J0i1+S9fxAEA08pCKp/zBfkmH1GwqmFnJaNcd1eQ7xWakM18hvhKS4TIzlzDHIkxBrjbtBGIn8NzhAZ36JeuF+xmyjV1EQXnzqSZNlacaElxi1d7XQ4Y/P8SarIqoBqSSON7w5NVej3bloP0o9SZ7cUYhxTkppzHAUoVF/8xEmVa8gqhFy1QD2zB9+YJiQMIwWzdhQl6eIRWwzycoI4OpuvBcqfSxwtaxi3avobzovKyz0Y8J5ORsfAtGC+0zUkX/L6MbbXX8MzOmSYQe+gcnLcMVXPr9KEAhNE4p3OqPtQ15zwW0fcrk3VpTFW0eHMU/GFUryHrY9aCkSUvWzYgB5Y0llhgoNCNOF7ErZqUbh62mVWwjmsdsVGiiMQpoJotVaiqzzLXUQNMqkTCGZ4BnXZUXfr6vGKowZ8qShBM4rNcwU3AvSnDC8FZWVAz8Ce8ph1mXT9WjgTcNgyzck7asGyMeyfIE6947nZ0vcudanpFdjgbHNuTrQKGxwA5s2dWWoUdWS8xAPnx00ngXnyuabN2jI4ZRuCoPE7fNRYTTS8+Nqmx3QarDxANJJYBXK1jj4I5ZDzchCPfRl4nGfuzjEN/uOGtACWYV7BbeHK1TS3WRKngBTyhPWgPSfy00C4UsZdXAsWvsfChuNsvhGUwV4q6pZk0itFdCB3zdDTQEZEnurCSJTsQssiqAyqfwvkc9/fKDgxXkcQUHw9Y4CmsjQAPZUI5g1lrlI4Wtgmb8JmwH/6rf1z8 AGobbH/U JrbOdveU6MyQPi9z6gQwgiHBNnnPUMiu644IkW71DqH7w0Ug1lMl0Eym6uk8hTge5nZw6I0oU/EVhq3dB7n8B+aI4sYwDC46JXNnkAXOsK9rAdZDzPt1U3iQ2MPlUmyREMhRS9YXCW9EaRzO6IUCp2ZxDSiiMBqlGD5ElN12TqGozZqH6YcecSnV7pwUUYivfU03A5gv7BuAxZF3+qqjZSV5aPS4HQS+JYs57H5nDWrMGkgnGu5IiGS4cnkQErs0svXFNPyt8aGf2VOjIo+SVU8zi4EvI9AAf3XxwhtPawBkaTn6kyv8ql+LrnZThyBjv8gM9ZOk16orvPi/+IpMmD/WiSs5rF38O8FRx3Djd4lOMdxgDT3b9WTuBReD+rbC7D7jTYEi+mhZDnlXvVg+XAq16SaRtFrBb14uRphtBmnQBhlRQFimMlieRksDWKuCEgqef 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 behavior of mmap is modified with this patch series, so explain the changes to the mmap hint address behavior. Signed-off-by: Charlie Jenkins Reviewed-by: Alexandre Ghiti --- Documentation/riscv/vm-layout.rst | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Documentation/riscv/vm-layout.rst b/Documentation/riscv/vm-layout.rst index 5462c84f4723..69ff6da1dbf8 100644 --- a/Documentation/riscv/vm-layout.rst +++ b/Documentation/riscv/vm-layout.rst @@ -133,3 +133,25 @@ RISC-V Linux Kernel SV57 ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | modules, BPF ffffffff80000000 | -2 GB | ffffffffffffffff | 2 GB | kernel __________________|____________|__________________|_________|____________________________________________________________ + + +Userspace VAs +-------------------- +To maintain compatibility with software that relies on the VA space with a +maximum of 48 bits the kernel will, by default, return virtual addresses to +userspace from a 48-bit range (sv48). This default behavior is achieved by +passing 0 into the hint address parameter of mmap. On CPUs with an address space +smaller than sv48, the CPU maximum supported address space will be the default. + +Software can "opt-in" to receiving VAs from another VA space by providing +a hint address to mmap. A hint address passed to mmap will cause the largest +address space that fits entirely into the hint to be used, unless there is no +space left in the address space. If there is no space available in the requested +address space, an address in the next smallest available address space will be +returned. + +For example, in order to obtain 48-bit VA space, a hint address greater than +:code:`1 << 47` must be provided. Note that this is 47 due to sv48 userspace +ending at :code:`1 << 47` and the addresses beyond this are reserved for the +kernel. Similarly, to obtain 57-bit VA space addresses, a hint address greater +than or equal to :code:`1 << 56` must be provided.