Commit graph

165 commits

Author SHA1 Message Date
Frans Kaashoek 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.
2019-07-02 09:14:47 -04:00
Robert Morris 40f1041a0a don't enable interrupts until done with sstatus, scause, &c 2019-07-02 05:20:11 -04:00
Robert Morris 535ac52efa oops, don't hold mycpu() result across intr_off() 2019-07-01 17:54:41 -04:00
Robert Morris abfe9999f4 have fork() fail, not panic, if not enough phys mem 2019-07-01 17:46:06 -04:00
Robert Morris 18e76a6c47 sbrk() returns a pointer, so it should be 64 bits 2019-07-01 17:01:50 -04:00
Robert Morris 9b99f00743 oops, don't hold mycpu() result across intr_off() 2019-07-01 14:15:18 -04:00
Robert Morris 0498bfd159 timer interrupt in the kernel -> yield 2019-07-01 13:46:11 -04:00
Frans Kaashoek 2c0338fe42 x 2019-07-01 08:28:14 -04:00
Frans Kaashoek af6c35e14b Introduce alloc3_desc and UsedArea to make code easier to read 2019-07-01 08:20:35 -04:00
Robert Morris a8305b7318 FD_DEVICE 2019-06-13 10:29:27 -04:00
Robert Morris 46744c4a13 for spinlocks, use gcc intrinsics, but say what they compile to 2019-06-13 10:00:50 -04:00
Robert Morris ca39672a30 clean up virtio code 2019-06-13 09:40:17 -04:00
Robert Morris 4adf016925 eliminate ramdisk 2019-06-13 06:57:38 -04:00
Robert Morris de9d72c908 virtio disk driver 2019-06-13 06:49:02 -04:00
Robert Morris 5753553213 separate source into kernel/ user/ mkfs/ 2019-06-11 09:57:14 -04:00