summaryrefslogtreecommitdiff
path: root/kernel/defs.h
diff options
context:
space:
mode:
authorSanjit Bhat <[email protected]>2023-10-30 14:39:28 -0500
committerSanjit Bhat <[email protected]>2023-10-30 14:39:28 -0500
commit3808f903625f42f58aa95e43e3caca3efaa4d118 (patch)
treead8f5a0e376c246cb60c7cd0940517ea834e610e /kernel/defs.h
parent74c1eba516fdb0ec1a17b16be7e76613ccba92bf (diff)
downloadxv6-labs-3808f903625f42f58aa95e43e3caca3efaa4d118.tar.gz
xv6-labs-3808f903625f42f58aa95e43e3caca3efaa4d118.tar.bz2
xv6-labs-3808f903625f42f58aa95e43e3caca3efaa4d118.zip
lock: release lab
Diffstat (limited to 'kernel/defs.h')
-rw-r--r--kernel/defs.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/kernel/defs.h b/kernel/defs.h
index a3c962b..c6fef8c 100644
--- a/kernel/defs.h
+++ b/kernel/defs.h
@@ -8,6 +8,10 @@ struct spinlock;
struct sleeplock;
struct stat;
struct superblock;
+#ifdef LAB_NET
+struct mbuf;
+struct sock;
+#endif
// bio.c
void binit(void);
@@ -117,6 +121,10 @@ void initlock(struct spinlock*, char*);
void release(struct spinlock*);
void push_off(void);
void pop_off(void);
+int atomic_read4(int *addr);
+#ifdef LAB_LOCK
+void freelock(struct spinlock*);
+#endif
// sleeplock.c
void acquiresleep(struct sleeplock*);
@@ -187,3 +195,44 @@ void virtio_disk_intr(void);
// number of elements in fixed-size array
#define NELEM(x) (sizeof(x)/sizeof((x)[0]))
+
+
+
+#ifdef LAB_PGTBL
+// vmcopyin.c
+int copyin_new(pagetable_t, char *, uint64, uint64);
+int copyinstr_new(pagetable_t, char *, uint64, uint64);
+#endif
+
+// stats.c
+void statsinit(void);
+void statsinc(void);
+
+// sprintf.c
+int snprintf(char*, int, char*, ...);
+
+#ifdef KCSAN
+void kcsaninit();
+#endif
+
+#ifdef LAB_NET
+// pci.c
+void pci_init();
+
+// e1000.c
+void e1000_init(uint32 *);
+void e1000_intr(void);
+int e1000_transmit(struct mbuf*);
+
+// net.c
+void net_rx(struct mbuf*);
+void net_tx_udp(struct mbuf*, uint32, uint16, uint16);
+
+// sysnet.c
+void sockinit(void);
+int sockalloc(struct file **, uint32, uint16, uint16);
+void sockclose(struct sock *);
+int sockread(struct sock *, uint64, int);
+int sockwrite(struct sock *, uint64, int);
+void sockrecvudp(struct mbuf*, uint32, uint16, uint16);
+#endif