From patchwork Fri Feb 4 01:22:07 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tony Lindgren X-Patchwork-Id: 530961 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p141MNt4003545 for ; Fri, 4 Feb 2011 01:22:23 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755294Ab1BDBWW (ORCPT ); Thu, 3 Feb 2011 20:22:22 -0500 Received: from mho-02-ewr.mailhop.org ([204.13.248.72]:13719 "EHLO mho-02-ewr.mailhop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753752Ab1BDBWV (ORCPT ); Thu, 3 Feb 2011 20:22:21 -0500 Received: from c-98-234-237-12.hsd1.ca.comcast.net ([98.234.237.12] helo=baageli.muru.com) by mho-02-ewr.mailhop.org with esmtpa (Exim 4.72) (envelope-from ) id 1PlANR-000Dtn-9p; Fri, 04 Feb 2011 01:22:21 +0000 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 98.234.237.12 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1/THcWeQyh46rSQKX31CTMC Subject: [PATCH 1/2] ARM: Add inituart macro to initialize DEBUG_LL serial port based on the machine ID To: linux-arm-kernel@lists.infradead.org From: Tony Lindgren Cc: linux-omap@vger.kernel.org Date: Thu, 03 Feb 2011 17:22:07 -0800 Message-ID: <20110204012207.26298.16649.stgit@baageli.muru.com> In-Reply-To: <20110204012008.26298.16341.stgit@baageli.muru.com> References: <20110204012008.26298.16341.stgit@baageli.muru.com> User-Agent: StGit/0.15 MIME-Version: 1.0 Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Fri, 04 Feb 2011 01:22:23 +0000 (UTC) diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index c84b57d..0b66d6b 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S @@ -63,6 +63,9 @@ ENDPROC(__vet_atags) * r1 = machine ID * r2 = atags pointer * r9 = processor ID + * + * Note that if the machine uses BSS to store the debug UART configuration, + * debug_ll code will not work after clear BSS until inituart is called again. */ __INIT __mmap_switched: @@ -80,6 +83,10 @@ __mmap_switched: strcc fp, [r6],#4 bcc 1b +#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC) + inituart r1, r4, r5 +#endif + ARM( ldmia r3, {r4, r5, r6, r7, sp}) THUMB( ldmia r3, {r4, r5, r6, r7} ) THUMB( ldr sp, [r3, #16] ) diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 591a2ea..be64264 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -75,6 +75,11 @@ ENTRY(stext) setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode @ and irqs disabled + +#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC) + inituart r1, r3, r4 +#endif + mrc p15, 0, r9, c0, c0 @ get processor id bl __lookup_processor_type @ r5=procinfo r9=cpuid movs r10, r5 @ invalid processor (r5=0)?