1/*
2 *  linux/arch/h8300/boot/compressed/head.S
3 *
4 *  Copyright (C) 2006 Yoshinori Sato
5 */
6
7#include <linux/linkage.h>
8
9	.section	.text..startup,"ax"
10	.global	startup
11startup:
12	mov.l	#startup, sp
13	mov.l	er0, er4
14	mov.l	#__sbss, er0
15	mov.l	#__ebss, er1
16	sub.l	er0, er1
17	shlr	er1
18	shlr	er1
19	sub.l	er2, er2
201:
21	mov.l	er2, @er0
22	adds	#4, er0
23	dec.l	#1, er1
24	bne	1b
25	jsr	@decompress_kernel
26	mov.l	er4, er0
27	jmp	@output
28
29	.align	9
30fake_headers_as_bzImage:
31	.word	0
32	.ascii	"HdrS"		; header signature
33	.word	0x0202		; header version number (>= 0x0105)
34				; or else old loadlin-1.5 will fail)
35	.word	0		; default_switch
36	.word	0		; SETUPSEG
37	.word	0x1000
38	.word	0		; pointing to kernel version string
39	.byte	0		; = 0, old one (LILO, Loadlin,
40				; 0xTV: T=0 for LILO
41				;       V = version
42	.byte	1		; Load flags bzImage=1
43	.word	0x8000		; size to move, when setup is not
44	.long	0x100000	; 0x100000 = default for big kernel
45	.long	0		; address of loaded ramdisk image
46	.long	0		; its size in bytes
47
48	.end
49