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 0x500000F0 /* Privileged mode, Bank=0, Block=1, IMASK=0xF */
96 .long 0x400000F0 /* magic used by kexec to parse zImage format */
99 decompress_kernel_addr:
100 .long decompress_kernel
103 .long ___pa(_text+PAGE_SIZE)
105 .long _text+PAGE_SIZE
109 fake_headers_as_bzImage:
111 .ascii "HdrS" ! header signature
112 .word 0x0202 ! header version number (>= 0x0105)
113 ! or else old loadlin-1.5 will fail)
114 .word 0 ! default_switch
117 .word 0 ! pointing to kernel version string
118 .byte 0 ! = 0, old one (LILO, Loadlin,
121 .byte 1 ! Load flags bzImage=1
122 .word 0x8000 ! size to move, when setup is not
123 .long 0x100000 ! 0x100000 = default for big kernel
124 .long 0 ! address of loaded ramdisk image
125 .long 0 # its size in bytes