X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Facesskernel_src%2Finclude%2Farch.h;h=868a0569c424934ea761926eff33e6211291c17e;hb=9a9053e91df6e08761e2ce72be350c5c2233153b;hp=03474cf1381c0b3a2b5d204b6ac67fcab023fc47;hpb=d0b4559f2936f6d9f06be0f7c3c51527a480ec0d;p=tpg%2Facess2.git diff --git a/AcessNative/acesskernel_src/include/arch.h b/AcessNative/acesskernel_src/include/arch.h index 03474cf1..868a0569 100644 --- a/AcessNative/acesskernel_src/include/arch.h +++ b/AcessNative/acesskernel_src/include/arch.h @@ -5,7 +5,6 @@ #include //#include -#include #undef CLONE_VM #define _MODULE_NAME_ "NativeKernel" @@ -29,15 +28,24 @@ typedef intptr_t tPAddr; typedef int BOOL; +extern void exit(int status) __attribute__((noreturn)); +#define HALT_CPU() exit(1) + +#include +#undef offsetof + struct sShortSpinlock { - int IsValid; - pthread_mutex_t Mutex; + void *Mutex; }; -#define SHORTLOCK(...) -#define SHORTREL(...) -#define CPU_HAS_LOCK(...) 0 +extern void Threads_int_ShortLock(void **Ptr); +extern void Threads_int_ShortRel(void **Ptr); +extern int Threads_int_ShortHas(void **Ptr); + +#define SHORTLOCK(l) Threads_int_ShortLock(&(l)->Mutex) +#define SHORTREL(l) Threads_int_ShortRel(&(l)->Mutex) +#define CPU_HAS_LOCK(l) Threads_int_ShortHas(&(l)->Mutex) //#define NUM_CFG_ENTRIES 10