diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-12-11 18:57:42 (GMT) |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-12-11 18:57:42 (GMT) |
commit | 5c6baba84e1ac6a79b266b40e17e692aab6604a1 (patch) | |
tree | 6ba34db1109107023d753dd9fd5c359b3b990a04 /arch/sh/boot/romimage/head.S | |
parent | 893f38d144a4d96d2483cd7c3801d26e1b2c23e9 (diff) | |
parent | 3ef884b4c04e857c283cc77ca70ad8f638d94b0e (diff) | |
download | linux-fsl-qoriq-5c6baba84e1ac6a79b266b40e17e692aab6604a1.tar.xz |
Merge commit 'linus/master' into x86/urgent
Diffstat (limited to 'arch/sh/boot/romimage/head.S')
-rw-r--r-- | arch/sh/boot/romimage/head.S | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/sh/boot/romimage/head.S b/arch/sh/boot/romimage/head.S index 219bc62..93e779a 100644 --- a/arch/sh/boot/romimage/head.S +++ b/arch/sh/boot/romimage/head.S @@ -5,6 +5,44 @@ */ .text + #include <asm/page.h> + .global romstart romstart: + /* include board specific setup code */ #include <mach/romimage.h> + + /* copy the empty_zero_page contents to where vmlinux expects it */ + mova empty_zero_page_src, r0 + mov.l empty_zero_page_dst, r1 + mov #(PAGE_SHIFT - 4), r4 + mov #1, r3 + shld r4, r3 /* r3 = PAGE_SIZE / 16 */ + +1: + mov.l @r0, r4 + mov.l @(4, r0), r5 + mov.l @(8, r0), r6 + mov.l @(12, r0), r7 + add #16,r0 + mov.l r4, @r1 + mov.l r5, @(4, r1) + mov.l r6, @(8, r1) + mov.l r7, @(12, r1) + dt r3 + add #16,r1 + bf 1b + + /* jump to the zImage entry point located after the zero page data */ + mov #PAGE_SHIFT, r4 + mov #1, r1 + shld r4, r1 + mova empty_zero_page_src, r0 + add r1, r0 + jmp @r0 + nop + + .align 2 +empty_zero_page_dst: + .long _text +empty_zero_page_src: |