diff options
Diffstat (limited to 'i686/init.s')
-rw-r--r-- | i686/init.s | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/i686/init.s b/i686/init.s index 92710df..c0c25c0 100644 --- a/i686/init.s +++ b/i686/init.s @@ -15,6 +15,9 @@ k_ptable0x300: .skip 1024 * 4 .section .text .global k_init .extern kmain +.extern pic_init +.extern gdt_install +.extern idt_install k_init: # kernel entry point, higher half @@ -33,6 +36,12 @@ k_init: mov $k_stack, %esp # point stack pointer to the stack + # hardware init + call pic_init # Programmable Interrupt Controller + call gdt_install # Global Descriptor Table + call idt_install # Interrupt Descriptor Table + + # jump into kernel call kmain /* If the system has nothing more to do, put it in an infinite loop */ |