- Fix the ASSERT in VdmSwapContext now that we are always setting up the trap frame...
authorStefan Ginsberg <stefanginsberg@gmail.com>
Sun, 6 Sep 2015 22:29:10 +0000 (22:29 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Sun, 6 Sep 2015 22:29:10 +0000 (22:29 +0000)
- Fix the ASSERT in KeConnectInterrupt for debug single-processor builds (but keep the old one for multiprocessor build to make it less confusing if it is hit).

svn path=/trunk/; revision=69075

reactos/ntoskrnl/ke/i386/irqobj.c
reactos/ntoskrnl/vdm/vdmexec.c

index 6a18fe1..ac05c74 100644 (file)
@@ -447,8 +447,16 @@ KeConnectInterrupt(IN PKINTERRUPT Interrupt)
             /* The vector is shared and the interrupts are compatible */
             Interrupt->Connected = Connected = TRUE;
 
-            /* FIXME */
-            // ASSERT(Irql <= SYNCH_LEVEL);
+            /*
+             * Verify the IRQL for chained connect,
+             */
+#if defined(CONFIG_SMP)
+            ASSERT(Irql <= SYNCH_LEVEL);
+#elif (NTDDI_VERSION >= NTDDI_WS03)
+            ASSERT(Irql <= (IPI_LEVEL - 2));
+#else
+            ASSERT(Irql <= (IPI_LEVEL - 1));
+#endif
 
             /* Check if this is the first chain */
             if (Dispatch.Type != ChainConnect)
index d305b3d..cdcd313 100644 (file)
@@ -50,7 +50,7 @@ VdmSwapContext(IN PKTRAP_FRAME TrapFrame,
 
     /* Make sure that we're at APC_LEVEL and that this is a valid frame */
     ASSERT(KeGetCurrentIrql() == APC_LEVEL);
-    //ASSERT(TrapFrame->DbgArgMark == 0xBADB0D00);
+    ASSERT(TrapFrame->DbgArgMark == 0xBADB0D00);
 
     /* Check if this is a V86 frame */
     if (TrapFrame->EFlags & EFLAGS_V86_MASK)