Loading...
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
12startup:
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
211:
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
31fake_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
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