use USER_CPPFLAGS
[AROS.git] / arch / m68k-all / exec / exec_platform.h
blob10fdda4422b752bb4102b7018c68180fc5708092
1 /*
2 * Extra data for m68k-all
3 */
4 #ifndef __EXEC_PLATFORM_H
5 #define __EXEC_PLATFORM_H
7 #include <exec/types.h>
9 #define SCHEDQUANTUM_VALUE 4
11 struct Exec_PlatformData
13 APTR realRawDoFmt; /* AOS 3.1 locale.library workaround - see
14 exec.library/SetFunction() */
15 struct TagItem *BootMsg;
18 #ifdef AROS_NO_ATOMIC_OPERATIONS
19 #define IDNESTCOUNT_INC SysBase->IDNestCnt++
20 #define IDNESTCOUNT_DEC SysBase->IDNestCnt--
21 #define TDNESTCOUNT_INC SysBase->TDNestCnt++
22 #define TDNESTCOUNT_DEC SysBase->TDNestCnt--
23 #define FLAG_SCHEDQUANTUM_CLEAR SysBase->SysFlags &= ~SFF_QuantumOver
24 #define FLAG_SCHEDQUANTUM_SET SysBase->SysFlags |= SFF_QuantumOver
25 #define FLAG_SCHEDSWITCH_CLEAR SysBase->AttnResched &= ~ARF_AttnSwitch
26 #define FLAG_SCHEDSWITCH_SET SysBase->AttnResched |= ARF_AttnSwitch
27 #define FLAG_SCHEDDISPATCH_CLEAR SysBase->AttnResched &= ~ARF_AttnDispatch
28 #define FLAG_SCHEDDISPATCH_SET SysBase->AttnResched |= ARF_AttnDispatch
29 #else
30 #define IDNESTCOUNT_INC AROS_ATOMIC_INC(SysBase->IDNestCnt)
31 #define IDNESTCOUNT_DEC AROS_ATOMIC_DEC(SysBase->IDNestCnt)
32 #define TDNESTCOUNT_INC AROS_ATOMIC_INC(SysBase->TDNestCnt)
33 #define TDNESTCOUNT_DEC AROS_ATOMIC_DEC(SysBase->TDNestCnt)
34 #define FLAG_SCHEDQUANTUM_CLEAR AROS_ATOMIC_AND(SysBase->SysFlags, ~SFF_QuantumOver)
35 #define FLAG_SCHEDQUANTUM_SET AROS_ATOMIC_OR(SysBase->SysFlags, SFF_QuantumOver)
36 #define FLAG_SCHEDSWITCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnSwitch)
37 #define FLAG_SCHEDSWITCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnSwitch)
38 #define FLAG_SCHEDDISPATCH_CLEAR AROS_ATOMIC_AND(SysBase->AttnResched, ~ARF_AttnDispatch)
39 #define FLAG_SCHEDDISPATCH_SET AROS_ATOMIC_OR(SysBase->AttnResched, ARF_AttnDispatch)
40 #endif
41 #define SCHEDQUANTUM_SET(val) (SysBase->Quantum=(val))
42 #define SCHEDQUANTUM_GET (SysBase->Quantum)
43 #define SCHEDELAPSED_SET(val) (SysBase->Elapsed=(val))
44 #define SCHEDELAPSED_GET (SysBase->Elapsed)
45 #define IDNESTCOUNT_GET (SysBase->IDNestCnt)
46 #define IDNESTCOUNT_SET(val) (SysBase->IDNestCnt=(val))
47 #define TDNESTCOUNT_GET (SysBase->TDNestCnt)
48 #define TDNESTCOUNT_SET(val) (SysBase->TDNestCnt=(val))
49 #define FLAG_SCHEDQUANTUM_ISSET (SysBase->SysFlags & SFF_QuantumOver)
50 #define FLAG_SCHEDSWITCH_ISSET (SysBase->AttnResched & ARF_AttnSwitch)
51 #define FLAG_SCHEDDISPATCH_ISSET (SysBase->AttnResched & ARF_AttnDispatch)
53 #define GET_THIS_TASK (SysBase->ThisTask)
54 #define SET_THIS_TASK(x) (SysBase->ThisTask=(x))
56 #endif