Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp822891pxb; Thu, 21 Jan 2021 23:18:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJwkHo2dUoF1TJ/DIry4RyAenxQ1GrJDaALDuyCTgGSlTIfPJJo7O1Uj/0PmvKlYmjTsWQTQ X-Received: by 2002:a05:6402:3582:: with SMTP id y2mr2149115edc.345.1611299900208; Thu, 21 Jan 2021 23:18:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611299900; cv=none; d=google.com; s=arc-20160816; b=dfCsuQKY6CvyQnMR+iycf8icDmJkX70sbEIPd7G7JMdVYA4Ag3do2txkFZrWPUwRGw pSSFERy++e7lAdzkD2r9/jfa3L06hpi8i/QMV1tYY50itBwYigdGgF8yPsn0c3Mi3fU+ 3MSHgMt9gKxbyGTyl9eV/Q3M7RZbHaCFRyJaS0eJaaEuihyRbIfZBDC7Bw9MfST8qZSl 2yyZ+Wex8K8ETdBihPdXDPkrXB4bar5z8vSGOnGYBB47o0S2wNtSkN/la7yjb/5ookt+ K3f4Qcjox8ZIvrtzy5K7PB9K8ycLnFbPmDJr5WaSXQ6yiGb8Qfa68DlabDhUlMCODcc6 x7fg== 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=s/iM4ir3AuI9BaLgr0Jerf2bWDzWyTVurji7h/6vc7w=; b=evAJ/U1mdJ9Tw5J79iCKy0dipCWBPUSzo1N3Am4jDxaK4HXzdfWh0aTpK1b3Sdu5uE JgQmgSimie+SyC6CzOh1k/EsBjPE/isc+zBolDlcLHrtHmxliixxh1TxE1qMqoLpzDA6 4O0yGh1FRTBNmP0LRnNCPheMAFUs3dhFsWXMTwKercSE+3QYwkqFq7A9cx47c4cAw+BG MW6z+xr7b/uiWccjQjPsOnmsD6mSVby5ozQ0R7U7moVLbp5RE7fjf26WgMtnhZArGlJX plyxGk230DWtxfk8E/T015iQ/GCyOB6LzPmrkZztbYoN/9yaDdTPhIfP9QSNXcxbCFdT P+IQ== 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 p63si2570482edb.24.2021.01.21.23.17.56; Thu, 21 Jan 2021 23:18: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 S1727102AbhAVHQK (ORCPT + 99 others); Fri, 22 Jan 2021 02:16:10 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:23920 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727087AbhAVHP5 (ORCPT ); Fri, 22 Jan 2021 02:15:57 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4DMVrl4BvDzB09Zl; Fri, 22 Jan 2021 08:15:03 +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 umH4X6JsF3-A; Fri, 22 Jan 2021 08:15:03 +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 4DMVrl3G52zB09Zk; Fri, 22 Jan 2021 08:15:03 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 65FCA8B813; Fri, 22 Jan 2021 08:15:04 +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 8r5lVdIzCkrk; Fri, 22 Jan 2021 08:15:04 +0100 (CET) Received: from po16121vm.idsi0.si.c-s.fr (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 2D06F8B773; Fri, 22 Jan 2021 08:15:04 +0100 (CET) Received: by po16121vm.idsi0.si.c-s.fr (Postfix, from userid 0) id E01D966AB5; Fri, 22 Jan 2021 07:15:03 +0000 (UTC) Message-Id: <69f9968f4b592fefda55227f0f7430ea612cc950.1611299687.git.christophe.leroy@csgroup.eu> From: Christophe Leroy Subject: [PATCH] powerpc/32: Use r2 in wrtspr() instead of r0 To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Fri, 22 Jan 2021 07:15:03 +0000 (UTC) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org wrtspr() is a function to write an arbitrary value in a special register. It is used on 8xx to write to SPRN_NRI, SPRN_EID and SPRN_EIE. Writing any value to one of those will play with MSR EE and MSR RI regardless of that value. r0 is used many places in the generated code and using r0 for that creates an unnecessary dependency of this instruction with preceding ones using r0 in a few places in vmlinux. r2 is most likely the most stable register as it contains the pointer to 'current'. Using r2 instead of r0 avoids that unnecessary dependency. Signed-off-by: Christophe Leroy --- arch/powerpc/include/asm/reg.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index e40a921d78f9..32a9020e93ab 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h @@ -1392,8 +1392,7 @@ static inline void mtmsr_isync(unsigned long val) : "r" ((unsigned long)(v)) \ : "memory") #endif -#define wrtspr(rn) asm volatile("mtspr " __stringify(rn) ",0" : \ - : : "memory") +#define wrtspr(rn) asm volatile("mtspr " __stringify(rn) ",2" : : : "memory") static inline void wrtee(unsigned long val) { -- 2.25.0