Patch configure so that we dont need a seperate spec file for x86_64. Pass info about...
[AROS.git] / arch / m68k-all / kernel / kernel_intr.c
blobfb6deff4e8b0af967869555aed819ff2718253f8
1 /*
2 * Copyright (C) 2012, The AROS Development Team
3 * All right reserved.
4 * Author: Jason S. McMullan <jason.mcmullan@gmail.com>
6 * Licensed under the AROS PUBLIC LICENSE (APL) Version 1.1
7 */
9 #include <exec/execbase.h>
10 #include <hardware/intbits.h>
11 #include <proto/exec.h>
13 #include <kernel_base.h>
14 #include <kernel_intr.h>
15 #include <kernel_scheduler.h>
16 #include <kernel_syscall.h>
18 /* Called on leaveing the interrupt.
19 * This function returns TRUE if the task scheduler is needed.
21 BOOL core_ExitIntr(VOID)
23 /* Soft interrupt requested? It's high time to do it */
24 if (SysBase->SysFlags & SFF_SoftInt)
25 core_Cause(INTB_SOFTINT, 1L << INTB_SOFTINT);
27 /* If task switching is disabled, do nothing */
28 if (SysBase->TDNestCnt < 0)
31 * Do not disturb task if it's not necessary.
32 * Reschedule only if switch pending flag is set. Exit otherwise.
34 if (SysBase->AttnResched & ARF_AttnSwitch)
36 /* Run task scheduling sequence */
37 return TRUE;
41 return FALSE;