2 * linux/arch/sh/boot/romimage/head.S
4 * Board specific setup code, executed before zImage loader
12 /* include board specific setup code */
13 #include <mach/romimage.h>
15 #ifdef CONFIG_ROMIMAGE_MMCIF
16 /* load the romImage to above the empty zero page */
17 mov.l empty_zero_page_dst, r4
18 mov.l empty_zero_page_dst_adj, r5
20 mov.l bytes_to_load, r5
21 mov.l loader_function, r7
25 mov.l empty_zero_page_dst, r4
26 mov.l empty_zero_page_dst_adj, r5
28 mov.l loaded_code_offs, r5
34 empty_zero_page_dst_adj:
37 .long end_data - romstart
41 .long loaded_code - romstart
43 #endif /* CONFIG_ROMIMAGE_MMCIF */
45 /* copy the empty_zero_page contents to where vmlinux expects it */
46 mova extra_data_pos, r0
47 mov.l extra_data_size, r1
49 mov.l empty_zero_page_dst, r1
50 mov #(PAGE_SHIFT - 4), r4
52 shld r4, r3 /* r3 = PAGE_SIZE / 16 */
68 /* jump to the zImage entry point located after the zero page data */
72 mova extra_data_pos, r0
74 mov.l extra_data_size, r1
84 .long zero_page_pos - extra_data_pos