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