1/* 2 * linux/arch/sh/boot/romimage/head.S 3 * 4 * Board specific setup code, executed before zImage loader 5 */ 6 7.text 8 #include <asm/page.h> 9 10 .global romstart 11romstart: 12 /* include board specific setup code */ 13#include <mach/romimage.h> 14 15 /* copy the empty_zero_page contents to where vmlinux expects it */ 16 mova empty_zero_page_src, r0 17 mov.l empty_zero_page_dst, r1 18 mov #(PAGE_SHIFT - 4), r4 19 mov #1, r3 20 shld r4, r3 /* r3 = PAGE_SIZE / 16 */ 21 221: 23 mov.l @r0, r4 24 mov.l @(4, r0), r5 25 mov.l @(8, r0), r6 26 mov.l @(12, r0), r7 27 add #16,r0 28 mov.l r4, @r1 29 mov.l r5, @(4, r1) 30 mov.l r6, @(8, r1) 31 mov.l r7, @(12, r1) 32 dt r3 33 add #16,r1 34 bf 1b 35 36 /* jump to the zImage entry point located after the zero page data */ 37 mov #PAGE_SHIFT, r4 38 mov #1, r1 39 shld r4, r1 40 mova empty_zero_page_src, r0 41 add r1, r0 42 jmp @r0 43 nop 44 45 .align 2 46empty_zero_page_dst: 47 .long _text 48empty_zero_page_src: 49