Back to home page

LXR

 
 

    


0001 /*
0002  *  linux/arch/h8300/boot/compressed/head.S
0003  *
0004  *  Copyright (C) 2006 Yoshinori Sato
0005  */
0006 
0007 #include <linux/linkage.h>
0008 
0009     .section    .text..startup,"ax"
0010     .global startup
0011 startup:
0012     mov.l   #startup, sp
0013     mov.l   er0, er4
0014     mov.l   #__sbss, er0
0015     mov.l   #__ebss, er1
0016     sub.l   er0, er1
0017     shlr    er1
0018     shlr    er1
0019     sub.l   er2, er2
0020 1:
0021     mov.l   er2, @er0
0022     adds    #4, er0
0023     dec.l   #1, er1
0024     bne 1b
0025     jsr @decompress_kernel
0026     mov.l   er4, er0
0027     jmp @output
0028 
0029     .align  9
0030 fake_headers_as_bzImage:
0031     .word   0
0032     .ascii  "HdrS"      ; header signature
0033     .word   0x0202      ; header version number (>= 0x0105)
0034                 ; or else old loadlin-1.5 will fail)
0035     .word   0       ; default_switch
0036     .word   0       ; SETUPSEG
0037     .word   0x1000
0038     .word   0       ; pointing to kernel version string
0039     .byte   0       ; = 0, old one (LILO, Loadlin,
0040                 ; 0xTV: T=0 for LILO
0041                 ;       V = version
0042     .byte   1       ; Load flags bzImage=1
0043     .word   0x8000      ; size to move, when setup is not
0044     .long   0x100000    ; 0x100000 = default for big kernel
0045     .long   0       ; address of loaded ramdisk image
0046     .long   0       ; its size in bytes
0047 
0048     .end