Statistics
| Branch: | Revision:

root / linux_boot.S @ 07ce05ea

History | View | Annotate | Download (607 Bytes)

1 07ce05ea bellard
/*
2 07ce05ea bellard
 * QEMU Boot sector to launch a preloaded Linux kernel
3 07ce05ea bellard
 * Copyright (c) 2004 Fabrice Bellard
4 07ce05ea bellard
 */
5 07ce05ea bellard
6 07ce05ea bellard
#define LOAD_SEG 0x9000
7 07ce05ea bellard
        
8 07ce05ea bellard
.code16	
9 07ce05ea bellard
.text
10 07ce05ea bellard
	.globl	linux_boot_start
11 07ce05ea bellard
	.globl	linux_boot_end
12 07ce05ea bellard
13 07ce05ea bellard
linux_boot_start:
14 07ce05ea bellard
        cli
15 07ce05ea bellard
        cld
16 07ce05ea bellard
        mov $LOAD_SEG, %ax
17 07ce05ea bellard
        mov %ax, %ds
18 07ce05ea bellard
        mov %ax, %es
19 07ce05ea bellard
        mov %ax, %fs
20 07ce05ea bellard
        mov %ax, %gs
21 07ce05ea bellard
        mov %ax, %ss
22 07ce05ea bellard
        mov $0x8ffe, %sp
23 07ce05ea bellard
        ljmp $LOAD_SEG + 0x20, $0
24 07ce05ea bellard
25 07ce05ea bellard
1:              
26 07ce05ea bellard
        .fill 510 - (1b - linux_boot_start), 1, 0
27 07ce05ea bellard
28 07ce05ea bellard
        /* boot sector signature */
29 07ce05ea bellard
        .byte 0x55
30 07ce05ea bellard
        .byte 0xaa
31 07ce05ea bellard
                
32 07ce05ea bellard
linux_boot_end: