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 64611C4332F for ; Wed, 8 Nov 2023 08:00:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE78A8D00A4; Wed, 8 Nov 2023 03:00:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D97CB8D00A2; Wed, 8 Nov 2023 03:00:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5FF28D00A4; Wed, 8 Nov 2023 03:00:52 -0500 (EST) 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 B63FC8D00A2 for ; Wed, 8 Nov 2023 03:00:52 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 8F4BBC0C04 for ; Wed, 8 Nov 2023 08:00:52 +0000 (UTC) X-FDA: 81434040744.07.0F62140 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by imf19.hostedemail.com (Postfix) with ESMTP id B7B571A0012 for ; Wed, 8 Nov 2023 08:00:50 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=N+l9yAFT; dmarc=none; spf=pass (imf19.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699430450; 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=hEPgDTMpIXvshpOSSpINtGH8/u8zbO38mo5vAWcHcCQ=; b=3ZXEckzUyTmXR8CQWFaQc9yyrTDS1rnvK+DfGB2jwVq3Dj5pA1kjtPeqhoewwH7psGhvzc +oByspIxvMuM6cCH+TGPuuLAAILcks4vs+G9NalWK0i0uEKTUDa0ag4ZIlSN1TqUVgKrDK RJxZ/Ic7sV3ZILJxyut8xWDI0yY1nZU= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=N+l9yAFT; dmarc=none; spf=pass (imf19.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.128.44 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699430450; a=rsa-sha256; cv=none; b=8pRTfAhWLGhvWHsbWFubl6AP315nN8y32JQW8FrUcg57E2UhnmKkAYWbnvcjh2cNd4H/1y R2AKwfkJ6QHZl1gpEjXBQ498t2VrtkDXZC4PcLxP6LXIc8biDjexbYnNEbaeglsQpHpXf1 Kpq0CGy1VRBvVOCQQlpXL9gmSiGNJh4= Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4081ccf69dcso2600415e9.0 for ; Wed, 08 Nov 2023 00:00:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1699430449; x=1700035249; darn=kvack.org; 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=hEPgDTMpIXvshpOSSpINtGH8/u8zbO38mo5vAWcHcCQ=; b=N+l9yAFTgGNOL7mhnK2zI3kTmPmmOVOX1xFn4Zbyq8hMznJsvyW0ieP0n5lI880AlJ zeLdFHl/9jOsFEHpWPrwd8EFAeef+sv96tttj9WAU3eKee6mnzSzIDOhFUirv5qJ2pst RjUZZfUUClmImVikFzKWHnEHIOMKUKBHcDLw7WHK0XVhfCft3znn7Dq87fg+hOVbbjwW 93IC6Opc14tj41oAaSOCTYNmOonrfP5ssfUNB6q6ALoPmVu1EimY/CSeG1wudM9h2NMC HjMXLkFL/Cb/2g/A7a8ZtJ7fuwllFZ/o60KkZHnspxHDQC7qvu9t33MWMIwoUn6GDeP4 YM/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699430449; x=1700035249; 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=hEPgDTMpIXvshpOSSpINtGH8/u8zbO38mo5vAWcHcCQ=; b=cEionXiPRfU9yIlrUR03KjDdBTTAsNTEeW4d2pPeGVPqugi8EpF7hFU/+x4CtORO1F nMZwfE0oIBiR+wxCxUBlsSPop4CvFDMEs5Hxu1MrRuIIcC0hIHOPcTiLMpjLkxUrjAua p6p+2+ctPCnGa8MmCrr2HrBeAHM+1ElSBKNA/zrKwM8xE3jnGbcHaRZ0KdpyGZdKcxiA aWwU17zMJ4qh3moBJj9mtcRAcbe1dBvRKkJIAsJ2Z+t1B530gGgZ+qpb+vVH2ATI6kYW inOrJFxzx4khdSKpN4r0txYg35zQcP7M1meNxk5Ed+f3VZcPbrbHyz5e41+nWHuOb1ed TuBg== X-Gm-Message-State: AOJu0Yx+V14xgO+NV5Qvj8cbpBmjBK6U51Rh5xUPkouUgPwqPGXnKMRq /OFFoUSZdqm78a78ghpk4dw6tg== X-Google-Smtp-Source: AGHT+IGgFRraslXtVrVNm+Gd+pCruKXk0cuRYB74JEpgEQMyF+kTP3abCXagtaT+2hcD2YAAZd1MRw== X-Received: by 2002:a05:600c:4f8f:b0:407:da06:2016 with SMTP id n15-20020a05600c4f8f00b00407da062016mr1241590wmq.12.1699430449297; Wed, 08 Nov 2023 00:00:49 -0800 (PST) Received: from alex-rivos.home (amontpellier-656-1-456-62.w92-145.abo.wanadoo.fr. [92.145.124.62]) by smtp.gmail.com with ESMTPSA id p22-20020a05600c419600b00401d8181f8bsm17679141wmh.25.2023.11.08.00.00.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Nov 2023 00:00:48 -0800 (PST) From: Alexandre Ghiti To: Paul Walmsley , Palmer Dabbelt , Albert Ou , Mike Rapoport , linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Alexandre Ghiti Subject: [PATCH RESEND v2 1/2] riscv: Don't use PGD entries for the linear mapping Date: Wed, 8 Nov 2023 08:59:29 +0100 Message-Id: <20231108075930.7157-2-alexghiti@rivosinc.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231108075930.7157-1-alexghiti@rivosinc.com> References: <20231108075930.7157-1-alexghiti@rivosinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Stat-Signature: wn5ih7p43zr4e4ahkfq473ozmrr3rbwi X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: B7B571A0012 X-HE-Tag: 1699430450-31651 X-HE-Meta: U2FsdGVkX19+8cmc8qnpiyK+Nn9cTkCcdcDjs+PpYEtyV0Kt5I+9Q6UsGy2icHCmzPn3L98sqTji5cKhp+kn5jWLkCYQwRXr75S/sDkDOYwHOSiiQt8JPmQR5+MUhj6w0HJCLsmkDZNGOZ36VmXJT+q2i80Djpdw0jNoTwBZEW0DdW31kNyF3Gu9rFRkFA8KGzTe+GQD4CJo65VgswzVkpc68bTySSFWOGSUq3p0J2VnostMtVftCzfHhCKjuiFHNhaXoBsE2g6tJ5SeWL1AzlqFpImRynWYUX2jKfoP4WfxL+P0nOrydIcRpFwAPcVl56EXftsXclO55zMhofb/TdNIy6alkRu0to10AoOk2/w/4bv0S1X3O+lpE5Z6+e5C5V0X44B51Z2iKFamBq/POdrjONprMRVDLQtPgZl9pbpy8xmB5jdkhexfPHZ+9HKmJGAFes37h4f5jrtFYnFxHGHV6t5Gwu0gb2oLuVizMcS7i2H643xY5ot6VBB/yMUhptJO8SUrnSBG+IlgIrNvRm1zU2tIAKTiicT7bH/YMyTQtKXtFjSPjJKWB0nP5mxeBFOzmq3bCkED41BPAuer4rp5Lnizmzpkx6jUCdjLYP6vTraV5gsSBn6JfzOPDrOUIWRf6p7mOZw+LOyQPp5e4trjrMlOcmkBnxGddTRxGV27I8VYO91V/9KnBC7ThJkVyTbs9LnP6fgsj6HIK0FxeAfrH6MyVH93voy++ToMdy+O4SM1ELc2ERpm9YTLgsZsUsqMbpw1oITGoIbDXXEm7d604alO3x8Fvx41GkJDxMTJWAt+/NciyTw/i20eMd90cigkatAokNCRpZj4vmEh7MX8FOtC5sWCZFvGi+xec7B42XjVu3MGnD2It/fkAIZQVoCTL4shPH8G3//kC/eLoWaEvFkqhbZ28UM0NrFQrMDAgtVQXmAzDDPqdeXB43bjN79g6xQcapv1wbNN0DD tBTcmncJ Cyi/RQ/e/wvFlGCdKQPmFawhL+XbiUZxijp8LxnJWcCOJVoZdeA3qWSjVhSRS6MLYM0FqIRMr1R+xoNXxkCOBC3gZbAI11DZQCG+A0syg5xjxUfT0KQUJcAC3ACnItO4RyhOr4wI3vj5tsGpSzMtlcbKHrIr1eChjmmm2keZMlifZasD3DSxpwfm5jCFfLSEOHXCpmJ04eyCHBiwcK10DFBXfWY6n7zAeuYTtJByZbaCOyObLcKiQnTkZFtdiPALV1zSc5w87sA2KtjQreddaO9wUfqmpsrKD1GD+tRSzwanlpeqN2HB/qg5k1pEDJ+driKOiekCgYMrJ5NYnaChOuuLcC1mnLiKLc3+xKzak8LdJZWmH+tls7Q9nx55UqAP6YfrjLKhDxxl0qrWJFEgWZh1Dcgr/QxBB/G+4GNItnTnxZgPvY6ztObKhhIuDaxFvi18xxnZsR9dkdfV/ZSim60PtfnGmxdZtPv7OVuml54GnFeY= 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: List-Subscribe: List-Unsubscribe: Propagating changes at this level is cumbersome as we need to go through all the page tables when that happens (either when changing the permissions or when splitting the mapping). Note that this prevents the use of 4MB mapping for sv32 and 1GB mapping for sv39 in the linear mapping. Signed-off-by: Alexandre Ghiti --- arch/riscv/mm/init.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index 0798bd861dcb..6dc61d3c392f 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -664,16 +664,16 @@ void __init create_pgd_mapping(pgd_t *pgdp, static uintptr_t __init best_map_size(phys_addr_t pa, uintptr_t va, phys_addr_t size) { - if (!(pa & (PGDIR_SIZE - 1)) && !(va & (PGDIR_SIZE - 1)) && size >= PGDIR_SIZE) - return PGDIR_SIZE; - - if (!(pa & (P4D_SIZE - 1)) && !(va & (P4D_SIZE - 1)) && size >= P4D_SIZE) + if (pgtable_l5_enabled && + !(pa & (P4D_SIZE - 1)) && !(va & (P4D_SIZE - 1)) && size >= P4D_SIZE) return P4D_SIZE; - if (!(pa & (PUD_SIZE - 1)) && !(va & (PUD_SIZE - 1)) && size >= PUD_SIZE) + if (pgtable_l4_enabled && + !(pa & (PUD_SIZE - 1)) && !(va & (PUD_SIZE - 1)) && size >= PUD_SIZE) return PUD_SIZE; - if (!(pa & (PMD_SIZE - 1)) && !(va & (PMD_SIZE - 1)) && size >= PMD_SIZE) + if (IS_ENABLED(CONFIG_64BIT) && + !(pa & (PMD_SIZE - 1)) && !(va & (PMD_SIZE - 1)) && size >= PMD_SIZE) return PMD_SIZE; return PAGE_SIZE; -- 2.39.2