From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eddie.linux-mips.org ([148.251.95.138]:38606 "EHLO cvs.linux-mips.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751322AbdGRLov (ORCPT ); Tue, 18 Jul 2017 07:44:51 -0400 Received: from localhost.localdomain ([127.0.0.1]:56764 "EHLO localhost.localdomain" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S23990924AbdGRLot4nJPZ (ORCPT ); Tue, 18 Jul 2017 13:44:49 +0200 Date: Tue, 18 Jul 2017 12:44:49 +0100 (BST) From: "Maciej W. Rozycki" To: Ralf Baechle cc: linux-mips@linux-mips.org, stable@vger.kernel.org Subject: Re: [PATCH] MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: stable-owner@vger.kernel.org List-ID: On Sun, 9 Jul 2017, Maciej W. Rozycki wrote: > Fix a commit 3021773c7c3e ("MIPS: DEC: Avoid la pseudo-instruction in > delay slots") regression and remove assembly errors: > > arch/mips/dec/int-handler.S: Assembler messages: > arch/mips/dec/int-handler.S:162: Error: Macro used $at after ".set noat" > arch/mips/dec/int-handler.S:163: Error: Macro used $at after ".set noat" > arch/mips/dec/int-handler.S:229: Error: Macro used $at after ".set noat" > arch/mips/dec/int-handler.S:230: Error: Macro used $at after ".set noat" > > triggering with with the CPU_DADDI_WORKAROUNDS option set and the DADDIU > instruction. This is because with that option in place the instruction > becomes a macro, which expands to an LI/DADDU (or actually ADDIU/DADDU) > sequence that uses $at as a temporary register. Use ADDIU instead then, > which is equivalent when used with LUI to compose the intermediate > 32-bit values. 64-bit DEC configurations unconditionally select CPU_DADDI_WORKAROUNDS, which in turn requires KBUILD_SYM32 or a build error is triggered in our top-level arch Makefile. Therefore this issue can be handled better, by checking for KBUILD_64BIT_SYM32 and then the problematic 64-bit leg of the #ifdef can be reduced to #error, as not supposed to be ever enabled. Withdrawing this patch then, I'll send a different one soon. Maciej