From patchwork Wed Aug 12 17:55:47 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Ruder X-Patchwork-Id: 506722 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id C5FD11401F6 for ; Thu, 13 Aug 2015 03:56:04 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b=GWA4oofa; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1E39E4B6A2; Wed, 12 Aug 2015 19:56:03 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S4osCNOhD18N; Wed, 12 Aug 2015 19:56:02 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id AA4494B67F; Wed, 12 Aug 2015 19:56:02 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 48DB44B692 for ; Wed, 12 Aug 2015 19:56:00 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aSAG0LKXM_En for ; Wed, 12 Aug 2015 19:56:00 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by theia.denx.de (Postfix) with ESMTPS id 0A7434B65B for ; Wed, 12 Aug 2015 19:55:56 +0200 (CEST) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 10F312223D for ; Wed, 12 Aug 2015 13:55:56 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Wed, 12 Aug 2015 13:55:56 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-sasl-enc:x-sasl-enc; s=smtpout; bh=SoZ1oSwhYcW2OnGJrpCGC3YSl8 o=; b=GWA4oofadBBygkkbDICnmd9xfq7gasetEMJT5Iuryap5n4NgLjW30VhyD+ WFkv8lokSeWkaUGeHP4knwvpy9p3YlZscJW5JjNR9cgt6aqNL5zwNsy5OIJgiSmf nxJKEYelThBv0rvS1cqHyGiGkf0GVZBX+gpoQEYAjiQwXC7Eo= X-Sasl-enc: z/23lGDv7U18uplD4J632i0OKUoqwMANuHCEKWul0zlI 1439402155 Received: from andrewruder-hplin.dci.local (64-198-156-98.ip.mcleodusa.net [64.198.156.98]) by mail.messagingengine.com (Postfix) with ESMTPA id 997CAC00016; Wed, 12 Aug 2015 13:55:55 -0400 (EDT) From: Andrew Ruder To: u-boot@lists.denx.de Date: Wed, 12 Aug 2015 12:55:47 -0500 Message-Id: <1439402147-22745-1-git-send-email-andrew.ruder@elecsyscorp.com> X-Mailer: git-send-email 2.1.4 Cc: Marek Vasut , Andrew Ruder Subject: [U-Boot] [PATCH] pxa: Fix boot hang by avoiding vector relocation X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Since commit 3ff46cc42b9d73d0 ("arm: relocate the exception vectors") pxa does not boot anymore. Add a specific relocate_vectors macro that skips the vector relocation, as the pxa SoC does not provide RAM at the high vectors address (0xFFFF0000), and (0x00000000) maps to ROM. This allows pxa to boot again. Cc: Marek Vasut Signed-off-by: Andrew Ruder --- arch/arm/cpu/pxa/Makefile | 1 + arch/arm/cpu/pxa/relocate.S | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 arch/arm/cpu/pxa/relocate.S diff --git a/arch/arm/cpu/pxa/Makefile b/arch/arm/cpu/pxa/Makefile index 8cd475e..3ee08cd 100644 --- a/arch/arm/cpu/pxa/Makefile +++ b/arch/arm/cpu/pxa/Makefile @@ -13,3 +13,4 @@ obj-$(CONFIG_CPU_PXA27X) += pxa2xx.o obj-y += cpuinfo.o obj-y += timer.o obj-y += usb.o +obj-y += relocate.o diff --git a/arch/arm/cpu/pxa/relocate.S b/arch/arm/cpu/pxa/relocate.S new file mode 100644 index 0000000..fafd4da --- /dev/null +++ b/arch/arm/cpu/pxa/relocate.S @@ -0,0 +1,23 @@ +/* + * relocate - PXA270 vector relocation + * + * Copyright (c) 2013 Albert ARIBAUD + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include + +/* + * The PXA SoC is very specific with respect to exceptions: it + * does not provide RAM at the high vectors address (0xFFFF0000), + * thus only the low address (0x00000000) is useable; but that is + * in ROM, so let's avoid relocating the vectors. + */ + .section .text.relocate_vectors,"ax",%progbits + +ENTRY(relocate_vectors) + + bx lr + +ENDPROC(relocate_vectors)