From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753084AbaEODOK (ORCPT ); Wed, 14 May 2014 23:14:10 -0400 Received: from mail.active-venture.com ([67.228.131.205]:58207 "EHLO mail.active-venture.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752333AbaEODOH (ORCPT ); Wed, 14 May 2014 23:14:07 -0400 X-Originating-IP: 108.223.40.66 Message-ID: <537430F4.6020004@roeck-us.net> Date: Wed, 14 May 2014 20:13:56 -0700 From: Guenter Roeck User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Richard Weinberger , 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> <5373D1B4.5040505@nod.at> In-Reply-To: <5373D1B4.5040505@nod.at> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/14/2014 01:27 PM, Richard Weinberger wrote: > 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? > Try rootfs/sparc64 from https://github.com/groeck/linux-build-test.git Guenter