From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751933AbbJFDfX (ORCPT ); Mon, 5 Oct 2015 23:35:23 -0400 Received: from ozlabs.org ([103.22.144.67]:47335 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751429AbbJFDfV (ORCPT ); Mon, 5 Oct 2015 23:35:21 -0400 Message-ID: <1444102518.16909.3.camel@ellerman.id.au> Subject: Re: Missing operand for tlbie instruction on Power7 From: Michael Ellerman To: Laura Abbott Cc: Benjamin Herrenschmidt , Paul Mackerras , "linuxppc-dev@lists.ozlabs.org" , Linux Kernel Mailing List Date: Tue, 06 Oct 2015 14:35:18 +1100 In-Reply-To: <560EA623.1040300@redhat.com> References: <560EA623.1040300@redhat.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2015-10-02 at 08:43 -0700, Laura Abbott wrote: > Hi, > > We received a report (https://bugzilla.redhat.com/show_bug.cgi?id=1267395) of bad assembly > when compiling on powerpc with little endian ... > After some discussion with the binutils folks, it turns out that the tlbie > instruction actually requires another operand and binutils was updated to > check for this https://sourceware.org/ml/binutils/2015-05/msg00133.html . > > The code sequence in arch/powerpc/include/asm/ppc_asm.h now needs to be updated: > > #if !defined(CONFIG_4xx) && !defined(CONFIG_8xx) > #define tlbia \ > li r4,1024; \ > mtctr r4; \ > lis r4,KERNELBASE@h; \ > 0: tlbie r4; \ > addi r4,r4,0x1000; \ > bdnz 0b > #endif > > I don't know enough ppc assembly to properly fix this but I can test. How are you testing? This code is fairly old and I'm dubious if it still works. These days we have a ppc_md hook for flushing the TLB, ppc_md.flush_tlb(). Ideally the swsusp code would use that. cheers