summaryrefslogtreecommitdiff
path: root/packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch')
-rw-r--r--packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch b/packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch
new file mode 100644
index 0000000000..b3d7bc1166
--- /dev/null
+++ b/packages/uboot/u-boot-mkimage-gta01-native/uboot-arm920t-gd_in_irq.patch
@@ -0,0 +1,28 @@
+This patch allows us to use the 'gd' pointer (and thus environment
+and everything else associated with it) from interrupt context on
+arm920t.
+
+Signed-off-by: Harald Welte <laforge@openmoko.org>
+
+Index: u-boot/cpu/arm920t/start.S
+===================================================================
+--- u-boot.orig/cpu/arm920t/start.S 2007-02-24 02:35:38.000000000 +0100
++++ u-boot/cpu/arm920t/start.S 2007-02-24 02:36:01.000000000 +0100
+@@ -474,12 +474,12 @@
+ .macro irq_save_user_regs
+ sub sp, sp, #S_FRAME_SIZE
+ stmia sp, {r0 - r12} @ Calling r0-r12
+- add r8, sp, #S_PC
+- stmdb r8, {sp, lr}^ @ Calling SP, LR
+- str lr, [r8, #0] @ Save calling PC
++ add r7, sp, #S_PC
++ stmdb r7, {sp, lr}^ @ Calling SP, LR
++ str lr, [r7, #0] @ Save calling PC
+ mrs r6, spsr
+- str r6, [r8, #4] @ Save CPSR
+- str r0, [r8, #8] @ Save OLD_R0
++ str r6, [r7, #4] @ Save CPSR
++ str r0, [r7, #8] @ Save OLD_R0
+ mov r0, sp
+ .endm
+