2 * linux/arch/sh/boot/compressed/head.S
4 * Copyright (C) 1999 Stuart Menefy
5 * Copyright (C) 2003 SUGIOKA Toshinobu
10 #include <linux/config.h>
11 #include <linux/linkage.h>
15 /* Load initial status register */
19 /* Move myself to proper location if necessary */
25 mov.l bss_start_addr, r0
27 and r1, r0 ! align cache line
28 mov.l text_start_addr, r3
68 mov.l bss_start_addr, r2
75 /* Set the initial pointer. */
76 mov.l init_stack_addr, r0
79 /* Decompress the kernel */
80 mov.l decompress_kernel_addr, r0
84 /* Jump to the start of the decompressed kernel */
85 mov.l kernel_start_addr, r0
95 .long 0x400000F0 /* Privileged mode, Bank=0, Block=0, IMASK=0xF */
98 decompress_kernel_addr:
99 .long decompress_kernel
104 fake_headers_as_bzImage:
106 .ascii "HdrS" ! header signature
107 .word 0x0202 ! header version number (>= 0x0105)
108 ! or else old loadlin-1.5 will fail)
109 .word 0 ! default_switch
112 .word 0 ! pointing to kernel version string
113 .byte 0 ! = 0, old one (LILO, Loadlin,
116 .byte 1 ! Load flags bzImage=1
117 .word 0x8000 ! size to move, when setup is not
118 .long 0x100000 ! 0x100000 = default for big kernel
119 .long 0 ! address of loaded ramdisk image
120 .long 0 # its size in bytes