kern

view src/boot/mboot.S @ 83:4ef83db5f4cd

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 06 Dec 2011 15:53:57 +0200
parents 7f9af8cddc96
children
line source
1 #define MAGIC 0x1badb002
2 /* flags with bit 1 set means we need memory info */
3 #define FLAGS 2
4 #define STACK_SIZE 0x4000
6 .text
7 .align 4
9 /* multiboot header */
10 .long MAGIC
11 .long FLAGS
12 .long -(MAGIC + FLAGS) /* checksum */
14 .globl kentry
15 kentry:
16 /* setup a temporary kernel stack */
17 movl $(stack + STACK_SIZE), %esp
18 /* reset eflags register */
19 pushl $0
20 popf
21 /* call the kernel main function. ebx points to the
22 * multiboot information structure */
23 push %ebx
24 call kmain
25 /* we dropped out of main, halt the CPU */
26 cli
27 hlt
29 /* space for the temporary kernel stack */
30 .comm stack, STACK_SIZE