From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752029AbaENU1j (ORCPT ); Wed, 14 May 2014 16:27:39 -0400 Received: from b.ns.miles-group.at ([95.130.255.144]:1661 "EHLO radon.swed.at" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751127AbaENU1g (ORCPT ); Wed, 14 May 2014 16:27:36 -0400 Message-ID: <5373D1B4.5040505@nod.at> Date: Wed, 14 May 2014 22:27:32 +0200 From: Richard Weinberger User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Sam Ravnborg CC: linux-arch@vger.kernel.org, arnd@arndb.de, linux-kernel@vger.kernel.org, "David S. Miller" , sparclinux@vger.kernel.org Subject: Re: [PATCH 23/27] sparc: Use common bits from generic tlb.h References: <1400093999-18703-1-git-send-email-richard@nod.at> <1400093999-18703-24-git-send-email-richard@nod.at> <20140514195555.GA2801@ravnborg.org> <5373CC59.8070702@nod.at> <20140514202242.GA3167@ravnborg.org> In-Reply-To: <20140514202242.GA3167@ravnborg.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 14.05.2014 22:22, schrieb Sam Ravnborg: > On Wed, May 14, 2014 at 10:04:41PM +0200, Richard Weinberger wrote: >> Am 14.05.2014 21:55, schrieb Sam Ravnborg: >>> On Wed, May 14, 2014 at 08:59:55PM +0200, Richard Weinberger wrote: >>>> It is no longer needed to define them on our own. >>>> >>>> Cc: "David S. Miller" >>>> Cc: Richard Weinberger >>>> Cc: sparclinux@vger.kernel.org >>>> Cc: linux-kernel@vger.kernel.org >>>> Signed-off-by: Richard Weinberger >>>> --- >>>> arch/sparc/include/asm/tlb_32.h | 8 -------- >>>> arch/sparc/include/asm/tlb_64.h | 3 --- >>>> 2 files changed, 11 deletions(-) >>>> >>>> diff --git a/arch/sparc/include/asm/tlb_32.h b/arch/sparc/include/asm/tlb_32.h >>>> index 6d02d1c..60641a1 100644 >>>> --- a/arch/sparc/include/asm/tlb_32.h >>>> +++ b/arch/sparc/include/asm/tlb_32.h >>>> @@ -11,14 +11,6 @@ do { \ >>>> flush_tlb_range(vma, vma->vm_start, vma->vm_end); \ >>>> } while (0) >>>> >>>> -#define __tlb_remove_tlb_entry(tlb, pte, address) \ >>>> - do { } while (0) >>>> - >>>> -#define tlb_flush(tlb) \ >>>> -do { \ >>>> - flush_tlb_mm((tlb)->mm); \ >>>> -} while (0) >>>> - >>>> #include >>>> >>>> #endif /* _SPARC_TLB_H */ >>> >>> This part looks OK. >>> >>>> diff --git a/arch/sparc/include/asm/tlb_64.h b/arch/sparc/include/asm/tlb_64.h >>>> index 190e189..36fdcec 100644 >>>> --- a/arch/sparc/include/asm/tlb_64.h >>>> +++ b/arch/sparc/include/asm/tlb_64.h >>>> @@ -22,9 +22,6 @@ extern void smp_flush_tlb_mm(struct mm_struct *mm); >>>> extern void __flush_tlb_pending(unsigned long, unsigned long, unsigned long *); >>>> extern void flush_tlb_pending(void); >>>> >>>> -#define tlb_start_vma(tlb, vma) do { } while (0) >>>> -#define tlb_end_vma(tlb, vma) do { } while (0) >>>> -#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) >>>> #define tlb_flush(tlb) flush_tlb_pending() >>>> >>>> #include >>> >>> This does not fly for sparc64. >>> __pte_free_tlb is a static inline in pgalloc_64.h so no >>> define exist to teach tlb.h that an arch override exist. >> >> Okay, we need a #define __pte_free_tlb __pte_free_tlb. >> >>> Likewise for __pmd_free_tlb >> >> __pmd_free_tlb is already a macro so the generic tlb.h should handle it correctly. >> >> #define __pmd_free_tlb(tlb, pmd, addr) \ >> pgtable_free_tlb(tlb, pmd, false) >> >> I'd move both __pmd_free_tlb and __pte_free_tlb into tlb.h such that the include order >> of tlb.h vs pgalloc.h does not matter. >> Are you fine with that? > Yes, as long as sparc64 continue to build it makes good sense > to define these in the same file as done by most other architectures. > > Sam Will do. Sadly also with my (broken) patch sparc64 builds fine. Is there an easy way to boot a sparc64 Linux within qemu? Thanks, //richard