Commit graph

1455 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
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