1
0
mirror of git://projects.qi-hardware.com/xburst-tools.git synced 2024-11-26 22:44:03 +02:00

qi-gta02-remap-steppingstone.patch

Despite what the docs say, steppingstone is always resident at
0x40000000 on s3c2442, this patch changes our linker script to
stick all steppingstone code there.  The mapping of steppingstone
at 0x0 is broken by OM[] bus change dynamically caused for example
by GTA02 AUX button actuation.

Signed-off-by: Andy Green <andy@openmoko.com>
This commit is contained in:
Andy Green 2008-12-01 01:26:06 +00:00 committed by Andy Green
parent 9a6d9de901
commit 40edd785a7

View File

@ -27,20 +27,21 @@ OUTPUT_ARCH(arm)
ENTRY(_start) ENTRY(_start)
SECTIONS SECTIONS
{ {
. = 0x00000000; __steppingstone_always = 0x40000000;
__qi_sdram_copy = 0x33000000;
. = __steppingstone_always;
/* this is intended to take the first 4KBytes of stuff initially. /* this is intended to take the first 4KBytes of stuff initially.
* We have to make sure we have .rodata* in there for everything * We have to make sure we have .rodata* in there for everything
* because we do not compile PIC. * because we do not compile PIC.
*/ */
. = ALIGN(4); .text __steppingstone_always : AT (0x0)
.text :
{ {
src/cpu/s3c2442/start.o (.text .rodata* .data .bss) src/cpu/s3c2442/start.o (.text .rodata* .data .bss)
src/cpu/s3c2442/lowlevel_init.o (.text .rodata* .data .bss) src/cpu/s3c2442/lowlevel_init.o (.text .rodata* .data .bss)
src/cpu/s3c2442/start_qi.o (.text .rodata* .data .bss) src/cpu/s3c2442/start_qi.o (.text .rodata* .data .bss)
/* src/blink_led.o (.text .rodata* .data .bss) */
src/cpu/s3c2442/nand_read.o (.text .rodata* .data .bss) src/cpu/s3c2442/nand_read.o (.text .rodata* .data .bss)
src/cpu/s3c2442/serial-s3c24xx.o (.text .rodata* .data .bss) src/cpu/s3c2442/serial-s3c24xx.o (.text .rodata* .data .bss)
src/memory-test.o (.text .rodata* .data .bss) src/memory-test.o (.text .rodata* .data .bss)
@ -50,10 +51,10 @@ SECTIONS
} }
. = ALIGN(4); . = ALIGN(4);
.everything_else ADDR (.text) + SIZEOF (.text) + 0x33000000 : .everything_else ADDR (.text) - __steppingstone_always + SIZEOF (.text) + __qi_sdram_copy :
AT ( ADDR (.text) + SIZEOF (.text) ) { *(.text .rodata* .data) } AT ( ADDR (.text) - __steppingstone_always + SIZEOF (.text) ) { *(.text .rodata* .data) }
. = 0x33800000 ; . = __qi_sdram_copy + 0x800000 ;
__bss_start = .; __bss_start = .;
.bss (NOLOAD) : .bss (NOLOAD) :
{ {