808811f9f4Add syscall tracing to the first xv6 lab
Frans Kaashoek
2019-07-25 07:47:22 -0400
c0b1c239eax
Frans Kaashoek
2019-07-25 07:07:03 -0400
47c9721d78a few name changes in panic msg
Frans Kaashoek
2019-07-25 06:59:07 -0400
8c12928cc5First draft of first lab assignment?
Frans Kaashoek
2019-07-25 06:50:12 -0400
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 -0400
b19adf79f9purge x86 stuff from defs.h
Robert Morris
2019-07-25 05:37:35 -0400
5d5e4e065fcomments for timer setup
Robert Morris
2019-07-25 05:35:03 -0400
aef3e0f5a4sieve exercise
Frans Kaashoek
2019-07-24 20:30:20 -0400
61dc67b5d2Simple find assignment
Frans Kaashoek
2019-07-24 18:00:32 -0400
9a817bd134rationalize some vm function names
Robert Morris
2019-07-24 15:28:37 -0400
da898a11b6???
Robert Morris
2019-07-24 14:40:13 -0400
5d75346e4afind
Frans Kaashoek
2019-07-24 14:26:05 -0400
711bd3156dCheckpoint some warm-up exercises
Frans Kaashoek
2019-07-24 14:20:27 -0400
a77287e924no more PAGEBREAK
Robert Morris
2019-07-24 13:33:43 -0400
b4f89bb529ping-pong exercise
Robert Morris
2019-07-24 10:39:05 -0400
8f6865d1f1display assembly instructions, to help with first.tex exercise
Robert Morris
2019-07-24 10:15:45 -0400
49db5119e9x
Frans Kaashoek
2019-07-24 09:06:49 -0400
26ce97fc76One more
Frans Kaashoek
2019-07-24 09:06:30 -0400
e627608810Delete a few other no-longer relevant files
Frans Kaashoek
2019-07-24 09:05:05 -0400
6f3a441c10Remove a few no longer relevant files
Frans Kaashoek
2019-07-24 08:59:47 -0400
dfc2cf9123add rtm's cow lab
Frans Kaashoek
2019-07-24 08:55:41 -0400
a41365faa3Add relevant docs to repo
Frans Kaashoek
2019-07-24 08:38:41 -0400
0387e2156fAdd a few sbrktest for lazy allocatioin lab
Frans Kaashoek
2019-07-24 08:37:26 -0400
936afc6e1amstart -> start
Robert Morris
2019-07-23 14:31:12 -0400
54178ad94dsimplify kernel mapping calls
Robert Morris
2019-07-23 12:17:17 -0400
55bc96d419a few core -> CPU get rid of PDF generating support
Robert Morris
2019-07-23 11:14:10 -0400
b8a31c494cone more TRAMPOLINE
Frans Kaashoek
2019-07-23 07:30:23 -0400
6c78af4a57fix mapkstack
Frans Kaashoek
2019-07-22 20:58:15 -0400
b2e9c8eea5Clear U bit for second stack page so that it functions as a guard page
Frans Kaashoek
2019-07-22 15:38:08 -0400
38b430687cnit
Robert Morris
2019-07-22 15:04:07 -0400
6b379e4707-MD and TRAPFRAME
Robert Morris
2019-07-22 14:54:40 -0400
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 -0400
c5d48db045Merge branch 'riscv-kstack' into riscv
Frans Kaashoek
2019-07-22 13:32:33 -0400
328204d9ccnot much
Robert Morris
2019-07-20 18:51:31 -0400
06e49a58dcpi for pipe, rather than p, to avoid confusion with proc's p->lock
Robert Morris
2019-07-20 17:07:20 -0400
3333665ab6not much
Robert Morris
2019-07-20 10:17:26 -0400
2418ac380cit's not clear that the release will always enable interrupts
Robert Morris
2019-07-19 13:27:48 -0400
06109901c9x
Frans Kaashoek
2019-07-19 11:27:02 -0400
dbd729b32dwith per-proc locks, we don't need the intr_on() inside the loop.
Robert Morris
2019-07-19 10:20:02 -0400
32168df609no need to save/restore 14
Robert Morris
2019-07-19 09:02:15 -0400
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 -0400
b924e44f06Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
Frans Kaashoek
2019-07-17 05:53:47 -0400
ce53416f49Delete x86 comment
Frans Kaashoek
2019-07-17 05:53:34 -0400
ebc3937209conservatively call sfence.vma before every satp load.
Robert Morris
2019-07-16 17:02:21 -0400
6bbc2b2245cosmetic changes
Robert Morris
2019-07-11 10:38:56 -0400
7797a38423another test, to help with locking exercises
Robert Morris
2019-07-11 05:41:59 -0400
4bc900e78bnits
Robert Morris
2019-07-10 14:54:34 -0400
e6addf25bbfeeble attempt at build instructions
Robert Morris
2019-07-10 10:30:33 -0400
061e3be6f8more comment cleanup
Robert Morris
2019-07-10 10:13:08 -0400
c0266a877adocument which proc fields are protected by p->lock
Robert Morris
2019-07-10 09:28:00 -0400
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 -0400
9981bb2270tweak some comments.
Robert Morris
2019-07-10 08:57:51 -0400
2f22a3ed6aMerge branch 'riscv-proc' into riscv
Frans Kaashoek
2019-07-08 15:50:06 -0400
60ed537427Merge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc
Robert Morris
2019-07-08 11:11:29 -0400
9d34838b4fholding p->lock all the way through state=RUNNABLE means we don't need EMBRYO
Robert Morris
2019-07-08 11:11:00 -0400
adcc612901Update runoff list for producing xv6.pdf
Frans Kaashoek
2019-07-08 08:50:55 -0400
db72f3108feliminate ptable. ptable.lock -> pid_lock.
Robert Morris
2019-07-07 15:20:13 -0400
4ce3a5fa21nits
Robert Morris
2019-07-07 14:57:16 -0400
c4f6a241cdavoid a double-lock of initproc->lock if child of init is reparenting
Robert Morris
2019-07-07 07:03:28 -0400
7114bf43edMerge branch 'riscv-proc' of g.csail.mit.edu:xv6-dev into riscv-proc
Robert Morris
2019-07-07 06:39:58 -0400
62313be582another fork test
Robert Morris
2019-07-07 06:39:31 -0400
dabbc348bcMaybe fix two races identified by rtm (thx!):
Frans Kaashoek
2019-07-06 16:38:41 -0400
75b0c6fc91back-port fork/exit/exit tests to xv6-riscv
Robert Morris
2019-07-05 12:33:26 -0400
be88befed7two exit/exit tests
Robert Morris
2019-07-05 11:44:51 -0400
fab5e7c1deMake 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
6bfb078b14x
Frans Kaashoek
2019-07-04 08:54:16 -0400
47e69250d0Simplify wakeup1
Frans Kaashoek
2019-07-03 15:38:30 -0400
cee830af24Apply some corresponding bug fixes from wq branch here
Frans Kaashoek
2019-07-03 15:18:55 -0400
ccf299850bRemove some debugging code
Frans Kaashoek
2019-07-02 20:52:30 -0400
26f306113aFix 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
1e4d7065d6Merge branch 'riscv' into riscv-proc
Frans Kaashoek
2019-07-02 14:19:31 -0400
84c759fc02x
Frans Kaashoek
2019-07-02 14:09:38 -0400
37ac6f8f4fDon't start processes at the end of the proc table
Frans Kaashoek
2019-07-02 13:55:52 -0400
da51735980Avoid two cores selecting the same process to run
Frans Kaashoek
2019-07-02 13:40:33 -0400
f59c1bf1d8try to continue from walk() failing to allocate a page-table page
Robert Morris
2019-07-02 11:45:06 -0400
b27f275014avoid allocproc() returning a struct proc with non-zero p->sz
Robert Morris
2019-07-02 11:17:50 -0400
1540c8b15aCOW tests
Robert Morris
2019-07-02 11:04:35 -0400
67702cf706Checkpoint 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
40f1041a0adon't enable interrupts until done with sstatus, scause, &c
Robert Morris
2019-07-02 05:20:11 -0400
535ac52efaoops, don't hold mycpu() result across intr_off()
Robert Morris
2019-07-01 14:15:18 -0400
abfe9999f4have fork() fail, not panic, if not enough phys mem
Robert Morris
2019-07-01 17:46:06 -0400
18e76a6c47sbrk() returns a pointer, so it should be 64 bits
Robert Morris
2019-07-01 17:01:50 -0400
9b99f00743oops, don't hold mycpu() result across intr_off()
Robert Morris
2019-07-01 14:15:18 -0400
0498bfd159timer interrupt in the kernel -> yield
Robert Morris
2019-07-01 13:46:11 -0400
c34bd3d167Checkpoint some progress compiling xv6.pdf
Frans Kaashoek
2019-07-01 13:02:24 -0400
2c0338fe42x
Frans Kaashoek
2019-07-01 08:28:14 -0400
af6c35e14bIntroduce alloc3_desc and UsedArea to make code easier to read
Frans Kaashoek
2019-07-01 08:20:35 -0400
a8305b7318FD_DEVICE
Robert Morris
2019-06-13 10:29:27 -0400
46744c4a13for spinlocks, use gcc intrinsics, but say what they compile to
Robert Morris
2019-06-13 10:00:50 -0400
ca39672a30clean up virtio code
Robert Morris
2019-06-13 09:40:17 -0400
4adf016925eliminate ramdisk
Robert Morris
2019-06-13 06:57:38 -0400
de9d72c908virtio disk driver
Robert Morris
2019-06-13 06:49:02 -0400
5753553213separate source into kernel/ user/ mkfs/
Robert Morris
2019-06-11 09:57:14 -0400
91ba81110agdb backtraces: -ggdb, -fno-omit-frame-pointer, BSIZE=1024
Robert Morris
2019-06-06 13:54:03 -0400
8607051b5ffix a create()/unlink() deadlock
Robert Morris
2019-06-06 10:38:11 -0400
31ef85f552add plic.c
Robert Morris
2019-06-06 05:19:59 -0400
b05bcce939add kernelvec
Robert Morris
2019-06-06 05:19:35 -0400
dff7ab3f8fmake -O work with asm volatile(...)
Robert Morris
2019-06-05 15:05:56 -0400
5684556c19clean up -Wall
Robert Morris
2019-06-05 14:31:13 -0400