X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86%2Fdesctab.asm;h=43bd8e4c2eb31766db6470b20e3643fe4a748fbc;hb=302b755a1a7b1d607774353b908e325e934aacdc;hp=b5d060dd180ef03c580035dbae17ec6c0696e1dd;hpb=8d062ceb17eb6cfb2e3db8af6794d38391c245d3;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86/desctab.asm b/Kernel/arch/x86/desctab.asm index b5d060dd..43bd8e4c 100644 --- a/Kernel/arch/x86/desctab.asm +++ b/Kernel/arch/x86/desctab.asm @@ -29,6 +29,7 @@ gGDTPtr: dd gGDT ; IDT ALIGN 8 +[global gIDT] gIDT: times 256 dd 0x00080000,0x00000F00 [global gIDTPtr] @@ -146,7 +147,6 @@ Isr%1: %macro DEF_IRQ 1 [global Isr%1] Isr%1: - ;cli ; HACK! push 0 push %1 jmp IRQCommon @@ -205,12 +205,19 @@ Isr240: ; --------------------- [extern ErrorHandler] ErrorCommon: + ;xchg bx, bx pusha push ds push es push fs push gs + mov ax, 0x10 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + push esp call ErrorHandler add esp, 4 @@ -257,6 +264,12 @@ IRQCommon: push fs push gs + mov ax, 0x10 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + push esp call IRQ_Handler add esp, 4 @@ -280,6 +293,12 @@ SchedulerBase: push fs push gs + mov ax, 0x10 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + mov eax, [esp+12*4] ; CPU Number push eax ; Pus as argument