From 9ac4b05366c770e01ad4a49822d144665d5ca7aa Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Wed, 23 Aug 2006 06:42:25 +0000 Subject: [PATCH] - Fix some IDR->IRR bugs. - Enable 2ndEntry for HalpEndSoftwareInterrupt (pending interrupt inside an interrupt). svn path=/trunk/; revision=23664 --- reactos/hal/halx86/generic/irq.S | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/reactos/hal/halx86/generic/irq.S b/reactos/hal/halx86/generic/irq.S index 9b05cbd4b45..e3a3bc66b69 100644 --- a/reactos/hal/halx86/generic/irq.S +++ b/reactos/hal/halx86/generic/irq.S @@ -387,18 +387,16 @@ SkipMask2: /* Set IRQL and check if there are pending software interrupts */ mov [fs:KPCR_IRQL], cl -#if 0 mov eax, [fs:KPCR_IRR] mov al, _SoftIntByteTable[eax] cmp al, cl - ja DoCall -#endif + //ja DoCall ret 8 DoCall: /* There are pending softwate interrupts, call their handlers */ - add esp, 8 + add esp, 12 jmp SoftIntHandlerTable2[eax*4] .endfunc @@ -627,12 +625,10 @@ _HalpEndSoftwareInterrupt@4: SoftwareInt: /* Check if there are pending software interrupts */ mov [fs:KPCR_IRQL], cl -#if 0 - mov eax, [fs:KPCR_IDR] + mov eax, [fs:KPCR_IRR] mov al, _SoftIntByteTable[eax] cmp al, cl ja DoCall2 -#endif ret 4 DoCall2: