summaryrefslogtreecommitdiff
path: root/defs.h
diff options
context:
space:
mode:
authorrtm <rtm>2006-07-12 01:48:35 +0000
committerrtm <rtm>2006-07-12 01:48:35 +0000
commit4e8f237be819424f922399f8d121d9867b675541 (patch)
tree53459cfde9630b3ae0d2d46d0ce3d4c1ac423944 /defs.h
parentb41b38d0da0854f3fa92967b70180ea1156154d4 (diff)
downloadxv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.gz
xv6-labs-4e8f237be819424f922399f8d121d9867b675541.tar.bz2
xv6-labs-4e8f237be819424f922399f8d121d9867b675541.zip
no more big kernel lock
succeeds at usertests.c pipe test
Diffstat (limited to 'defs.h')
-rw-r--r--defs.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/defs.h b/defs.h
index 6a13ad2..c5dc4d8 100644
--- a/defs.h
+++ b/defs.h
@@ -13,7 +13,7 @@ struct proc;
struct jmpbuf;
void setupsegs(struct proc *);
struct proc * newproc(void);
-void swtch(void);
+void swtch(int);
void sleep(void *);
void wakeup(void *);
void scheduler(void);
@@ -55,10 +55,9 @@ void lapic_enableintr(void);
void lapic_disableintr(void);
// spinlock.c
-extern uint32_t kernel_lock;
-void acquire_spinlock(uint32_t* lock);
-void release_spinlock(uint32_t* lock);
-void release_grant_spinlock(uint32_t* lock, int cpu);
+struct spinlock;
+void acquire(struct spinlock * lock);
+void release(struct spinlock * lock);
// main.c
void load_icode(struct proc *p, uint8_t *binary, unsigned size);
@@ -77,6 +76,7 @@ struct fd * fd_alloc();
void fd_close(struct fd *);
int fd_read(struct fd *fd, char *addr, int n);
int fd_write(struct fd *fd, char *addr, int n);
+void fd_reference(struct fd *fd);
// ide.c
void ide_init(void);