projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modularize hardware access; Port to new timer interface.
[bertos.git]
/
kern
/
proc.c
diff --git
a/kern/proc.c
b/kern/proc.c
index 164df21e91806b7f1cd366451af14ac2e92e0b56..2fdc9a17532731910dfb7b9a2e3b618af53ac337 100755
(executable)
--- a/
kern/proc.c
+++ b/
kern/proc.c
@@
-17,6
+17,12
@@
/*#*
*#* $Log$
/*#*
*#* $Log$
+ *#* Revision 1.26 2005/04/11 19:10:28 bernie
+ *#* Include top-level headers from cfg/ subdir.
+ *#*
+ *#* Revision 1.25 2005/03/15 00:20:54 bernie
+ *#* proc_schedule(): New sanity check.
+ *#*
*#* Revision 1.24 2005/01/08 09:20:54 bernie
*#* Remove unused variable.
*#*
*#* Revision 1.24 2005/01/08 09:20:54 bernie
*#* Remove unused variable.
*#*
@@
-91,12
+97,12
@@
#include "proc_p.h"
#include "proc.h"
#include "proc_p.h"
#include "proc.h"
-#include
"cpu.h"
+#include
<cfg/cpu.h>
#include "event.h"
#include "hw.h"
#include "event.h"
#include "hw.h"
-#include <debug.h>
-#include <arch_config.h> /* ARCH_EMUL */
-#include <macros.h> /* ABS() */
+#include <
cfg/
debug.h>
+#include <
cfg/
arch_config.h> /* ARCH_EMUL */
+#include <
cfg/
macros.h> /* ABS() */
#include <string.h> /* memset() */
#include <string.h> /* memset() */
@@
-296,6
+302,9
@@
void proc_schedule(void)
/* Remember old process to save its context later */
old_process = CurrentProcess;
/* Remember old process to save its context later */
old_process = CurrentProcess;
+ /* Scheduling in interrupts is a nono. */
+ ASSERT(!IRQ_RUNNING());
+
/* Poll on the ready queue for the first ready process */
IRQ_SAVE_DISABLE(flags);
while (!(CurrentProcess = (struct Process *)REMHEAD(&ProcReadyList)))
/* Poll on the ready queue for the first ready process */
IRQ_SAVE_DISABLE(flags);
while (!(CurrentProcess = (struct Process *)REMHEAD(&ProcReadyList)))