2 * linux/arch/sh/boot/compressed/head.S
4 * Copyright (C) 1999 Stuart Menefy
5 * Copyright (C) 2003 SUGIOKA Toshinobu
14 /* Load initial status register */
18 /* Move myself to proper location if necessary */
24 mov.l bss_start_addr, r0
26 and r1, r0 ! align cache line
27 mov.l text_start_addr, r3
67 mov.l bss_start_addr, r2
74 /* Set the initial pointer. */
75 mov.l init_stack_addr, r0
78 /* Decompress the kernel */
79 mov.l decompress_kernel_addr, r0
83 /* Jump to the start of the decompressed kernel */
84 mov.l kernel_start_addr, r0
94 .long 0x400000F0 /* Privileged mode, Bank=0, Block=0, IMASK=0xF */
97 decompress_kernel_addr:
98 .long decompress_kernel
100 .long _text+PAGE_SIZE
103 fake_headers_as_bzImage:
105 .ascii "HdrS" ! header signature
106 .word 0x0202 ! header version number (>= 0x0105)
107 ! or else old loadlin-1.5 will fail)
108 .word 0 ! default_switch
111 .word 0 ! pointing to kernel version string
112 .byte 0 ! = 0, old one (LILO, Loadlin,
115 .byte 1 ! Load flags bzImage=1
116 .word 0x8000 ! size to move, when setup is not
117 .long 0x100000 ! 0x100000 = default for big kernel
118 .long 0 ! address of loaded ramdisk image
119 .long 0 # its size in bytes