kern
view src/boot/mboot.S @ 16:2cbc2b922e49
adding paging
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 26 Mar 2011 12:27: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