Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp171704pxu; Tue, 24 Nov 2020 23:15:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJyneb+HK2JqLf+3M11ObsAKhfcvkNxpRT5OOCkEja9qvZGv3Iyb/JP7i/ujS+4OulC4J8ig X-Received: by 2002:a17:906:b852:: with SMTP id ga18mr2020726ejb.80.1606288520484; Tue, 24 Nov 2020 23:15:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606288520; cv=none; d=google.com; s=arc-20160816; b=PXf7jIhuRuNA00ps5bVWcX+Od9pq0lhmuS14wohrlx5gUVzSuSFke41qDh+C/YwgiL SN0oXjvFR3JjA136ZHkXwQHGlxgdxpN7Js781u1GmzOcxz0t4PCe5fz22h0/PB/V4+Aq 4Oa5JHQ5HjbJvzDYGRLoi80Tgy8nLLJxoRv7lkOQeyK3EFy/We4PQbEBDU5Iep+eTQXy 3dN3sY+p3GpLeiggScD+Owu4siRe/OKhdoc42Fc7dC9hxGrsCdhSbpRAoaJOPjhua32G ql3Tbnxz2DMzWn3xcoaI+xjK73xADdIAeQ0qx1GRAWGxRJ2jfWUX+PpIPTTBMSeDQ5Gm wzng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:date:cc:to:subject:from:message-id; bh=wwVc6B43azTqRjAHc+abm+em0aUh/9CjJuMlMgOh9pU=; b=k4k00mjZ6MvCeQ8FEXBKA2Vwv7eBr6/p0Vq9GhuthZk1HQkI2KNpi7f0rvMjIeFLDO vjdzWO4ljKlflVyR/5PYzbIPoRP1pz57KPf2Lr978wFzkKyRB7S+cmfu+LTa05d04iN0 vGx9NKEPha4pZP7uMGXi/ylaouJrIBciQWfBOMccbJ8pExP3i3tk6W1yTxm+L4cem7aH yYy2t5tr4oMWhmIGMlmyNcffpRkpDmBI9QtpuG+7/3MWtJ2R4YdHx3rPRKyNAZFWna62 WwdjiAvIVShE5YURNceIgKkc7/TgbZCe3ALwiDRv6PRHcyXIYNyWim1aGgodiaeYJ2KK L1oA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d3si501636edo.149.2020.11.24.23.14.57; Tue, 24 Nov 2020 23:15:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727519AbgKYHKu (ORCPT + 99 others); Wed, 25 Nov 2020 02:10:50 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:47919 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726827AbgKYHKt (ORCPT ); Wed, 25 Nov 2020 02:10:49 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4CgsVY5L4Kz9tyTR; Wed, 25 Nov 2020 08:10:45 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id 2D5r1qhoXvQi; Wed, 25 Nov 2020 08:10:45 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4CgsVY4SmQz9tyTJ; Wed, 25 Nov 2020 08:10:45 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 82EB18B7C2; Wed, 25 Nov 2020 08:10:46 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id Mxo7yPnDQRmT; Wed, 25 Nov 2020 08:10:46 +0100 (CET) Received: from po17688vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 374D08B7B7; Wed, 25 Nov 2020 08:10:46 +0100 (CET) Received: by localhost.localdomain (Postfix, from userid 0) id 0AAD1668BA; Wed, 25 Nov 2020 07:10:46 +0000 (UTC) Message-Id: From: Christophe Leroy Subject: [PATCH v1 1/8] powerpc/32s: Always map kernel text and rodata with BATs To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Wed, 25 Nov 2020 07:10:46 +0000 (UTC) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since commit 2b279c0348af ("powerpc/32s: Allow mapping with BATs with DEBUG_PAGEALLOC"), there is no real situation where mapping without BATs is required. In order to simplify memory handling, always map kernel text and rodata with BATs even when "nobats" kernel parameter is set. Also fix the 603 TLB miss exceptions that don't require anymore kernel page table if DEBUG_PAGEALLOC. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/head_book3s_32.S | 4 ++-- arch/powerpc/mm/book3s32/mmu.c | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kernel/head_book3s_32.S b/arch/powerpc/kernel/head_book3s_32.S index a0dda2a1f2df..27767f3e7ec1 100644 --- a/arch/powerpc/kernel/head_book3s_32.S +++ b/arch/powerpc/kernel/head_book3s_32.S @@ -453,13 +453,13 @@ InstructionTLBMiss: */ /* Get PTE (linux-style) and check access */ mfspr r3,SPRN_IMISS -#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) +#ifdef CONFIG_MODULES lis r1, TASK_SIZE@h /* check if kernel address */ cmplw 0,r1,r3 #endif mfspr r2, SPRN_SPRG_PGDIR li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC -#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) +#ifdef CONFIG_MODULES bgt- 112f lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ addi r2, r2, (swapper_pg_dir - PAGE_OFFSET)@l /* kernel page table */ diff --git a/arch/powerpc/mm/book3s32/mmu.c b/arch/powerpc/mm/book3s32/mmu.c index a59e7ec98180..5c60dcade90a 100644 --- a/arch/powerpc/mm/book3s32/mmu.c +++ b/arch/powerpc/mm/book3s32/mmu.c @@ -157,11 +157,9 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top) unsigned long done; unsigned long border = (unsigned long)__init_begin - PAGE_OFFSET; - if (__map_without_bats) { - pr_debug("RAM mapped without BATs\n"); - return base; - } - if (debug_pagealloc_enabled()) { + + if (debug_pagealloc_enabled() || __map_without_bats) { + pr_debug_once("Read-Write memory mapped without BATs\n"); if (base >= border) return base; if (top >= border) -- 2.25.0