- Fix the ASSERT in VdmSwapContext now that we are always setting up the trap frame correctly on debug build.

- 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
This commit is contained in:
Stefan Ginsberg 2015-09-06 22:29:10 +00:00
parent 93ff988b19
commit ec566e8082
2 changed files with 11 additions and 3 deletions

View file

@ -447,8 +447,16 @@ KeConnectInterrupt(IN PKINTERRUPT Interrupt)
/* The vector is shared and the interrupts are compatible */ /* The vector is shared and the interrupts are compatible */
Interrupt->Connected = Connected = TRUE; 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 */ /* Check if this is the first chain */
if (Dispatch.Type != ChainConnect) if (Dispatch.Type != ChainConnect)

View 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 */ /* Make sure that we're at APC_LEVEL and that this is a valid frame */
ASSERT(KeGetCurrentIrql() == APC_LEVEL); ASSERT(KeGetCurrentIrql() == APC_LEVEL);
//ASSERT(TrapFrame->DbgArgMark == 0xBADB0D00); ASSERT(TrapFrame->DbgArgMark == 0xBADB0D00);
/* Check if this is a V86 frame */ /* Check if this is a V86 frame */
if (TrapFrame->EFlags & EFLAGS_V86_MASK) if (TrapFrame->EFlags & EFLAGS_V86_MASK)