From b34bce45530ca897aea35915e0e42eb3c8047b52 Mon Sep 17 00:00:00 2001 From: Magnus Damm Date: Tue, 18 May 2010 14:42:40 +0000 Subject: sh: allow romImage data between head.S and the zero page Extend the romImage code to allow putting data between the head.S file and the empty_zero_page. Needed in the case of more advanced loader code in a separate C file. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt --- arch/sh/boot/romimage/head.S | 12 +++++++++--- arch/sh/boot/romimage/vmlinux.scr | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'arch/sh/boot/romimage') diff --git a/arch/sh/boot/romimage/head.S b/arch/sh/boot/romimage/head.S index 93e779a405e..65b8256d81c 100644 --- a/arch/sh/boot/romimage/head.S +++ b/arch/sh/boot/romimage/head.S @@ -13,7 +13,9 @@ romstart: #include /* copy the empty_zero_page contents to where vmlinux expects it */ - mova empty_zero_page_src, r0 + mova extra_data_pos, r0 + mov.l extra_data_size, r1 + add r1, r0 mov.l empty_zero_page_dst, r1 mov #(PAGE_SHIFT - 4), r4 mov #1, r3 @@ -37,7 +39,9 @@ romstart: mov #PAGE_SHIFT, r4 mov #1, r1 shld r4, r1 - mova empty_zero_page_src, r0 + mova extra_data_pos, r0 + add r1, r0 + mov.l extra_data_size, r1 add r1, r0 jmp @r0 nop @@ -45,4 +49,6 @@ romstart: .align 2 empty_zero_page_dst: .long _text -empty_zero_page_src: +extra_data_pos: +extra_data_size: + .long zero_page_pos - extra_data_pos diff --git a/arch/sh/boot/romimage/vmlinux.scr b/arch/sh/boot/romimage/vmlinux.scr index 287c08f8b4b..ea27298a99a 100644 --- a/arch/sh/boot/romimage/vmlinux.scr +++ b/arch/sh/boot/romimage/vmlinux.scr @@ -1,6 +1,7 @@ SECTIONS { .text : { + zero_page_pos = .; *(.data) } } -- cgit v1.2.3-70-g09d2