diff --git a/sdk/xtdk/xtcompat.h b/sdk/xtdk/xtcompat.h index 77e44f8..900618e 100644 --- a/sdk/xtdk/xtcompat.h +++ b/sdk/xtdk/xtcompat.h @@ -18,6 +18,7 @@ #define NULLPTR nullptr #define VIRTUAL virtual #define XTCLINK extern "C" + #define XTSYMBOL(Name) __asm__(Name) /* C++ boolean type */ typedef bool BOOLEAN, *PBOOLEAN; @@ -31,6 +32,7 @@ #define NULLPTR ((void *)0) #define VIRTUAL #define XTCLINK + #define XTSYMBOL(Name) /* C boolean type */ typedef enum _BOOLEAN diff --git a/xtoskrnl/ar/amd64/traps.cc b/xtoskrnl/ar/amd64/traps.cc index cfa2f4c..dc9bed6 100644 --- a/xtoskrnl/ar/amd64/traps.cc +++ b/xtoskrnl/ar/amd64/traps.cc @@ -227,7 +227,6 @@ VOID AR::Traps::HandleTrap02(IN PKTRAP_FRAME TrapFrame) { DebugPrint(L"Handled Non-Maskable-Interrupt (0x02)!\n"); - KE::Crash::Panic(0x02); } /** @@ -643,21 +642,3 @@ AR::Traps::InitializeSystemCallMsrs(VOID) /* Enable system call extensions (SCE) in EFER MSR */ CpuFunc::WriteModelSpecificRegister(X86_MSR_EFER, CpuFunc::ReadModelSpecificRegister(X86_MSR_EFER) | X86_MSR_EFER_SCE); } - -/** - * C-linkage wrapper for dispatching the trap provided by common trap handler. - * - * @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 - */ -XTCLINK -XTCDECL -VOID -ArDispatchTrap(IN PKTRAP_FRAME TrapFrame) -{ - AR::Traps::DispatchTrap(TrapFrame); -} diff --git a/xtoskrnl/ar/i686/traps.cc b/xtoskrnl/ar/i686/traps.cc index b8556a9..2f2bfc7 100644 --- a/xtoskrnl/ar/i686/traps.cc +++ b/xtoskrnl/ar/i686/traps.cc @@ -589,21 +589,3 @@ AR::Traps::HandleTrapFF(IN PKTRAP_FRAME TrapFrame) DebugPrint(L"Handled Unexpected-Interrupt (0xFF)!\n"); KE::Crash::Panic(0xFF); } - -/** - * C-linkage wrapper for dispatching the trap provided by common trap handler. - * - * @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 - */ -XTCLINK -XTCDECL -VOID -ArDispatchTrap(IN PKTRAP_FRAME TrapFrame) -{ - AR::Traps::DispatchTrap(TrapFrame); -} diff --git a/xtoskrnl/includes/ar/amd64/traps.hh b/xtoskrnl/includes/ar/amd64/traps.hh index 2d14e6a..cfd55d8 100644 --- a/xtoskrnl/includes/ar/amd64/traps.hh +++ b/xtoskrnl/includes/ar/amd64/traps.hh @@ -18,7 +18,7 @@ namespace AR class Traps { public: - STATIC XTCDECL VOID DispatchTrap(IN PKTRAP_FRAME TrapFrame); + STATIC XTCDECL VOID DispatchTrap(IN PKTRAP_FRAME TrapFrame) XTSYMBOL("ArDispatchTrap"); STATIC XTCDECL VOID InitializeSystemCallMsrs(VOID); private: diff --git a/xtoskrnl/includes/ar/i686/traps.hh b/xtoskrnl/includes/ar/i686/traps.hh index a256257..5854f99 100644 --- a/xtoskrnl/includes/ar/i686/traps.hh +++ b/xtoskrnl/includes/ar/i686/traps.hh @@ -1,4 +1,4 @@ -/**@s +/** * PROJECT: ExectOS * COPYRIGHT: See COPYING.md in the top level directory * FILE: xtoskrnl/includes/ar/i686/traps.hh @@ -18,7 +18,7 @@ namespace AR class Traps { public: - STATIC XTCDECL VOID DispatchTrap(IN PKTRAP_FRAME TrapFrame); + STATIC XTCDECL VOID DispatchTrap(IN PKTRAP_FRAME TrapFrame) XTSYMBOL("_ArDispatchTrap"); private: STATIC XTCDECL VOID HandleTrap00(IN PKTRAP_FRAME TrapFrame);