1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

use broken-out patches for the coldfire to make it easier to follow differences against the bsp

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16547 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
kaloz
2009-06-23 21:04:37 +00:00
parent 145f9652a5
commit 343c185b7d
88 changed files with 66817 additions and 51065 deletions

View File

@@ -0,0 +1,72 @@
From 4e16f08c800d57b986217e0d39d4a06b5bdf641d Mon Sep 17 00:00:00 2001
From: Kurt Mahan <kmahan@freescale.com>
Date: Wed, 19 Mar 2008 17:37:44 -0600
Subject: [PATCH] Move BSS section in linker script and zero it on boot.
To work with the latest round of toolchains the bss section
in the linker script needed to be moved to the end (due to
the linker thinking there were overlapping sections).
The BSS section needs to be manually zeroed.
LTIBName: mcfv4e-linker-bss-cleanup
Signed-off-by: Kurt Mahan <kmahan@freescale.com>
---
arch/m68k/coldfire/head.S | 11 +++++++++++
arch/m68k/coldfire/vmlinux-cf.lds | 11 ++++++++---
2 files changed, 19 insertions(+), 3 deletions(-)
--- a/arch/m68k/coldfire/head.S
+++ b/arch/m68k/coldfire/head.S
@@ -321,6 +321,17 @@ 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[]. */
--- a/arch/m68k/coldfire/vmlinux-cf.lds
+++ b/arch/m68k/coldfire/vmlinux-cf.lds
@@ -51,9 +51,6 @@ SECTIONS
CONSTRUCTORS
} :data
- .bss : AT(ADDR(.bss) - LOAD_OFFSET) { /* BSS */
- *(.bss)
- }
. = ALIGN(16);
.data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET ) {
@@ -62,6 +59,8 @@ SECTIONS
_edata = .; /* End of data section */
+ NOTES /* support ld --build-id */
+
. = ALIGN(8192); /* Initrd */
.init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
__init_begin = .;
@@ -111,6 +110,12 @@ SECTIONS
*(.data.init_task) /* The initial task and kernel stack */
}
+ _sbss = .;
+ .bss : AT(ADDR(.bss) - LOAD_OFFSET) { /* BSS */
+ *(.bss)
+ }
+ _ebss = .;
+
_end = . ;
/* Sections to be discarded */