Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758743Ab1CaRXe (ORCPT ); Thu, 31 Mar 2011 13:23:34 -0400 Received: from mail.lang.hm ([64.81.33.126]:59909 "EHLO bifrost.lang.hm" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753085Ab1CaRXd (ORCPT ); Thu, 31 Mar 2011 13:23:33 -0400 Date: Thu, 31 Mar 2011 10:22:31 -0700 (PDT) From: david@lang.hm X-X-Sender: dlang@asgard.lang.hm To: Russell King - ARM Linux cc: Alan Cox , Nicolas Pitre , Dave Airlie , Linus Torvalds , Arnd Bergmann , Tony Lindgren , David Brown , lkml , linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org, Catalin Marinas Subject: Re: [GIT PULL] omap changes for v2.6.39 merge window In-Reply-To: <20110331105000.GC14323@n2100.arm.linux.org.uk> Message-ID: References: <201103301906.42429.arnd@arndb.de> <20110331105440.42692165@lxorguk.ukuu.org.uk> <20110331105000.GC14323@n2100.arm.linux.org.uk> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3012 Lines: 64 On Thu, 31 Mar 2011, Russell King - ARM Linux wrote: > On Thu, Mar 31, 2011 at 10:54:40AM +0100, Alan Cox wrote: >> If I boot it on a current PC I'm booting on a multiprocessor system with >> different timers, totally different IRQ controllers, different keyboard >> controllers (USB), PCI Express, an IOMMU, NCQ SATA, ACPI, graphics >> running in shared host memory able to give/take pages from the host, >> extra instructions, etc etc >> >> And the same kernel boots just fine on both just fine. > > We've been there for a long time with ARM. Right from the start I had > a single kernel image which booted over a range of ARM CPUs and > platforms. > > As far as ARM CPU architectures go, today we can have a single kernel > image which covers ARMv3 to ARMv5, and a separate kernel image which > covers ARMv6 to ARMv7 including SMP and UP variants. The thing which > currently stops ARMv3 to ARMv7 all together is the different page table > layouts, the ASID tagging, the exclusive load/store support for cmpxchg > and other atomic operations, etc. I don't think the push is to get a single kernel image that boots absolutly everywhere. having separate ARM5 and ARM7 kernels doesn't seem to be a big deal to anyone. > Outside of the CPU architecture, things become a lot more complicated. exactly, and this is where there is an issue. > The biggest one up until this merge window was that there is no fixed > address for system RAM, which makes stuff like virt_to_phys() rather > horrible to deal with - which in turn makes setting up and walking page > tables a nightmare. We've just solved that issue with run-time patching > of the kernel code to replace the add/sub instructions with ones with > the appropriate offset, so we're a step closer to unifying everything > into one single kernel image. This work alone produced this diffstat: > > 87 files changed, 450 insertions(+), 190 deletions(-) > > so it actually resulted in a net increase in the amount of code to be > maintained rather than reducing it. That's hardly surprising as what > that replaced was just a bunch of #define's for PHYS_OFFSET with some > complex assembly code to do run-time patching of instructions. but I don't think this sort of work is what anyone is complaining about. > Given this thread, I've lost the motivation to continue with it because > it's just going to cause more 'pointless churn' and end up annoying > Linus even more. it sounds like you are part of the solution, not part of the problem. the biggest problem is the general response from 'the ARM community' when these sorts of issues are raised claiming that there is no problem. you seem to be very aware of the problem and are working to fix it. that is a very different situaion. David Lang -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/