X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fdesctab.asm;h=354a001eb375b3a1e747d7930aa3f18694f3a02c;hb=56f9364724d8d04a8ffb6dec4213a5ae86968686;hp=6eaa651a239657c58ab6b6d0a77e37285f7ae356;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/desctab.asm b/KernelLand/Kernel/arch/x86/desctab.asm index 6eaa651a..354a001e 100644 --- a/KernelLand/Kernel/arch/x86/desctab.asm +++ b/KernelLand/Kernel/arch/x86/desctab.asm @@ -215,18 +215,17 @@ Isr240.jmp: %endif ; - Assignable %assign i 0xF1 -%rep 16 +%rep 15 DEF_IRQ i %assign i i+1 %endrep +[extern ReturnFromInterrupt] ; --------------------- ; Common error handling ; --------------------- [extern ErrorHandler] ErrorCommon: - ;xchg bx, bx ; MAGIC BREAK - pusha push ds push es @@ -248,13 +247,7 @@ ErrorCommon: call ErrorHandler add esp, 4 - pop gs - pop fs - pop es - pop ds - popa - add esp, 8 ; Error Code and ID - iret + jmp ReturnFromInterrupt ; -------------------------- ; Common System Call Handler @@ -282,14 +275,8 @@ SyscallCommon: and eax, 0x100 ; 0x100 = Trace Flag and WORD [esp+(4+8+2+2)*4], ~0x100 ; Clear or DWORD [esp+(4+8+2+2)*4], eax ; Set for user - - pop gs - pop fs - pop es - pop ds - popa - add esp, 8 ; Error Code and ID - iret + + jmp ReturnFromInterrupt ; ------------ ; IRQ Handling