fixed the interrupt gate descriptor setup
[ld45_start_nothing] / src / boot / boot2.asm
index d5884bc..df2653c 100644 (file)
@@ -24,6 +24,7 @@ boot2_start:
 
        mov al, 10
        call ser_putchar
+       call clearscr
 
        ; enable A20 address line
        call enable_a20
@@ -62,7 +63,7 @@ gdt_lim: dw 23
 gdt_base: dd gdt
 
        align 4
-idt_lim: dw 111
+idt_lim: dw 2047
 idt_base: dd idt
 
        align 8
@@ -76,6 +77,7 @@ gdt:  ; 0: null segment
        dd 0000ffffh
        dd 00cf9200h
 
+       global idt
        align 8
 idt:   times 104 db 0
        ; trap gate 13: general protection fault
@@ -83,6 +85,7 @@ idt:  times 104 db 0
        dw 8
        dw 8f00h    ; type: trap, present, default
        dw 0
+       times 1944 db 0 ; enough space for 256 gates
 
 gpf_msg: db "GP fault "
 
@@ -548,7 +551,7 @@ kbc_wait_write:
        jnz kbc_wait_write
        ret
 
-numbuf: resb 16
+numbuf: times 16 db 0
 
 
        ; this part is placed at the very end of all boot sections