public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] pxa: Fix boot hang by avoiding vector relocation
@ 2015-08-12 17:55 Andrew Ruder
  2015-08-12 19:26 ` Marek Vasut
  0 siblings, 1 reply; 2+ messages in thread
From: Andrew Ruder @ 2015-08-12 17:55 UTC (permalink / raw)
  To: 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 <marex@denx.de>
Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>
---
 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 <albert.u.boot@aribaud.net>
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include <linux/linkage.h>
+
+/*
+ * 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)
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [U-Boot] [PATCH] pxa: Fix boot hang by avoiding vector relocation
  2015-08-12 17:55 [U-Boot] [PATCH] pxa: Fix boot hang by avoiding vector relocation Andrew Ruder
@ 2015-08-12 19:26 ` Marek Vasut
  0 siblings, 0 replies; 2+ messages in thread
From: Marek Vasut @ 2015-08-12 19:26 UTC (permalink / raw)
  To: u-boot

On Wednesday, August 12, 2015 at 07:55:47 PM, Andrew Ruder wrote:
> 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 <marex@denx.de>
> Signed-off-by: Andrew Ruder <andrew.ruder@elecsyscorp.com>

Applied to u-boot-pxa/master, thanks.

Best regards,
Marek Vasut

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-08-12 19:26 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-12 17:55 [U-Boot] [PATCH] pxa: Fix boot hang by avoiding vector relocation Andrew Ruder
2015-08-12 19:26 ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox