Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2036368imu; Thu, 10 Jan 2019 07:15:58 -0800 (PST) X-Google-Smtp-Source: ALg8bN5b5zHCFyNeFlulG90WacJdSW0f0ztb5ETowrxv8e+URzoWU4wgsYHvf56vKKqdU1OnQcSX X-Received: by 2002:a17:902:5601:: with SMTP id h1mr10990720pli.160.1547133358322; Thu, 10 Jan 2019 07:15:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547133358; cv=none; d=google.com; s=arc-20160816; b=uyctAf6oBOGRSjDjaRvESbUThD46OCH1gd/zHHYkucxfyooGduTxGCY5yCT1TJRBY3 VFFXne13onzJSOZbhWL5QospZXUzJp83eRVB0dbIpIVnSIbfOJMHI65uv3MUSGzlecYs 38YkQVrwdZN89DJUTPcku0ocFlI+c6kEQfmvq7xYvPWpdjrGUCBa+wtjrcc9vlcsKpqa ds2YcHml+ekLDp/wuIoMCK0MRxE42CFNhJ+hhUVm5V4j+qAbhRV/09iMnz4+oeZLO4Lo vNBpTgLGI0Ie7kV/67jS8HMPvJPJisgpCml5f2632T4C1Sw6JMzFkm4j+Ywn607tyJha qYQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:references :in-reply-to:message-id; bh=WbTpMBykj2OmTaAO11GeQbkRVbsS8+ldMFB8/y6I7uE=; b=iw3/gxaIlu4LT5IaBL92nMsI1H0NEKigPcZbZRCSW4yk2aysBRf6FlsPH7BqHoWvcg flYPTz5+nbOVMlipb3laBE4h1fan136PZlS5hWFqalHHhqpceO8BBXVvzTNJe7RBmYre md6X/e5h4uvsm/oJDKI3A3NWa4XsnVqXG/aYeYQ6AL5VKYXzujyab9mG6MJmosOOrhEV w3CHfLylM/fnCVkzIEf3BAskOLAbJjjU+8vBl9chZQRdS4j3NSwbxIpwBZLQyiV6qBLk BwmVX3kLPIchiVQQzBYI0XD1DYfWuMC7Y4ropjtZMa2zlPyeiCRXcU77msSxb7Uc4Mgz vnMA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 4si16047571plc.320.2019.01.10.07.15.43; Thu, 10 Jan 2019 07:15:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729642AbfAJPLy (ORCPT + 99 others); Thu, 10 Jan 2019 10:11:54 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:22318 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729620AbfAJPLx (ORCPT ); Thu, 10 Jan 2019 10:11:53 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 43b8bn6VC3z9v0fC; Thu, 10 Jan 2019 16:11:49 +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 1GEE4D0wKVST; Thu, 10 Jan 2019 16:11:49 +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 43b8bn5wppz9v0f8; Thu, 10 Jan 2019 16:11:49 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 506F38B89F; Thu, 10 Jan 2019 16:11:51 +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 A-uSo9xft9d3; Thu, 10 Jan 2019 16:11:51 +0100 (CET) Received: from po16846vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 2C48F8B898; Thu, 10 Jan 2019 16:11:51 +0100 (CET) Received: by po16846vm.idsi0.si.c-s.fr (Postfix, from userid 0) id E63EF6BF21; Thu, 10 Jan 2019 15:11:50 +0000 (UTC) Message-Id: <96107daf554f0b20648fa535c88fdd5aee367453.1547132681.git.christophe.leroy@c-s.fr> In-Reply-To: References: From: Christophe Leroy Subject: [PATCH v2 06/15] powerpc/mm/32s: use _PAGE_EXEC in setbat() To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , j.neuschaefer@gmx.net Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Thu, 10 Jan 2019 15:11:50 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Do not set IBAT when setbat() is called without _PAGE_EXEC Signed-off-by: Christophe Leroy --- arch/powerpc/mm/ppc_mmu_32.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c index b8a8d55f51a6..42320688e415 100644 --- a/arch/powerpc/mm/ppc_mmu_32.c +++ b/arch/powerpc/mm/ppc_mmu_32.c @@ -131,6 +131,7 @@ unsigned long __init mmu_mapin_ram(unsigned long base, unsigned long top) * Set up one of the I/D BAT (block address translation) register pairs. * The parameters are not checked; in particular size must be a power * of 2 between 128k and 256M. + * On 603+, only set IBAT when _PAGE_EXEC is set */ void __init setbat(int index, unsigned long virt, phys_addr_t phys, unsigned int size, pgprot_t prot) @@ -157,11 +158,12 @@ void __init setbat(int index, unsigned long virt, phys_addr_t phys, bat[1].batu |= 1; /* Vp = 1 */ if (flags & _PAGE_GUARDED) { /* G bit must be zero in IBATs */ - bat[0].batu = bat[0].batl = 0; - } else { - /* make IBAT same as DBAT */ - bat[0] = bat[1]; + flags &= ~_PAGE_EXEC; } + if (flags & _PAGE_EXEC) + bat[0] = bat[1]; + else + bat[0].batu = bat[0].batl = 0; } else { /* 601 cpu */ if (bl > BL_8M) -- 2.13.3