Initial revision
[reactos.git] / reactos / ntoskrnl / hal / x86 / head.s
1 #define NR_TASKS 128
2
3 .globl _stext
4 .globl _idt
5 .globl _gdt
6 .globl _start
7 .globl _mainCRTStartup
8 .globl start
9
10 _stext:
11 _mainCRTStartup:
12 _start:
13 start:
14 lidt _idt_descr
15 lgdt _gdt_descr
16
17 movw $0x28,%ax
18 movw %ax,%ds
19
20 popl %eax
21 popl %eax
22 movl $_init_stack_top,%esp
23 pushl %eax
24 pushl $0
25
26 jmp __main
27
28 .data
29 _gdt:
30 .word 0
31 .word 0
32 .word 0
33 .word 0
34
35 .word 0x0000
36 .word 0x0000
37 .word 0xfa00
38 .word 0x00cc
39
40 .word 0x0000
41 .word 0x0000
42 .word 0xf200
43 .word 0x00cc
44
45 .word 0xffff
46 .word 0x0000
47 .word 0x9200
48 .word 0x00cf
49
50 .word 0xffff
51 .word 0x0000
52 .word 0x9a00
53 .word 0x00cf
54
55 .word 0xffff
56 .word 0x0000
57 .word 0x9200
58 .word 0x00cf
59
60 .fill 128,8,0
61
62 _idt_descr:
63 .word (256*8)-1
64 .long _idt
65
66 _gdt_descr:
67 /* .word ((6+128)*8)-1 */
68 .word ((6+NR_TASKS)*8)-1
69 .long _gdt
70
71 _idt:
72 .fill 256,8,0
73
74 _init_stack:
75 .fill 4096,1,0
76 _init_stack_top:
77
78 #if 0
79 _stext:
80 #endif
81