exectos/xtoskrnl/ar/amd64/traps.c
belliash 3522539d4b
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Initialize Interrupt Descriptor Table (IDT)
2023-02-01 21:56:17 +01:00

86 lines
1.5 KiB
C

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/ar/amd64/traps.c
* DESCRIPTION: AMD64 system traps
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/**
* Handles the trap 0x02 (Non Maskable Interrupt) gracefully.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
ArpHandleTrap02()
{
LdrPrint(L"Handled Non-Maskable Interrupt (0x02)!\n");
for(;;);
}
/**
* Handles the trap 0x08 (Double Fault) gracefully.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
ArpHandleTrap08()
{
LdrPrint(L"Handled Double Fault exception (0x08)!\n");
for(;;);
}
/**
* Handles the trap 0x0E (Page Fault) gracefully.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
ArpHandleTrap0D()
{
LdrPrint(L"Handled General Protection Fault (0x0D)!\n");
for(;;);
}
/**
* Handles the trap 0x0E (Page Fault) gracefully.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
ArpHandleTrap0E()
{
LdrPrint(L"Handled Page Fault exception (0x0E)!\n");
for(;;);
}
/**
* Handles the trap 0xFF (Unexpected Interrupt) gracefully.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTCDECL
VOID
ArpHandleTrapFF()
{
LdrPrint(L"Handled Unexpected Interrupt (0xFF)!\n");
for(;;);
}