C to C++ migration and refactoring #17
@@ -4,6 +4,7 @@
|
|||||||
* FILE: xtoskrnl/rtl/amd64/exsup.cc
|
* FILE: xtoskrnl/rtl/amd64/exsup.cc
|
||||||
* DESCRIPTION: Exception handling for AMD64 architecture
|
* DESCRIPTION: Exception handling for AMD64 architecture
|
||||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
* Aiken Harris <harraiken91@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xtos.hh>
|
#include <xtos.hh>
|
||||||
@@ -23,6 +24,24 @@ __C_specific_handler(IN PEXCEPTION_RECORD ExceptionRecord,
|
|||||||
return ExceptionContinueExecution;
|
return ExceptionContinueExecution;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
EXCEPTION_DISPOSITION
|
||||||
|
__CxxFrameHandler3(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
|
IN PVOID EstablisherFrame,
|
||||||
|
IN OUT PCONTEXT ContextRecord,
|
||||||
|
IN OUT PVOID DispatcherContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
|
||||||
|
/* Disable interrupts and hang */
|
||||||
|
AR::CpuFunc::ClearInterruptFlag();
|
||||||
|
KE::Crash::Panic(0); // CXX_FRAME_HANDLER_CALLED
|
||||||
|
|
||||||
|
/* Continue search */
|
||||||
|
return ExceptionContinueSearch;
|
||||||
|
}
|
||||||
|
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTCDECL
|
||||||
INT
|
INT
|
||||||
@@ -36,3 +55,15 @@ _except_handler3(PEXCEPTION_RECORD ExceptionRecord,
|
|||||||
/* Handler not found */
|
/* Handler not found */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
_purecall(VOID)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
|
||||||
|
/* Disable interrupts and hang */
|
||||||
|
AR::CpuFunc::ClearInterruptFlag();
|
||||||
|
KE::Crash::Panic(0); // PURE_VIRTUAL_FUNCTION_CALL
|
||||||
|
}
|
||||||
|
@@ -4,6 +4,7 @@
|
|||||||
* FILE: xtoskrnl/rtl/i686/exsup.cc
|
* FILE: xtoskrnl/rtl/i686/exsup.cc
|
||||||
* DESCRIPTION: Exception handling for i686 architecture
|
* DESCRIPTION: Exception handling for i686 architecture
|
||||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
* Aiken Harris <harraiken91@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xtos.hh>
|
#include <xtos.hh>
|
||||||
@@ -23,6 +24,24 @@ __C_specific_handler(IN PEXCEPTION_RECORD ExceptionRecord,
|
|||||||
return ExceptionContinueExecution;
|
return ExceptionContinueExecution;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
EXCEPTION_DISPOSITION
|
||||||
|
__CxxFrameHandler3(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
|
IN PVOID EstablisherFrame,
|
||||||
|
IN OUT PCONTEXT ContextRecord,
|
||||||
|
IN OUT PVOID DispatcherContext)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
|
||||||
|
/* Disable interrupts and hang */
|
||||||
|
AR::CpuFunc::ClearInterruptFlag();
|
||||||
|
KE::Crash::Panic(0); // CXX_FRAME_HANDLER_CALLED
|
||||||
|
|
||||||
|
/* Continue search */
|
||||||
|
return ExceptionContinueSearch;
|
||||||
|
}
|
||||||
|
|
||||||
XTCLINK
|
XTCLINK
|
||||||
XTCDECL
|
XTCDECL
|
||||||
INT
|
INT
|
||||||
@@ -36,3 +55,15 @@ _except_handler3(PEXCEPTION_RECORD ExceptionRecord,
|
|||||||
/* Handler not found */
|
/* Handler not found */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XTCLINK
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
_purecall(VOID)
|
||||||
|
{
|
||||||
|
UNIMPLEMENTED;
|
||||||
|
|
||||||
|
/* Disable interrupts and hang */
|
||||||
|
AR::CpuFunc::ClearInterruptFlag();
|
||||||
|
KE::Crash::Panic(0); // PURE_VIRTUAL_FUNCTION_CALL
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user