7510ac70e5Combine the linux mmap hw with memory-mapped files in xv6 into a separate lab
Frans Kaashoek
2019-08-02 13:06:07 -04:00
0c10cbe829syscall lab nits
Robert Morris
2019-08-02 11:55:26 -04:00
0c3125b9ebAdd uthread
Frans Kaashoek
2019-08-02 08:52:36 -04:00
b02ef59e14x
Frans Kaashoek
2019-08-01 16:52:38 -04:00
62ece4b09eMerge branch 'riscv-bcache' into riscv
Frans Kaashoek
2019-08-01 15:46:50 -04:00
fb8a0099d4fences for starting
Robert Morris
2019-08-01 14:59:20 -04:00
77da01abb1First draft of text for mmap assignment.
Frans Kaashoek
2019-08-01 07:56:39 -04:00
d600026c3fcut ramdisk
Robert Morris
2019-07-30 16:06:00 -04:00
b70cd9ebd7Import big file assignment.
Frans Kaashoek
2019-07-30 14:33:09 -04:00
9c4f62e8e3x
Frans Kaashoek
2019-07-30 13:07:17 -04:00
848d1906e8Track in buf if disk "owns" buffer
Frans Kaashoek
2019-07-30 12:53:19 -04:00
87183da13dAn easier version of bcache assignment
Frans Kaashoek
2019-07-30 10:01:22 -04:00
f37a3e3964Make pin/unpin explicit
Frans Kaashoek
2019-07-30 08:54:43 -04:00
f1bb53c690The driver should free descriptors, not interrupt handler. This avoids handler freeing descriptors before driver sees that the request has completed.
Frans Kaashoek
2019-07-30 08:13:03 -04:00
5304310452Remove 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
Frans Kaashoek
2019-07-29 17:33:16 -04:00
34980381bdcheckpoint
Frans Kaashoek
2019-07-29 15:49:47 -04:00
005773c0c3Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Frans Kaashoek
2019-07-29 11:44:55 -04:00
47b9cfee49separate out timer init code for clarity
Robert Morris
2019-07-28 13:16:49 -04:00
1ec50c5848xxx
Robert Morris
2019-07-28 07:43:22 -04:00
33494edad5Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Frans Kaashoek
2019-07-28 07:43:09 -04:00
2d89a101c4Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Robert Morris
2019-07-28 07:10:23 -04:00
6507da772dargptr no longer needed, since copyin checks
Robert Morris
2019-07-28 06:29:37 -04:00
fe14bd1113a thought
Frans Kaashoek
2019-07-27 21:02:37 -04:00
bdcd23ea49a bit more
Frans Kaashoek
2019-07-27 20:18:40 -04:00
d82f43e0c7Checkpoint start of locking lab
Frans Kaashoek
2019-07-27 16:00:12 -04:00
629faafa36cleaner UART register interface
Robert Morris
2019-07-27 06:44:24 -04:00
a33f60fea3console/uart tweaks
Robert Morris
2019-07-27 05:47:19 -04:00
cf48b24c03beautify console.c
Robert Morris
2019-07-27 04:15:06 -04:00
281d450a08split printf into a separate file, to make console.c more like a driver
Robert Morris
2019-07-27 03:49:03 -04:00
734faa27acPass over lab text
Frans Kaashoek
2019-07-26 21:03:59 -04:00
cc1a303d09fetchint isn't used any more
Robert Morris
2019-07-26 12:34:06 -04:00
f0987d82dc???
Robert Morris
2019-07-26 11:09:54 -04:00
8ec873b7d8Checkpoint: split alarmtest exercise in two exercises
Frans Kaashoek
2019-07-26 10:35:21 -04:00
c714e3e35cmachinevec -> timervec
Robert Morris
2019-07-26 10:17:02 -04:00
fa2e2e3c81uservec before userret in trampoline, to match book and kernelvec
Robert Morris
2019-07-26 09:38:22 -04:00
8d30e21b59Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Robert Morris
2019-07-26 04:53:59 -04:00
0358ee912bsyscall lab/alarm
Frans Kaashoek
2019-07-25 09:42:36 -04:00
57a861bea1Checkpoint start syscall lab
Frans Kaashoek
2019-07-25 08:19:14 -04:00
808811f9f4Add syscall tracing to the first xv6 lab
Frans Kaashoek
2019-07-25 07:47:22 -04:00
c0b1c239eax
Frans Kaashoek
2019-07-25 07:07:03 -04:00
47c9721d78a few name changes in panic msg
Frans Kaashoek
2019-07-25 06:59:07 -04:00
8c12928cc5First draft of first lab assignment?
Frans Kaashoek
2019-07-25 06:50:12 -04:00
4e62de64cdfix an exit/exit deadlock -> one more locking protocol violation increase timer rate from 1/second to 10/second
Robert Morris
2019-07-25 06:30:49 -04:00
b19adf79f9purge x86 stuff from defs.h
Robert Morris
2019-07-25 05:37:35 -04:00
5d5e4e065fcomments for timer setup
Robert Morris
2019-07-25 05:35:03 -04:00
aef3e0f5a4sieve exercise
Frans Kaashoek
2019-07-24 20:30:20 -04:00
61dc67b5d2Simple find assignment
Frans Kaashoek
2019-07-24 18:00:32 -04:00
9a817bd134rationalize some vm function names
Robert Morris
2019-07-24 15:28:37 -04:00
da898a11b6???
Robert Morris
2019-07-24 14:40:13 -04:00
5d75346e4afind
Frans Kaashoek
2019-07-24 14:26:05 -04:00
711bd3156dCheckpoint some warm-up exercises
Frans Kaashoek
2019-07-24 14:20:27 -04:00
a77287e924no more PAGEBREAK
Robert Morris
2019-07-24 13:33:43 -04:00
b4f89bb529ping-pong exercise
Robert Morris
2019-07-24 10:39:05 -04:00
8f6865d1f1display assembly instructions, to help with first.tex exercise
Robert Morris
2019-07-24 10:15:45 -04:00
49db5119e9x
Frans Kaashoek
2019-07-24 09:06:49 -04:00
26ce97fc76One more
Frans Kaashoek
2019-07-24 09:06:30 -04:00
e627608810Delete a few other no-longer relevant files
Frans Kaashoek
2019-07-24 09:05:05 -04:00
6f3a441c10Remove a few no longer relevant files
Frans Kaashoek
2019-07-24 08:59:47 -04:00
dfc2cf9123add rtm's cow lab
Frans Kaashoek
2019-07-24 08:55:41 -04:00
a41365faa3Add relevant docs to repo
Frans Kaashoek
2019-07-24 08:38:41 -04:00
0387e2156fAdd a few sbrktest for lazy allocatioin lab
Frans Kaashoek
2019-07-24 08:37:26 -04:00
936afc6e1amstart -> start
Robert Morris
2019-07-23 14:31:12 -04:00
54178ad94dsimplify kernel mapping calls
Robert Morris
2019-07-23 12:17:17 -04:00
55bc96d419a few core -> CPU get rid of PDF generating support
Robert Morris
2019-07-23 11:14:10 -04:00
b8a31c494cone more TRAMPOLINE
Frans Kaashoek
2019-07-23 07:30:23 -04:00
6c78af4a57fix mapkstack
Frans Kaashoek
2019-07-22 20:58:15 -04:00
b2e9c8eea5Clear U bit for second stack page so that it functions as a guard page
Frans Kaashoek
2019-07-22 15:38:08 -04:00
38b430687cnit
Robert Morris
2019-07-22 15:04:07 -04:00
6b379e4707-MD and TRAPFRAME
Robert Morris
2019-07-22 14:54:40 -04:00
5eab649255Allocate 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).
Frans Kaashoek
2019-07-22 14:30:45 -04:00
c5d48db045Merge branch 'riscv-kstack' into riscv
Frans Kaashoek
2019-07-22 13:32:33 -04:00
328204d9ccnot much
Robert Morris
2019-07-20 18:51:31 -04:00
06e49a58dcpi for pipe, rather than p, to avoid confusion with proc's p->lock
Robert Morris
2019-07-20 17:07:20 -04:00
3333665ab6not much
Robert Morris
2019-07-20 10:17:26 -04:00
2418ac380cit's not clear that the release will always enable interrupts
Robert Morris
2019-07-19 13:27:48 -04:00
06109901c9x
Frans Kaashoek
2019-07-19 11:27:02 -04:00
dbd729b32dwith per-proc locks, we don't need the intr_on() inside the loop.
Robert Morris
2019-07-19 10:20:02 -04:00
32168df609no need to save/restore 14
Robert Morris
2019-07-19 09:02:15 -04:00
9156632701One way of supporting a guard page below kstack: allocate kstacks in procinit() and map them high up (below TRAMPOLNE) with an empty mapping below each stack. Never free a kernel stack.
Frans Kaashoek
2019-07-19 08:38:51 -04:00
b924e44f06Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Frans Kaashoek
2019-07-17 05:53:47 -04:00
ce53416f49Delete x86 comment
Frans Kaashoek
2019-07-17 05:53:34 -04:00
ebc3937209conservatively call sfence.vma before every satp load.
Robert Morris
2019-07-16 17:02:21 -04:00
6bbc2b2245cosmetic changes
Robert Morris
2019-07-11 10:38:56 -04:00
7797a38423another test, to help with locking exercises
Robert Morris
2019-07-11 05:41:59 -04:00
4bc900e78bnits
Robert Morris
2019-07-10 14:54:34 -04:00
e6addf25bbfeeble attempt at build instructions
Robert Morris
2019-07-10 10:30:33 -04:00
061e3be6f8more comment cleanup
Robert Morris
2019-07-10 10:13:08 -04:00
c0266a877adocument which proc fields are protected by p->lock
Robert Morris
2019-07-10 09:28:00 -04:00
5eb1685700have kill() lock before looking at p->pid document wait()'s use of np->parent w/o holding lock.
Robert Morris
2019-07-10 09:24:50 -04:00
9981bb2270tweak some comments.
Robert Morris
2019-07-10 08:57:51 -04:00
2f22a3ed6aMerge branch 'riscv-proc' into riscv
Frans Kaashoek
2019-07-08 15:50:06 -04:00
60ed537427Merge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc
Robert Morris
2019-07-08 11:11:29 -04:00
9d34838b4fholding p->lock all the way through state=RUNNABLE means we don't need EMBRYO
Robert Morris
2019-07-08 11:11:00 -04:00
adcc612901Update runoff list for producing xv6.pdf
Frans Kaashoek
2019-07-08 08:50:55 -04:00
db72f3108feliminate ptable. ptable.lock -> pid_lock.
Robert Morris
2019-07-07 15:20:13 -04:00
4ce3a5fa21nits
Robert Morris
2019-07-07 14:57:16 -04:00
c4f6a241cdavoid a double-lock of initproc->lock if child of init is reparenting
Robert Morris
2019-07-07 07:03:28 -04:00
7114bf43edMerge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc
Robert Morris
2019-07-07 06:39:58 -04:00