diff options
author | rsc <rsc> | 2009-05-31 00:28:45 +0000 |
---|---|---|
committer | rsc <rsc> | 2009-05-31 00:28:45 +0000 |
commit | 19333efb9eb634f17bea41d0cec8ee28c595cce8 (patch) | |
tree | 97350b8c0c4a4c0f61d76516f067b32298af37c7 /defs.h | |
parent | 0c7f483838c48db05e7ea44232a55135d7c262a0 (diff) | |
download | xv6-labs-19333efb9eb634f17bea41d0cec8ee28c595cce8.tar.gz xv6-labs-19333efb9eb634f17bea41d0cec8ee28c595cce8.tar.bz2 xv6-labs-19333efb9eb634f17bea41d0cec8ee28c595cce8.zip |
Some proc cleanup, moving some of copyproc into allocproc.
Also, an experiment: use "thread-local" storage for c and cp
instead of the #define macro for curproc[cpu()].
Diffstat (limited to 'defs.h')
-rw-r--r-- | defs.h | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -73,6 +73,7 @@ extern volatile uint* lapic; void lapiceoi(void); void lapicinit(int); void lapicstartap(uchar, uint); +void microdelay(int); // mp.c extern int ismp; @@ -92,14 +93,14 @@ int pipewrite(struct pipe*, char*, int); // proc.c struct proc* copyproc(struct proc*); -struct proc* curproc(void); void exit(void); int growproc(int); int kill(int); void pinit(void); void procdump(void); void scheduler(void) __attribute__((noreturn)); -void setupsegs(struct proc*); +void ksegment(void); +void usegment(void); void sleep(void*, struct spinlock*); void userinit(void); int wait(void); @@ -144,6 +145,12 @@ extern int ticks; void tvinit(void); extern struct spinlock tickslock; +// uart.c +void uartinit(void); +void uartintr(void); +void uartputc(int); + + // number of elements in fixed-size array #define NELEM(x) (sizeof(x)/sizeof((x)[0])) |