Commit graph

  • 1ec50c5848 xxx Robert Morris 2019-07-28 07:43:22 -0400
  • 33494edad5 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv Frans Kaashoek 2019-07-28 07:43:09 -0400
  • 2d89a101c4 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv Robert Morris 2019-07-28 07:10:23 -0400
  • 6507da772d argptr no longer needed, since copyin checks Robert Morris 2019-07-28 06:29:37 -0400
  • fe14bd1113 a thought Frans Kaashoek 2019-07-27 21:02:37 -0400
  • bdcd23ea49 a bit more Frans Kaashoek 2019-07-27 20:18:40 -0400
  • d82f43e0c7 Checkpoint start of locking lab Frans Kaashoek 2019-07-27 16:00:12 -0400
  • 629faafa36 cleaner UART register interface Robert Morris 2019-07-27 06:44:24 -0400
  • a33f60fea3 console/uart tweaks Robert Morris 2019-07-27 05:47:19 -0400
  • cf48b24c03 beautify console.c Robert Morris 2019-07-27 04:15:06 -0400
  • 281d450a08 split printf into a separate file, to make console.c more like a driver Robert Morris 2019-07-27 03:49:03 -0400
  • 734faa27ac Pass over lab text Frans Kaashoek 2019-07-26 21:03:59 -0400
  • cc1a303d09 fetchint isn't used any more Robert Morris 2019-07-26 12:34:06 -0400
  • f0987d82dc ??? Robert Morris 2019-07-26 11:09:54 -0400
  • 8ec873b7d8 Checkpoint: split alarmtest exercise in two exercises Frans Kaashoek 2019-07-26 10:35:21 -0400
  • c714e3e35c machinevec -> timervec Robert Morris 2019-07-26 10:17:02 -0400
  • fa2e2e3c81 uservec before userret in trampoline, to match book and kernelvec Robert Morris 2019-07-26 09:38:22 -0400
  • 8d30e21b59 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv Robert Morris 2019-07-26 04:53:59 -0400
  • ea95a6654c trampin -> uservec trampout -> userret Robert Morris 2019-07-26 04:53:46 -0400
  • 0358ee912b syscall lab/alarm Frans Kaashoek 2019-07-25 09:42:36 -0400
  • 57a861bea1 Checkpoint start syscall lab Frans Kaashoek 2019-07-25 08:19:14 -0400
  • 808811f9f4 Add syscall tracing to the first xv6 lab Frans Kaashoek 2019-07-25 07:47:22 -0400
  • c0b1c239ea x Frans Kaashoek 2019-07-25 07:07:03 -0400
  • 47c9721d78 a few name changes in panic msg Frans Kaashoek 2019-07-25 06:59:07 -0400
  • 8c12928cc5 First draft of first lab assignment? Frans Kaashoek 2019-07-25 06:50:12 -0400
  • 4e62de64cd fix 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 -0400
  • b19adf79f9 purge x86 stuff from defs.h Robert Morris 2019-07-25 05:37:35 -0400
  • 5d5e4e065f comments for timer setup Robert Morris 2019-07-25 05:35:03 -0400
  • aef3e0f5a4 sieve exercise Frans Kaashoek 2019-07-24 20:30:20 -0400
  • 61dc67b5d2 Simple find assignment Frans Kaashoek 2019-07-24 18:00:32 -0400
  • 9a817bd134 rationalize some vm function names Robert Morris 2019-07-24 15:28:37 -0400
  • da898a11b6 ??? Robert Morris 2019-07-24 14:40:13 -0400
  • 5d75346e4a find Frans Kaashoek 2019-07-24 14:26:05 -0400
  • 711bd3156d Checkpoint some warm-up exercises Frans Kaashoek 2019-07-24 14:20:27 -0400
  • a77287e924 no more PAGEBREAK Robert Morris 2019-07-24 13:33:43 -0400
  • b4f89bb529 ping-pong exercise Robert Morris 2019-07-24 10:39:05 -0400
  • 8f6865d1f1 display assembly instructions, to help with first.tex exercise Robert Morris 2019-07-24 10:15:45 -0400
  • 49db5119e9 x Frans Kaashoek 2019-07-24 09:06:49 -0400
  • 26ce97fc76 One more Frans Kaashoek 2019-07-24 09:06:30 -0400
  • e627608810 Delete a few other no-longer relevant files Frans Kaashoek 2019-07-24 09:05:05 -0400
  • 6f3a441c10 Remove a few no longer relevant files Frans Kaashoek 2019-07-24 08:59:47 -0400
  • dfc2cf9123 add rtm's cow lab Frans Kaashoek 2019-07-24 08:55:41 -0400
  • a41365faa3 Add relevant docs to repo Frans Kaashoek 2019-07-24 08:38:41 -0400
  • 0387e2156f Add a few sbrktest for lazy allocatioin lab Frans Kaashoek 2019-07-24 08:37:26 -0400
  • 936afc6e1a mstart -> start Robert Morris 2019-07-23 14:31:12 -0400
  • 54178ad94d simplify kernel mapping calls Robert Morris 2019-07-23 12:17:17 -0400
  • 55bc96d419 a few core -> CPU get rid of PDF generating support Robert Morris 2019-07-23 11:14:10 -0400
  • b8a31c494c one more TRAMPOLINE Frans Kaashoek 2019-07-23 07:30:23 -0400
  • 6c78af4a57 fix mapkstack Frans Kaashoek 2019-07-22 20:58:15 -0400
  • 62091abae9 Test whether writing below stack fails Frans Kaashoek 2019-07-22 18:08:52 -0400
  • b2e9c8eea5 Clear U bit for second stack page so that it functions as a guard page Frans Kaashoek 2019-07-22 15:38:08 -0400
  • 38b430687c nit Robert Morris 2019-07-22 15:04:07 -0400
  • 6b379e4707 -MD and TRAPFRAME Robert Morris 2019-07-22 14:54:40 -0400
  • 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). Frans Kaashoek 2019-07-22 14:30:45 -0400
  • c5d48db045 Merge branch 'riscv-kstack' into riscv Frans Kaashoek 2019-07-22 13:32:33 -0400
  • 328204d9cc not much Robert Morris 2019-07-20 18:51:31 -0400
  • 06e49a58dc pi for pipe, rather than p, to avoid confusion with proc's p->lock Robert Morris 2019-07-20 17:07:20 -0400
  • 3333665ab6 not much Robert Morris 2019-07-20 10:17:26 -0400
  • 2418ac380c it's not clear that the release will always enable interrupts Robert Morris 2019-07-19 13:27:48 -0400
  • 06109901c9 x Frans Kaashoek 2019-07-19 11:27:02 -0400
  • dbd729b32d with per-proc locks, we don't need the intr_on() inside the loop. Robert Morris 2019-07-19 10:20:02 -0400
  • 32168df609 no need to save/restore 14 Robert Morris 2019-07-19 09:02:15 -0400
  • 9156632701 One 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 -0400
  • b924e44f06 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv Frans Kaashoek 2019-07-17 05:53:47 -0400
  • ce53416f49 Delete x86 comment Frans Kaashoek 2019-07-17 05:53:34 -0400
  • ebc3937209 conservatively call sfence.vma before every satp load. Robert Morris 2019-07-16 17:02:21 -0400
  • 6bbc2b2245 cosmetic changes Robert Morris 2019-07-11 10:38:56 -0400
  • 7797a38423 another test, to help with locking exercises Robert Morris 2019-07-11 05:41:59 -0400
  • 4bc900e78b nits Robert Morris 2019-07-10 14:54:34 -0400
  • e6addf25bb feeble attempt at build instructions Robert Morris 2019-07-10 10:30:33 -0400
  • 061e3be6f8 more comment cleanup Robert Morris 2019-07-10 10:13:08 -0400
  • c0266a877a document which proc fields are protected by p->lock Robert Morris 2019-07-10 09:28:00 -0400
  • 5eb1685700 have 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 -0400
  • 9981bb2270 tweak some comments. Robert Morris 2019-07-10 08:57:51 -0400
  • 2f22a3ed6a Merge branch 'riscv-proc' into riscv Frans Kaashoek 2019-07-08 15:50:06 -0400
  • 60ed537427 Merge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc Robert Morris 2019-07-08 11:11:29 -0400
  • 9d34838b4f holding p->lock all the way through state=RUNNABLE means we don't need EMBRYO Robert Morris 2019-07-08 11:11:00 -0400
  • adcc612901 Update runoff list for producing xv6.pdf Frans Kaashoek 2019-07-08 08:50:55 -0400
  • db72f3108f eliminate ptable. ptable.lock -> pid_lock. Robert Morris 2019-07-07 15:20:13 -0400
  • 4ce3a5fa21 nits Robert Morris 2019-07-07 14:57:16 -0400
  • c4f6a241cd avoid a double-lock of initproc->lock if child of init is reparenting Robert Morris 2019-07-07 07:03:28 -0400
  • 7114bf43ed Merge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc Robert Morris 2019-07-07 06:39:58 -0400
  • 62313be582 another fork test Robert Morris 2019-07-07 06:39:31 -0400
  • dabbc348bc Maybe fix two races identified by rtm (thx!): Frans Kaashoek 2019-07-06 16:38:41 -0400
  • 75b0c6fc91 back-port fork/exit/exit tests to xv6-riscv Robert Morris 2019-07-05 12:33:26 -0400
  • be88befed7 two exit/exit tests Robert Morris 2019-07-05 11:44:51 -0400
  • fab5e7c1de Make size in stat.h be a uint64 Supporting print long using %l (a bit of cheat) Modify ls to print size using %l We should probably update size in inode too. Frans Kaashoek 2019-07-04 08:54:23 -0400
  • 6bfb078b14 x Frans Kaashoek 2019-07-04 08:54:16 -0400
  • 47e69250d0 Simplify wakeup1 Frans Kaashoek 2019-07-03 15:38:30 -0400
  • cee830af24 Apply some corresponding bug fixes from wq branch here Frans Kaashoek 2019-07-03 15:18:55 -0400
  • ccf299850b Remove some debugging code Frans Kaashoek 2019-07-02 20:52:30 -0400
  • 26f306113a Fix a lost wakeup bug: the disk driver's wakeup() can run after the reading process acquired p->lock and released virtio lock in sleep(), but before the process had set p->status to SLEEPING, because the wakeup tested p->status without holding p's lock. Thus, wakeup can complete without seeing any process SLEEPING and then p sets p->status to SLEEPING. Frans Kaashoek 2019-07-02 19:29:14 -0400
  • 1e4d7065d6 Merge branch 'riscv' into riscv-proc Frans Kaashoek 2019-07-02 14:19:31 -0400
  • 84c759fc02 x Frans Kaashoek 2019-07-02 14:09:38 -0400
  • 37ac6f8f4f Don't start processes at the end of the proc table Frans Kaashoek 2019-07-02 13:55:52 -0400
  • da51735980 Avoid two cores selecting the same process to run Frans Kaashoek 2019-07-02 13:40:33 -0400
  • f59c1bf1d8 try to continue from walk() failing to allocate a page-table page Robert Morris 2019-07-02 11:45:06 -0400
  • b27f275014 avoid allocproc() returning a struct proc with non-zero p->sz Robert Morris 2019-07-02 11:17:50 -0400
  • 1540c8b15a COW tests Robert Morris 2019-07-02 11:04:35 -0400
  • 67702cf706 Checkpoint switching to per-process locks, in attempt clarify xv6's locking plan, which is a difficult to understand because ptable lock protects many invariants. This implementation has a bug: once in a while xv6 unlocks a proc lock that is locked by another core. Frans Kaashoek 2019-07-02 09:14:47 -0400