From patchwork Tue Aug 23 16:32:47 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jamie Iles X-Patchwork-Id: 1088952 Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p7NGXFfB022610 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 23 Aug 2011 16:33:43 GMT Received: from canuck.infradead.org ([2001:4978:20e::1]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QvtuR-0004wR-69; Tue, 23 Aug 2011 16:33:03 +0000 Received: from localhost ([127.0.0.1] helo=canuck.infradead.org) by canuck.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1QvtuQ-0006VI-OA; Tue, 23 Aug 2011 16:33:02 +0000 Received: from mail-wy0-f177.google.com ([74.125.82.177]) by canuck.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1QvtuN-0006Uz-3X for linux-arm-kernel@lists.infradead.org; Tue, 23 Aug 2011 16:32:59 +0000 Received: by wyh11 with SMTP id 11so279088wyh.36 for ; Tue, 23 Aug 2011 09:32:56 -0700 (PDT) Received: by 10.216.188.207 with SMTP id a57mr3385825wen.94.1314117175915; Tue, 23 Aug 2011 09:32:55 -0700 (PDT) Received: from localhost (gw-ba1.picochip.com [94.175.234.108]) by mx.google.com with ESMTPS id e44sm90703wed.41.2011.08.23.09.32.55 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 23 Aug 2011 09:32:55 -0700 (PDT) Date: Tue, 23 Aug 2011 17:32:47 +0100 From: Jamie Iles To: Will Deacon Subject: v6 software reset fails on 1176 Message-ID: <20110823163247.GM2796@pulham.picochip.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-CRM114-Version: 20090807-BlameThorstenAndJenny ( TRE 0.7.6 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20110823_123259_355401_5893FE31 X-CRM114-Status: GOOD ( 15.46 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.3.1 on canuck.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [74.125.82.177 listed in list.dnswl.org] Cc: linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Tue, 23 Aug 2011 16:33:43 +0000 (UTC) Hi Will, I'm trying to use the cpu_v6_reset that you added in "ARM: proc: add definition of cpu_reset for ARMv6 and ARMv7 cores", but I've found that on my 1176 platform, it never gets to the branch to the reset vector. Removing the ISB allows the branch instruction to be in the pipeline by the time the MMU is disabled, but I'm not sure if this is the correct fix. Having said that, I don't see how this can work with an ISB in there. Jamie diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index 219138d..3b6737a 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -59,8 +59,6 @@ ENTRY(cpu_v6_reset) mrc p15, 0, r1, c1, c0, 0 @ ctrl register bic r1, r1, #0x1 @ ...............m mcr p15, 0, r1, c1, c0, 0 @ disable MMU - mov r1, #0 - mcr p15, 0, r1, c7, c5, 4 @ ISB mov pc, r0 /*