Commit graph

1451 commits

Author SHA1 Message Date
Dan Cross 82638c019c Avoid rereading the superblock in bfree
The superblock is read when the first process returns to
userspace (via the call to `iinit` from the first invocation of
`forkret`, when `first` is still set to 1) and cached in a
global; it is treated as immutable from that point on.  There is
no reason to re-read it in bfree.

Removing this call seems to have simply been missed in 8320d61b
when this general area was last touched.  Remove it now to avoid
potential confusion.

Signed-off-by: Dan Cross <cross@gajendra.net>
2019-08-19 19:25:43 -04:00
Frans Kaashoek 21ad8c76bc A few now unused DOC 2019-08-19 18:12:19 -04:00
Frans Kaashoek ce565ae04a dan cross 2019-08-19 14:46:33 -04:00
Frans Kaashoek e10f797762 Merge remote-tracking branch 'origin/master' into riscv 2019-08-19 13:35:47 -04:00
Dan Cross 0581c37baf Removed unused dirlookup argument in create
The `off` argument to `dirlookup` is optional.  It
was not being used in the `dirlookup` call in `create`,
so pass NULL instead and delete the unused local.

Signed-off-by: Dan Cross <cross@gajendra.net>
2019-08-19 13:22:35 -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 a9953236cc x 2019-08-17 12:52:25 -04:00
Frans Kaashoek e61377bf8a Update write up to reflect new test cases. 2019-08-17 12:33:32 -04:00
Frans Kaashoek 5498ee2e92 Draft mount/umount lab as an alternative lab for fs.html
fs.html should perhaps be split in small homeworks as in previous
years in preparation for lectures and/or as demos during lecture.
2019-08-12 10:25:55 -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 d96a8c5661 add alarmtest.c to the repository
they don't have to modify alarmtest.c, so we can use the
original version to test, to make it harder to cheat.
2019-08-05 02:04:44 -04:00
Robert Morris deec67f05d alarm stuff 2019-08-03 07:12:00 -04:00
Frans Kaashoek fdea265489 two notes 2019-08-02 16:42:55 -04:00
Frans Kaashoek 564d10bb22 Add simple crash recovery assignment to fs lab 2019-08-02 16:29:25 -04:00
Robert Morris c5163e4a42 nits 2019-08-02 16:22:56 -04:00
Robert Morris 3bee885ed7 some XXX questions 2019-08-02 14:51:04 -04:00
Robert Morris e788af9b81 oops, back to alarm() 2019-08-02 13:25:57 -04:00
Robert Morris 0b5c01d429 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-08-02 13:18:37 -04:00
Robert Morris 9110f40b7d sigalarm 2019-08-02 13:18:26 -04:00
Frans Kaashoek 7510ac70e5 Combine the linux mmap hw with memory-mapped files in xv6 into a separate lab 2019-08-02 13:07:21 -04:00
Robert Morris 0c10cbe829 syscall lab nits 2019-08-02 11:55:26 -04:00
Frans Kaashoek 0c3125b9eb Add uthread 2019-08-02 08:52:36 -04:00
Frans Kaashoek b02ef59e14 x 2019-08-01 16:52:38 -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
Frans Kaashoek 77da01abb1 First draft of text for mmap assignment. 2019-08-01 07:56:39 -04:00
Robert Morris d600026c3f cut ramdisk 2019-07-30 16:06:00 -04:00
Frans Kaashoek b70cd9ebd7 Import big file assignment. 2019-07-30 14:33:09 -04:00
Frans Kaashoek 9c4f62e8e3 x 2019-07-30 13:07:17 -04:00
Frans Kaashoek 848d1906e8 Track in buf if disk "owns" buffer 2019-07-30 12:53:19 -04:00
Frans Kaashoek 87183da13d An easier version of bcache assignment 2019-07-30 10:01:22 -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
Frans Kaashoek 34980381bd checkpoint 2019-07-29 15:49:47 -04:00
Frans Kaashoek 005773c0c3 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-07-29 11:44:55 -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
Frans Kaashoek 33494edad5 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-07-28 07:43:09 -04:00
Robert Morris 2d89a101c4 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-07-28 07:10:23 -04:00
Robert Morris 6507da772d argptr no longer needed, since copyin checks 2019-07-28 06:29:37 -04:00
Frans Kaashoek fe14bd1113 a thought 2019-07-27 21:02:37 -04:00
Frans Kaashoek bdcd23ea49 a bit more 2019-07-27 20:18:40 -04:00
Frans Kaashoek d82f43e0c7 Checkpoint start of locking lab 2019-07-27 16:00:12 -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
Frans Kaashoek 734faa27ac Pass over lab text 2019-07-26 21:03:59 -04:00
Robert Morris cc1a303d09 fetchint isn't used any more 2019-07-26 12:34:06 -04:00