Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2985900imu; Sun, 9 Dec 2018 14:20:00 -0800 (PST) X-Google-Smtp-Source: AFSGD/WTuu1ydDCYy7RQreBUnDcIoj4+TGXmTBTzTVvuL0YhlLqi0SjICjbZG7tRAFmEGu02iao8 X-Received: by 2002:a17:902:ab84:: with SMTP id f4mr9671447plr.207.1544394000379; Sun, 09 Dec 2018 14:20:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544394000; cv=none; d=google.com; s=arc-20160816; b=ZCNxgWDSZ0x2qczxDstfVGInW/Kji29/SdKJIDdF0SZF5ddCT830tDnl9siXaG78gK Hprd1PnDmokGNnl04FkVXogFTMfSJAw3Tt+2oGgfu9ED6iBSH2AJt49V2zecZAozHhgu rv/pF4/sFileiwIcPYczcK4KNvIj4iEQ4oI7PfdPt5hBZRSDHfAFljcQpUPM6wBYsOLD 9VCP8Xq4cpBCGCnu3KhwfxLtipvBzE9U06uWZqrghu9pycrdL5LB5+g4ki3dIKFTKPrw PHDEGrX8tbJBwImsmPDyLcbcVpfDzEFE6dvK6tTxr7Iob3JqRPzEldFtv+S7g0JRkpzr epjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=mQW0tCebz5P7JfS4q/blgzr7gnY9RhNny06a5t0+BtA=; b=AAdhpcSqkd9r9PDcg9g1OnksmEOeAliS4fZRVY3YsZmvIzZPAIoDCy89m5yd/9iJDE LQWWVdQpItS0vXqnTv1GVuUFnrFltmiiiiA58oUBrsLiPFHgqE/djmXOab79+9091P0+ E0zI1yHE2A9DhM4Sq9fOte4JhPC0LBUrqlu02M5embeGJD0TI+8kKDrDHghDp8gqcDTW plLqS/EcydtpuxSOk4MNLrqcJDL9e73PS/pMqdK29DQjC58Tc/em0S4eDgYgT3NbvVML pNMDZNnM0CVwH246QUyuBclxjymQYZA4Uy9YmGcmMSoLVFv6Iz+YKgavrZkjzCEXFR/2 FxWw== 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 v11si8443833pgo.11.2018.12.09.14.19.45; Sun, 09 Dec 2018 14:20:00 -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 S1727362AbeLIWEK (ORCPT + 99 others); Sun, 9 Dec 2018 17:04:10 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:35788 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726637AbeLIVza (ORCPT ); Sun, 9 Dec 2018 16:55:30 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW72t-0002ib-Fi; Sun, 09 Dec 2018 21:55:27 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72k-0003eZ-Jw; Sun, 09 Dec 2018 21:55:18 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Ralf Baechle" , "Paul Burton" , "Maciej W. Rozycki" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 295/328] MIPS: memset: Fix CPU_DADDI_WORKAROUNDS `small_fixup' regression In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: "Maciej W. Rozycki" commit 148b9aba99e0bbadf361747d21456e1589015f74 upstream. Fix a commit 8a8158c85e1e ("MIPS: memset.S: EVA & fault support for small_memset") regression and remove assembly warnings: arch/mips/lib/memset.S: Assembler messages: arch/mips/lib/memset.S:243: Warning: Macro instruction expanded into multiple instructions in a branch delay slot triggering with the CPU_DADDI_WORKAROUNDS option set and this code: PTR_SUBU a2, t1, a0 jr ra PTR_ADDIU a2, 1 This is because with that option in place the DADDIU instruction, which the PTR_ADDIU CPP macro expands to, becomes a GAS macro, which in turn expands to an LI/DADDU (or actually ADDIU/DADDU) sequence: 13c: 01a4302f dsubu a2,t1,a0 140: 03e00008 jr ra 144: 24010001 li at,1 148: 00c1302d daddu a2,a2,at ... Correct this by switching off the `noreorder' assembly mode and letting GAS schedule this jump's delay slot, as there is nothing special about it that would require manual scheduling. With this change in place correct code is produced: 13c: 01a4302f dsubu a2,t1,a0 140: 24010001 li at,1 144: 03e00008 jr ra 148: 00c1302d daddu a2,a2,at ... Signed-off-by: Maciej W. Rozycki Signed-off-by: Paul Burton Fixes: 8a8158c85e1e ("MIPS: memset.S: EVA & fault support for small_memset") Patchwork: https://patchwork.linux-mips.org/patch/20833/ Cc: Ralf Baechle [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings --- arch/mips/lib/memset.S | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/arch/mips/lib/memset.S +++ b/arch/mips/lib/memset.S @@ -213,9 +213,11 @@ nop .Lsmall_fixup\@: + .set reorder PTR_SUBU a2, t1, a0 + PTR_ADDIU a2, 1 jr ra - PTR_ADDIU a2, 1 + .set noreorder .endm