mirror of
https://github.com/reactos/reactos.git
synced 2025-07-29 16:11:42 +00:00
- Use __builtin_trap for old GCC, too.
- KiEoiHelper, KiDispatchExceptionFromTrapFrame: mark noreturn. - Return DECLSPEC_NORETURNs. svn path=/trunk/; revision=45232
This commit is contained in:
parent
b4d77b18a8
commit
47d6a16b10
5 changed files with 48 additions and 44 deletions
|
@ -397,6 +397,7 @@ Ki386HandleOpcodeV86(
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
DECLSPEC_NORETURN
|
||||
KiEoiHelper(
|
||||
IN PKTRAP_FRAME TrapFrame
|
||||
);
|
||||
|
@ -415,6 +416,7 @@ KiExitV86Mode(
|
|||
|
||||
VOID
|
||||
NTAPI
|
||||
DECLSPEC_NORETURN
|
||||
KiDispatchExceptionFromTrapFrame(
|
||||
IN NTSTATUS Code,
|
||||
IN ULONG_PTR Address,
|
||||
|
@ -548,7 +550,7 @@ Ke386SanitizeDr(IN PVOID DrAddress,
|
|||
//
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDispatchException0Args(IN NTSTATUS Code,
|
||||
IN ULONG_PTR Address,
|
||||
IN PKTRAP_FRAME TrapFrame)
|
||||
|
@ -562,7 +564,7 @@ KiDispatchException0Args(IN NTSTATUS Code,
|
|||
//
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDispatchException1Args(IN NTSTATUS Code,
|
||||
IN ULONG_PTR Address,
|
||||
IN ULONG P1,
|
||||
|
@ -577,7 +579,7 @@ KiDispatchException1Args(IN NTSTATUS Code,
|
|||
//
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDispatchException2Args(IN NTSTATUS Code,
|
||||
IN ULONG_PTR Address,
|
||||
IN ULONG P1,
|
||||
|
|
|
@ -1114,7 +1114,7 @@ KiIdleLoop(
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemFatalException(
|
||||
IN ULONG ExceptionCode,
|
||||
IN PKTRAP_FRAME TrapFrame
|
||||
|
|
|
@ -9,12 +9,14 @@
|
|||
#define _TRAP_X_
|
||||
|
||||
//
|
||||
// Unreachable code hint for GCC 4.5.x, 4.4.x, and MSVC
|
||||
// Unreachable code hint for GCC 4.5.x, older GCC versions, and MSVC
|
||||
//
|
||||
#ifdef __GNUC__
|
||||
#if __GNUC__ * 100 + __GNUC_MINOR__ >= 405
|
||||
#define UNREACHABLE __builtin_unreachable()
|
||||
#elif __GNUC__ * 100 + __GNUC_MINOR__ >= 404
|
||||
#else
|
||||
#define UNREACHABLE __builtin_trap()
|
||||
#endif
|
||||
#elif _MSC_VER
|
||||
#define UNREACHABLE __assume(0)
|
||||
#else
|
||||
|
@ -188,7 +190,7 @@ KiUserTrap(IN PKTRAP_FRAME TrapFrame)
|
|||
//
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemCallReturn(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Restore nonvolatiles, EAX, and do a "jump" back to the kernel caller */
|
||||
|
@ -219,7 +221,7 @@ KiSystemCallReturn(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemCallTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Regular interrupt exit, but we only restore EAX as a volatile */
|
||||
|
@ -248,7 +250,7 @@ KiSystemCallTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemCallSysExitReturn(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Restore nonvolatiles, EAX, and do a SYSEXIT back to the user caller */
|
||||
|
@ -281,7 +283,7 @@ KiSystemCallSysExitReturn(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Regular interrupt exit */
|
||||
|
@ -314,7 +316,7 @@ KiTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiEditedTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Regular interrupt exit */
|
||||
|
@ -351,7 +353,7 @@ KiEditedTrapReturn(IN PKTRAP_FRAME TrapFrame)
|
|||
//
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiExitTrap(IN PKTRAP_FRAME TrapFrame,
|
||||
IN UCHAR Skip)
|
||||
{
|
||||
|
|
|
@ -1107,7 +1107,7 @@ Handled:
|
|||
|
||||
VOID
|
||||
NTAPI
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDispatchExceptionFromTrapFrame(IN NTSTATUS Code,
|
||||
IN ULONG_PTR Address,
|
||||
IN ULONG ParameterCount,
|
||||
|
@ -1146,7 +1146,7 @@ KiDispatchExceptionFromTrapFrame(IN NTSTATUS Code,
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemFatalException(IN ULONG ExceptionCode,
|
||||
IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
|
|
|
@ -58,7 +58,7 @@ KiVdmTrap(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiEoiHelper(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Disable interrupts until we return */
|
||||
|
@ -73,7 +73,7 @@ KiEoiHelper(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiServiceExit(IN PKTRAP_FRAME TrapFrame,
|
||||
IN NTSTATUS Status)
|
||||
{
|
||||
|
@ -92,7 +92,7 @@ KiServiceExit(IN PKTRAP_FRAME TrapFrame,
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiServiceExit2(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Disable interrupts until we return */
|
||||
|
@ -109,7 +109,7 @@ KiServiceExit2(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDebugHandler(IN PKTRAP_FRAME TrapFrame,
|
||||
IN ULONG Parameter1,
|
||||
IN ULONG Parameter2,
|
||||
|
@ -133,7 +133,7 @@ KiDebugHandler(IN PKTRAP_FRAME TrapFrame,
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiNpxHandler(IN PKTRAP_FRAME TrapFrame,
|
||||
IN PKTHREAD Thread,
|
||||
IN PFX_SAVE_AREA SaveArea)
|
||||
|
@ -290,7 +290,7 @@ KiNpxHandler(IN PKTRAP_FRAME TrapFrame,
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap00Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -310,7 +310,7 @@ KiTrap00Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap01Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -330,7 +330,7 @@ KiTrap01Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
}
|
||||
|
||||
VOID
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap02(VOID)
|
||||
{
|
||||
PKTSS Tss, NmiTss;
|
||||
|
@ -477,7 +477,7 @@ KiTrap02(VOID)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap03Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -489,7 +489,7 @@ KiTrap03Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap04Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -509,7 +509,7 @@ KiTrap04Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap05Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -532,7 +532,7 @@ KiTrap05Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap06Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
PUCHAR Instruction;
|
||||
|
@ -578,7 +578,7 @@ KiTrap06Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap07Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
PKTHREAD Thread, NpxThread;
|
||||
|
@ -688,7 +688,7 @@ KiTrap07Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap08Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* FIXME: Not handled */
|
||||
|
@ -697,7 +697,7 @@ KiTrap08Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap09Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -710,7 +710,7 @@ KiTrap09Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0AHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -725,7 +725,7 @@ KiTrap0AHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0BHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -738,7 +738,7 @@ KiTrap0BHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0CHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -751,7 +751,7 @@ KiTrap0CHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0DHandler(IN PKTRAP_FRAME TrapFrame,
|
||||
IN ULONG EFlags)
|
||||
{
|
||||
|
@ -1036,7 +1036,7 @@ KiTrap0DHandler(IN PKTRAP_FRAME TrapFrame,
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0EHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
PKTHREAD Thread;
|
||||
|
@ -1159,7 +1159,7 @@ KiTrap0EHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap0FHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -1172,7 +1172,7 @@ KiTrap0FHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap10Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
PKTHREAD Thread;
|
||||
|
@ -1200,7 +1200,7 @@ KiTrap10Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap11Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -1213,7 +1213,7 @@ KiTrap11Handler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiTrap13Handler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
PKTHREAD Thread;
|
||||
|
@ -1316,7 +1316,7 @@ KiCallbackReturnHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiRaiseAssertionHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -1333,7 +1333,7 @@ KiRaiseAssertionHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiDebugServiceHandler(IN PKTRAP_FRAME TrapFrame)
|
||||
{
|
||||
/* Save trap frame */
|
||||
|
@ -1348,7 +1348,7 @@ KiDebugServiceHandler(IN PKTRAP_FRAME TrapFrame)
|
|||
|
||||
VOID
|
||||
FASTCALL
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemCall(IN ULONG SystemCallNumber,
|
||||
IN PVOID Arguments)
|
||||
{
|
||||
|
@ -1439,7 +1439,7 @@ ExitCall:
|
|||
|
||||
VOID
|
||||
FORCEINLINE
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemCallHandler(IN PKTRAP_FRAME TrapFrame,
|
||||
IN ULONG ServiceNumber,
|
||||
IN PVOID Arguments,
|
||||
|
@ -1481,7 +1481,7 @@ KiSystemCallHandler(IN PKTRAP_FRAME TrapFrame,
|
|||
|
||||
VOID
|
||||
__attribute__((regparm(3)))
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiFastCallEntryHandler(IN ULONG ServiceNumber,
|
||||
IN PVOID Arguments,
|
||||
IN PKTRAP_FRAME TrapFrame)
|
||||
|
@ -1515,7 +1515,7 @@ KiFastCallEntryHandler(IN ULONG ServiceNumber,
|
|||
|
||||
VOID
|
||||
__attribute__((regparm(3)))
|
||||
//DECLSPEC_NORETURN
|
||||
DECLSPEC_NORETURN
|
||||
KiSystemServiceHandler(IN ULONG ServiceNumber,
|
||||
IN PVOID Arguments,
|
||||
IN PKTRAP_FRAME TrapFrame)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue