diff options
Diffstat (limited to 'os/pc')
| -rw-r--r-- | os/pc/fns.h | 2 | ||||
| -rw-r--r-- | os/pc/main.c | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/os/pc/fns.h b/os/pc/fns.h index d4b61034..de8cfbe1 100644 --- a/os/pc/fns.h +++ b/os/pc/fns.h @@ -48,7 +48,7 @@ int i8259enable(Vctl*); int i8259vecno(int); int i8259disable(int); void idle(void); -#define idlehands() /* nothing to do in the runproc */ +void idlehands(void); int inb(int); void insb(int, void*, int); ushort ins(int); diff --git a/os/pc/main.c b/os/pc/main.c index df4f240e..11e8d4db 100644 --- a/os/pc/main.c +++ b/os/pc/main.c @@ -455,3 +455,14 @@ isaconfig(char *class, int ctlrno, ISAConf *isa) } return 1; } + +/* + * put the processor in the halt state if we've no processes to run. + * an interrupt will get us going again. + */ +void +idlehands(void) +{ + if(conf.nmach == 1) + halt(); +} |
