Author: ion Date: Wed Aug 23 10:42:25 2006 New Revision: 23664
URL: http://svn.reactos.org/svn/reactos?rev=23664&view=rev Log: - Fix some IDR->IRR bugs. - Enable 2ndEntry for HalpEndSoftwareInterrupt (pending interrupt inside an interrupt).
Modified: trunk/reactos/hal/halx86/generic/irq.S
Modified: trunk/reactos/hal/halx86/generic/irq.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halx86/generic/irq.S?re... ============================================================================== --- trunk/reactos/hal/halx86/generic/irq.S (original) +++ trunk/reactos/hal/halx86/generic/irq.S Wed Aug 23 10:42:25 2006 @@ -387,18 +387,16 @@
/* 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 @@ 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: