aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch')
-rw-r--r--target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch b/target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch
new file mode 100644
index 0000000000..84a26a3e21
--- /dev/null
+++ b/target/linux/coldfire/patches/065-mcfv4e_bss_clear_move.patch
@@ -0,0 +1,46 @@
+From 87ea76988875856dc1c3657b27ac792d2f0311e9 Mon Sep 17 00:00:00 2001
+From: Kurt Mahan <kmahan@freescale.com>
+Date: Tue, 24 Jun 2008 22:12:17 -0600
+Subject: [PATCH] Move BSS initialization after mmu setup.
+
+LTIBName: mcfv4e-bss-clear-move
+Signed-off-by: Kurt Mahan <kmahan@freescale.com>
+---
+ arch/m68k/coldfire/head.S | 19 +++++++++----------
+ 1 files changed, 9 insertions(+), 10 deletions(-)
+
+--- a/arch/m68k/coldfire/head.S
++++ b/arch/m68k/coldfire/head.S
+@@ -326,16 +326,6 @@ ENTRY(__start)
+ movec %d0, %acr3
+ nop
+
+-#ifdef CONFIG_COLDFIRE
+-/* zero bss */
+- lea _sbss,%a0
+- lea _ebss,%a1
+- clrl %d0
+-_loop_bss:
+- movel %d0,(%a0)+
+- cmpl %a0,%a1
+- bne _loop_bss
+-#endif
+ /* If you change the memory size to another value make a matching
+ change in paging_init(cf-mmu.c) to zones_size[]. */
+
+@@ -564,6 +554,15 @@ ENTRY(__running_high)
+ addl #PAGE_OFFSET,%a1
+ movel %a1,%a0@
+
++/* zero bss */
++ lea _sbss,%a0
++ lea _ebss,%a1
++ clrl %d0
++_loop_bss:
++ movel %d0,(%a0)+
++ cmpl %a0,%a1
++ bne _loop_bss
++
+ /* Unmap unity mappings */
+ #if CONFIG_SDRAM_BASE != PAGE_OFFSET
+ #if defined(CONFIG_M5445X)