X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Facesskernel_src%2Finclude%2Farch.h;h=868a0569c424934ea761926eff33e6211291c17e;hb=07e446727e54a17327b53928ce8582ba10eec619;hp=f51353069402581bff63b058ea86cc90ce4a1811;hpb=c84c6acf1e8be4fb6e76ef0f8fd275400be8d5ae;p=tpg%2Facess2.git diff --git a/AcessNative/acesskernel_src/include/arch.h b/AcessNative/acesskernel_src/include/arch.h index f5135306..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,16 +28,29 @@ 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(...) +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 +extern void Debug_PutCharDebug(char ch); +extern void Debug_PutStringDebug(const char *str); + #endif