// Uses no advanced features
# define USE_MP 0
# define USE_PAE 0
+#elif ARCH == i486
+// MP Only
+# define USE_MP 1
+# define USE_PAE 0
#elif ARCH == i586
// All Enabled
# define USE_MP 1
#endif
// === MACROS ===
+typedef volatile int tSpinlock;
#define LOCK(lockptr) do {int v=1;\
while(v)__asm__ __volatile__("lock xchgl %%eax, (%%edi)":"=a"(v):"a"(1),"D"(lockptr));}while(0)
#define RELEASE(lockptr) __asm__ __volatile__("lock andl $0, (%%edi)"::"D"(lockptr));
typedef signed long long Sint64;
typedef Uint size_t;
-#if USE_PAE
typedef Uint64 tPAddr;
-#else
-typedef Uint32 tPAddr;
-#endif
typedef Uint32 tVAddr;
-typedef void (*tThreadFunction)(void*);
-
typedef struct {
Uint gs, fs, es, ds;
Uint edi, esi, ebp, kesp;
Uint EIP, ESP, EBP;
} tTaskState;
-// --- Interface Flags & Macros
-#define CLONE_VM 0x10
-
#endif // !defined(_ARCH_H_)