git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
MP Scheduling work (slightly buggy, but no impact on SP builds)
[tpg/acess2.git]
/
Kernel
/
include
/
threads.h
diff --git
a/Kernel/include/threads.h
b/Kernel/include/threads.h
index
2b066d9
..
b7d9bad
100644
(file)
--- a/
Kernel/include/threads.h
+++ b/
Kernel/include/threads.h
@@
-5,6
+5,7
@@
#include <arch.h>
#include <signal.h>
#include <arch.h>
#include <signal.h>
+#include <proc.h>
typedef struct sMessage
{
typedef struct sMessage
{
@@
-55,6
+56,9
@@
typedef struct sThread
int NumTickets; //!< Priority - Chance of gaining CPU
Uint Config[NUM_CFG_ENTRIES]; //!< Per-process configuration
int NumTickets; //!< Priority - Chance of gaining CPU
Uint Config[NUM_CFG_ENTRIES]; //!< Per-process configuration
+
+ // --- proc.c's
+ volatile int CurCPU;
} tThread;
} tThread;
@@
-77,10
+81,14
@@
enum eFaultNumbers
FAULT_FLOAT
};
FAULT_FLOAT
};
+#define GETMSG_IGNORE ((void*)-1)
+
// === FUNCTIONS ===
// === FUNCTIONS ===
-extern tThread *Proc_GetCurThread();
+extern tThread *Proc_GetCurThread(
void
);
extern tThread *Threads_GetThread(Uint TID);
extern tThread *Threads_GetThread(Uint TID);
-extern void Threads_Wake(tThread *Thread);
+extern void Threads_SetTickets(tThread *Thread, int Num);
+extern int Threads_Wake(tThread *Thread);
extern void Threads_AddActive(tThread *Thread);
extern void Threads_AddActive(tThread *Thread);
+extern tThread *Threads_GetNextToRun(int CPU, tThread *Last);
#endif
#endif
UCC
git Repository :: git.ucc.asn.au