]>
wirehaze git hosting - BOS.git/blob - kernel/init/init32b.asm
1 ;----------------------------------------------------------;
2 ; BOS kernel Christoffer Bubach, 2003-2005. ;
3 ;----------------------------------------------------------;
5 ; Initiation function for BOS ;
7 ;----------------------------------------------------------;
12 ;----------------------;
14 ;----------------------;
23 mov esi, pmode_load_ok
27 ;----------------------;
29 ;----------------------;
38 mov esi, kernel_load_ok
45 mov cl, 0x20 ; PIC 1, irq0-irq7 -> int 0x20-27.
46 mov ch, 0x28 ; PIC 2, irq8-irq15 -> int 0x28-30.
65 mov esi, u_isr
; isr.inc
66 call init_idt
; idt.inc
67 mov esi, idt_list
; idt.inc
68 call set_idt_list
; idt.inc
70 sti ; Interrupts back.
85 ;---------------------------------------------;
86 ; enable IRQs (one after one as i code it) ;
87 ;---------------------------------------------;
89 call enable_irq
; Enable IRQ 1.
103 ;------------------------------------;
104 ; get CMOS data, set PIT to 100Hz ;
106 ;------------------------------------;
107 call get_cmos_data
; cmos.inc
108 call set_pit_freq
; timer.inc
110 call enable_irq
; Enable IRQ 0.
112 ;-------------------;
114 ;-------------------;
115 mov ebx, 0x100000 ; address of first free
116 mov ecx, [ram_amount
] ; RAM. everything before
117 call init_mem
; that is reserved.
119 ;--------------------;
121 ;--------------------;
122 call fdc_init
; fdc.inc
125 ;-------------------------;
126 ; return to kernel.asm ;
127 ;-------------------------;