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
Darn defaulting to 32-bit integers :(
[tpg/acess2.git]
/
Kernel
/
arch
/
x86
/
proc.c
diff --git
a/Kernel/arch/x86/proc.c
b/Kernel/arch/x86/proc.c
index
e988416
..
45c5a56
100644
(file)
--- a/
Kernel/arch/x86/proc.c
+++ b/
Kernel/arch/x86/proc.c
@@
-26,7
+26,7
@@
extern void APStartup(); // 16-bit AP startup code
extern Uint GetEIP(); // start.asm
extern Uint32 gaInitPageDir[1024]; // start.asm
extern void Kernel_Stack_Top;
extern Uint GetEIP(); // start.asm
extern Uint32 gaInitPageDir[1024]; // start.asm
extern void Kernel_Stack_Top;
-extern
volatile int gi
ThreadListLock;
+extern
tSpinlock gl
ThreadListLock;
extern int giNumCPUs;
extern int giNextTID;
extern int giTotalTickets;
extern int giNumCPUs;
extern int giNextTID;
extern int giTotalTickets;
@@
-39,7
+39,7
@@
extern tThread *Threads_GetNextToRun(int CPU);
extern void Threads_Dump();
extern tThread *Threads_CloneTCB(Uint *Err, Uint Flags);
extern void Isr8(); // Double Fault
extern void Threads_Dump();
extern tThread *Threads_CloneTCB(Uint *Err, Uint Flags);
extern void Isr8(); // Double Fault
-extern void Proc_
AlterUserReturnAdd
r();
+extern void Proc_
ReturnToUse
r();
// === PROTOTYPES ===
void ArchThreads_Init();
// === PROTOTYPES ===
void ArchThreads_Init();
@@
-703,7
+703,7
@@
void Proc_CallFaultHandler(tThread *Thread)
{
// Rewinds the stack and calls the user function
// Never returns
{
// Rewinds the stack and calls the user function
// Never returns
- __asm__ __volatile__ ("mov %0, %%ebp;\n\tcall Proc_
AlterUserReturnAdd
r" :: "r"(Thread->FaultHandler));
+ __asm__ __volatile__ ("mov %0, %%ebp;\n\tcall Proc_
ReturnToUse
r" :: "r"(Thread->FaultHandler));
for(;;);
}
for(;;);
}
@@
-717,7
+717,7
@@
void Proc_Scheduler(int CPU)
tThread *thread;
// If the spinlock is set, let it complete
tThread *thread;
// If the spinlock is set, let it complete
- if(
giThreadListLock)
return;
+ if(
IS_LOCKED(&glThreadListLock))
return;
// Clear Delete Queue
while(gDeleteThreads)
// Clear Delete Queue
while(gDeleteThreads)
UCC
git Repository :: git.ucc.asn.au