[U-Boot] [PATCH v2 16/17] Move low level eNET board init into dedicated sections
Graeme Russ
graeme.russ at gmail.com
Tue Aug 25 12:19:48 CEST 2009
This patch is in readiness for moving all u-boot code + data from Flash to
RAM. Low level init code is not needed after bootstrap and therefore does
not need to be copied. Moving this code into dedicated sections makes it
easier
Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
---
Version 2
- Modified slightly to account for dropping of patch 15 (no functional
changes)
board/eNET/eNET_start.S | 3 +++
board/eNET/u-boot.lds | 4 ++--
board/sc520_cdp/sc520_cdp_asm.S | 1 +
board/sc520_cdp/u-boot.lds | 4 ++--
board/sc520_spunk/sc520_spunk_asm.S | 1 +
board/sc520_spunk/u-boot.lds | 4 ++--
cpu/i386/sc520/sc520_asm.S | 2 +-
cpu/i386/start.S | 2 +-
8 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/board/eNET/eNET_start.S b/board/eNET/eNET_start.S
index 1b07d62..1309ac7 100644
--- a/board/eNET/eNET_start.S
+++ b/board/eNET/eNET_start.S
@@ -23,6 +23,9 @@
#include "hardware.h"
+.section .start32, "ax"
+
+
/* board early intialization */
.globl early_board_init
early_board_init:
diff --git a/board/eNET/u-boot.lds b/board/eNET/u-boot.lds
index 4ea424d..284d2bd 100644
--- a/board/eNET/u-boot.lds
+++ b/board/eNET/u-boot.lds
@@ -78,8 +78,8 @@ SECTIONS
* The fff0 offset of resetvec is important, however.
*/
- . = 0xfffffe00;
- .start32 : AT (0x3807fe00) { *(.start32); }
+ . = 0xffffee00;
+ .start32 : AT (0x3807ee00) { *(.start32); }
. = 0xf800;
.start16 : AT (0x3807f800) { *(.start16); }
diff --git a/board/sc520_cdp/sc520_cdp_asm.S b/board/sc520_cdp/sc520_cdp_asm.S
index 3a8a03f..904cfb9 100644
--- a/board/sc520_cdp/sc520_cdp_asm.S
+++ b/board/sc520_cdp/sc520_cdp_asm.S
@@ -25,6 +25,7 @@
* We can then use the leds to display status information.
*/
+.section .start32, "ax"
sc520_cdp_registers:
/* size offset value */
.word 1 ; .word 0x040 ; .long 0x00 /* SDRAM buffer control */
diff --git a/board/sc520_cdp/u-boot.lds b/board/sc520_cdp/u-boot.lds
index df437c7..d232dc1 100644
--- a/board/sc520_cdp/u-boot.lds
+++ b/board/sc520_cdp/u-boot.lds
@@ -79,8 +79,8 @@ SECTIONS
*/
- . = 0xfffffe00;
- .start32 : AT (0x387ffe00) { *(.start32); }
+ . = 0xffffee00;
+ .start32 : AT (0x3807ee00) { *(.start32); }
. = 0xff00;
.start16 : AT (0x387fff00) { *(.start16); }
diff --git a/board/sc520_spunk/sc520_spunk_asm.S b/board/sc520_spunk/sc520_spunk_asm.S
index eda7e91..020bd02 100644
--- a/board/sc520_spunk/sc520_spunk_asm.S
+++ b/board/sc520_spunk/sc520_spunk_asm.S
@@ -25,6 +25,7 @@
* We can then use the leds to display status information.
*/
+.section .start32, "ax"
sc520_cdp_registers:
/* size offset value */
.word 1 ; .word 0x040 ; .long 0x00 /* SDRAM buffer control */
diff --git a/board/sc520_spunk/u-boot.lds b/board/sc520_spunk/u-boot.lds
index efb570b..f6d1abf 100644
--- a/board/sc520_spunk/u-boot.lds
+++ b/board/sc520_spunk/u-boot.lds
@@ -80,8 +80,8 @@ SECTIONS
*/
- . = 0xfffffe00;
- .start32 : AT (0x387ffe00) { *(.start32); }
+ . = 0xffffee00;
+ .start32 : AT (0x3807ee00) { *(.start32); }
. = 0xff00;
.start16 : AT (0x387fff00) { *(.start16); }
diff --git a/cpu/i386/sc520/sc520_asm.S b/cpu/i386/sc520/sc520_asm.S
index 2042d9b..07e2acd 100644
--- a/cpu/i386/sc520/sc520_asm.S
+++ b/cpu/i386/sc520/sc520_asm.S
@@ -106,7 +106,7 @@
#include <config.h>
-.section .text
+.section .start32, "ax"
.equ DRCCTL, 0x0fffef010 /* DRAM control register */
.equ DRCTMCTL, 0x0fffef012 /* DRAM timing control register */
.equ DRCCFG, 0x0fffef014 /* DRAM bank configuration register */
diff --git a/cpu/i386/start.S b/cpu/i386/start.S
index 59089ef..bb4a5cf 100644
--- a/cpu/i386/start.S
+++ b/cpu/i386/start.S
@@ -27,7 +27,7 @@
#include <version.h>
-.section .text
+.section .start32, "ax"
.code32
.globl _start
.type _start, @function
--
1.6.4.1.174.g32f4c
More information about the U-Boot
mailing list