Commit graph

99 commits

Author SHA1 Message Date
Frans Kaashoek d98ddadd79 Also release buffer on failed copyout 2019-08-20 12:46:56 -04:00
Frans Kaashoek 6005ef5a1c Release buffer also when copyin fails 2019-08-20 11:57:24 -04:00
Frans Kaashoek d9818b89e1 512 -> BSIZE 2019-08-20 11:56:56 -04:00
Frans Kaashoek a825f22cf8 Merge remote-tracking branch 'origin/master' into riscv 2019-08-19 19:27:29 -04:00
Frans Kaashoek 21ad8c76bc A few now unused DOC 2019-08-19 18:12:19 -04:00
Frans Kaashoek e10f797762 Merge remote-tracking branch 'origin/master' into riscv 2019-08-19 13:35:47 -04:00
Frans Kaashoek 2501560cd6 Cosmetic cleanup: fsinit reads sb and calls loginit. initialize icache
in main.c and don't make it disk specific; the icache is shared.  This
doesn't matter since we have only one disk, but conceptually cleaner
and maybe helpful to students for mount lab.
2019-08-18 14:35:11 -04:00
Frans Kaashoek e398a9815c Wrap state of disk driver in a struct so that it is easier to support
several disks (e.g., in a mount lab).
2019-08-12 07:20:32 -04:00
Robert Morris 0c10cbe829 syscall lab nits 2019-08-02 11:55:26 -04:00
Frans Kaashoek 62ece4b09e Merge branch 'riscv-bcache' into riscv 2019-08-01 15:46:50 -04:00
Robert Morris fb8a0099d4 fences for starting 2019-08-01 14:59:20 -04:00
Robert Morris d600026c3f cut ramdisk 2019-07-30 16:06:00 -04:00
Frans Kaashoek 848d1906e8 Track in buf if disk "owns" buffer 2019-07-30 12:53:19 -04:00
Frans Kaashoek f37a3e3964 Make pin/unpin explicit 2019-07-30 08:54:43 -04:00
Frans Kaashoek f1bb53c690 The driver should free descriptors, not interrupt handler. This
avoids handler freeing descriptors before driver sees that the request
has completed.
2019-07-30 08:13:03 -04:00
Frans Kaashoek 5304310452 Remove B_DIRTY
Use refcnt to pin blocks into the cache
Replace flags/B_VALID with a boolean field valid
Use info[id].status to signal completion of disk interrupt
Pass a read/write flag to virtio_disk_rw
2019-07-29 17:33:16 -04:00
Robert Morris 47b9cfee49 separate out timer init code for clarity 2019-07-28 13:16:49 -04:00
Robert Morris 1ec50c5848 xxx 2019-07-28 07:43:22 -04:00
Robert Morris 6507da772d argptr no longer needed, since copyin checks 2019-07-28 06:29:37 -04:00
Robert Morris 629faafa36 cleaner UART register interface 2019-07-27 06:44:24 -04:00
Robert Morris a33f60fea3 console/uart tweaks 2019-07-27 05:47:19 -04:00
Robert Morris cf48b24c03 beautify console.c 2019-07-27 04:15:06 -04:00
Robert Morris 281d450a08 split printf into a separate file, to make console.c more like a driver 2019-07-27 03:49:03 -04:00
Robert Morris cc1a303d09 fetchint isn't used any more 2019-07-26 12:34:06 -04:00
Robert Morris f0987d82dc ??? 2019-07-26 11:09:54 -04:00
Robert Morris c714e3e35c machinevec -> timervec 2019-07-26 10:17:02 -04:00
Robert Morris fa2e2e3c81 uservec before userret in trampoline, to match book and kernelvec 2019-07-26 09:38:22 -04:00
Robert Morris 8d30e21b59 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-07-26 04:53:59 -04:00
Robert Morris ea95a6654c trampin -> uservec
trampout -> userret
2019-07-26 04:53:46 -04:00
Frans Kaashoek 47c9721d78 a few name changes in panic msg 2019-07-25 06:59:07 -04:00
Robert Morris 4e62de64cd fix an exit/exit deadlock -> one more locking protocol violation
increase timer rate from 1/second to 10/second
2019-07-25 06:30:49 -04:00
Robert Morris b19adf79f9 purge x86 stuff from defs.h 2019-07-25 05:37:35 -04:00
Robert Morris 5d5e4e065f comments for timer setup 2019-07-25 05:35:03 -04:00
Robert Morris 9a817bd134 rationalize some vm function names 2019-07-24 15:28:37 -04:00
Robert Morris da898a11b6 ??? 2019-07-24 14:40:13 -04:00
Robert Morris a77287e924 no more PAGEBREAK 2019-07-24 13:33:43 -04:00
Robert Morris b4f89bb529 ping-pong exercise 2019-07-24 10:39:05 -04:00
Robert Morris 8f6865d1f1 display assembly instructions, to help with first.tex exercise 2019-07-24 10:15:45 -04:00
Robert Morris 936afc6e1a mstart -> start 2019-07-23 14:31:12 -04:00
Robert Morris 54178ad94d simplify kernel mapping calls 2019-07-23 12:17:17 -04:00
Robert Morris 55bc96d419 a few core -> CPU
get rid of PDF generating support
2019-07-23 11:14:10 -04:00
Frans Kaashoek b8a31c494c one more TRAMPOLINE 2019-07-23 07:30:23 -04:00
Frans Kaashoek 6c78af4a57 fix mapkstack 2019-07-22 20:58:15 -04:00
Frans Kaashoek b2e9c8eea5 Clear U bit for second stack page so that it functions as a guard page 2019-07-22 15:38:08 -04:00
Robert Morris 38b430687c nit 2019-07-22 15:04:07 -04:00
Robert Morris 6b379e4707 -MD and TRAPFRAME 2019-07-22 14:54:40 -04:00
Frans Kaashoek 5eab649255 Allocate 2 pages per proc, with the top one unmapped.
The page below the last proc is unmapped by default (because the
kernel doesn't map anything right below the kernel stacks).
2019-07-22 14:30:45 -04:00
Frans Kaashoek c5d48db045 Merge branch 'riscv-kstack' into riscv 2019-07-22 13:32:33 -04:00
Robert Morris 328204d9cc not much 2019-07-20 18:51:31 -04:00
Robert Morris 06e49a58dc pi for pipe, rather than p, to avoid confusion with proc's p->lock 2019-07-20 17:07:20 -04:00