diff options
Diffstat (limited to 'arch/h8300/boot/compressed/head.S')
-rw-r--r-- | arch/h8300/boot/compressed/head.S | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/arch/h8300/boot/compressed/head.S b/arch/h8300/boot/compressed/head.S new file mode 100644 index 000000000000..b8e90d12d19e --- /dev/null +++ b/arch/h8300/boot/compressed/head.S | |||
@@ -0,0 +1,47 @@ | |||
1 | /* | ||
2 | * linux/arch/h8300/boot/compressed/head.S | ||
3 | * | ||
4 | * Copyright (C) 2006 Yoshinori Sato | ||
5 | */ | ||
6 | |||
7 | .h8300h | ||
8 | #include <linux/linkage.h> | ||
9 | |||
10 | #define SRAM_START 0xff4000 | ||
11 | |||
12 | .section .text.startup | ||
13 | .global startup | ||
14 | startup: | ||
15 | mov.l #SRAM_START+0x8000, sp | ||
16 | mov.l #__sbss, er0 | ||
17 | mov.l #__ebss, er1 | ||
18 | sub.l er0, er1 | ||
19 | shlr er1 | ||
20 | shlr er1 | ||
21 | sub.l er2, er2 | ||
22 | 1: | ||
23 | mov.l er2, @er0 | ||
24 | adds #4, er0 | ||
25 | dec.l #1, er1 | ||
26 | bne 1b | ||
27 | jsr @_decompress_kernel | ||
28 | jmp @0x400000 | ||
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 | ||