X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fdesctab.asm;h=354a001eb375b3a1e747d7930aa3f18694f3a02c;hb=802762ae7efd39786c0e134ed0bdfe8100d97230;hp=18ed10d3348443d44f00f872b52fc5a96fbb0cda;hpb=a8759b69a7dddfeff55bdfde62a9a0765ccc7eee;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/desctab.asm b/KernelLand/Kernel/arch/x86/desctab.asm index 18ed10d3..354a001e 100644 --- a/KernelLand/Kernel/arch/x86/desctab.asm +++ b/KernelLand/Kernel/arch/x86/desctab.asm @@ -220,13 +220,12 @@ Isr240.jmp: %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