Remove software interrupt 0x2F trap handler
This commit is contained in:
@@ -342,7 +342,6 @@ AR::ProcessorSupport::InitializeIdt(IN PKPROCESSOR_BLOCK ProcessorBlock)
|
|||||||
SetIdtGate(ProcessorBlock->IdtBase, 0x1F, (PVOID)ArTrapEntry[0x1F], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING0, AMD64_INTERRUPT_GATE);
|
SetIdtGate(ProcessorBlock->IdtBase, 0x1F, (PVOID)ArTrapEntry[0x1F], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING0, AMD64_INTERRUPT_GATE);
|
||||||
SetIdtGate(ProcessorBlock->IdtBase, 0x2C, (PVOID)ArTrapEntry[0x2C], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING3, AMD64_TRAP_GATE);
|
SetIdtGate(ProcessorBlock->IdtBase, 0x2C, (PVOID)ArTrapEntry[0x2C], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING3, AMD64_TRAP_GATE);
|
||||||
SetIdtGate(ProcessorBlock->IdtBase, 0x2D, (PVOID)ArTrapEntry[0x2D], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING3, AMD64_TRAP_GATE);
|
SetIdtGate(ProcessorBlock->IdtBase, 0x2D, (PVOID)ArTrapEntry[0x2D], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING3, AMD64_TRAP_GATE);
|
||||||
SetIdtGate(ProcessorBlock->IdtBase, 0x2F, (PVOID)ArInterruptEntry[0x2F], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING0, AMD64_INTERRUPT_GATE);
|
|
||||||
SetIdtGate(ProcessorBlock->IdtBase, 0xE1, (PVOID)ArInterruptEntry[0xE1], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING0, AMD64_INTERRUPT_GATE);
|
SetIdtGate(ProcessorBlock->IdtBase, 0xE1, (PVOID)ArInterruptEntry[0xE1], KGDT_R0_CODE, KIDT_IST_RESERVED, KIDT_ACCESS_RING0, AMD64_INTERRUPT_GATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -171,10 +171,6 @@ AR::Traps::DispatchTrap(IN PKTRAP_FRAME TrapFrame)
|
|||||||
/* Debug-Service-Request raised */
|
/* Debug-Service-Request raised */
|
||||||
HandleTrap2D(TrapFrame);
|
HandleTrap2D(TrapFrame);
|
||||||
break;
|
break;
|
||||||
case 0x2F:
|
|
||||||
/* Software Interrupt at DISPATCH level */
|
|
||||||
HandleTrap2F(TrapFrame);
|
|
||||||
break;
|
|
||||||
case 0xE1:
|
case 0xE1:
|
||||||
/* InterProcessor Interrupt (IPI) */
|
/* InterProcessor Interrupt (IPI) */
|
||||||
HandleTrapE1(TrapFrame);
|
HandleTrapE1(TrapFrame);
|
||||||
@@ -608,23 +604,6 @@ AR::Traps::HandleTrap2D(IN PKTRAP_FRAME TrapFrame)
|
|||||||
KE::Crash::Panic(0x2D);
|
KE::Crash::Panic(0x2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles the trap 0x2F when a software interrupt gets generated at DISPATCH_LEVEL.
|
|
||||||
*
|
|
||||||
* @param TrapFrame
|
|
||||||
* Supplies a kernel trap frame pushed by common trap handler on the stack.
|
|
||||||
*
|
|
||||||
* @return This routine does not return any value.
|
|
||||||
*
|
|
||||||
* @since XT 1.0
|
|
||||||
*/
|
|
||||||
XTCDECL
|
|
||||||
VOID
|
|
||||||
AR::Traps::HandleTrap2F(IN PKTRAP_FRAME TrapFrame)
|
|
||||||
{
|
|
||||||
DebugPrint(L"Unhandled software interrupt at DISPATCH level (0x2F)!\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the trap 0xE1 when InterProcessor Interrupt (IPI) occurs.
|
* Handles the trap 0xE1 when InterProcessor Interrupt (IPI) occurs.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ namespace AR
|
|||||||
STATIC XTCDECL VOID HandleTrap1F(IN PKTRAP_FRAME TrapFrame);
|
STATIC XTCDECL VOID HandleTrap1F(IN PKTRAP_FRAME TrapFrame);
|
||||||
STATIC XTCDECL VOID HandleTrap2C(IN PKTRAP_FRAME TrapFrame);
|
STATIC XTCDECL VOID HandleTrap2C(IN PKTRAP_FRAME TrapFrame);
|
||||||
STATIC XTCDECL VOID HandleTrap2D(IN PKTRAP_FRAME TrapFrame);
|
STATIC XTCDECL VOID HandleTrap2D(IN PKTRAP_FRAME TrapFrame);
|
||||||
STATIC XTCDECL VOID HandleTrap2F(IN PKTRAP_FRAME TrapFrame);
|
|
||||||
STATIC XTCDECL VOID HandleTrapE1(IN PKTRAP_FRAME TrapFrame);
|
STATIC XTCDECL VOID HandleTrapE1(IN PKTRAP_FRAME TrapFrame);
|
||||||
STATIC XTCDECL VOID HandleTrapFF(IN PKTRAP_FRAME TrapFrame);
|
STATIC XTCDECL VOID HandleTrapFF(IN PKTRAP_FRAME TrapFrame);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user