Commit graph

1334 commits

Author SHA1 Message Date
Frans Kaashoek 60b63b9d07 x 2020-11-05 19:50:46 -05:00
Frans Kaashoek ef97f65025 kill/status test 2020-11-05 19:50:46 -05:00
Frans Kaashoek b4c2851bb3 Be principled: acquire lock first 2020-11-05 19:50:46 -05:00
Robert Morris 38084bcea8 proc_tree_lock -> wait_lock 2020-11-05 19:50:46 -05:00
Robert Morris ba8d9f4808 don't over-lock in exit() 2020-11-05 19:50:46 -05:00
Robert Morris 47323c97cf oops 2020-11-05 06:56:51 -05:00
Robert Morris 2875069973 Frans' proc_lock. 2020-11-05 06:56:51 -05:00
Robert Morris b48ea5d220 free proc if kalloc fails 2020-11-05 06:56:51 -05:00
Robert Morris 5e392531c0 hopefully make writei more correct 2020-11-05 06:56:51 -05:00
Robert Morris e1bb4c7434 test for closed pipe or killed on every char, not just if pipe full 2020-11-05 06:56:51 -05:00
Robert Morris 329935eca8 fix uart.c to work with UART_TX_BUF_SIZE == 1 2020-11-05 06:56:51 -05:00
Robert Morris 13dccb0380 consolewrite does not need cons.lock -- can lead to sleep() with lock held 2020-11-05 06:56:51 -05:00
Frans Kaashoek d4cecb269f kvmmake() makes a complete kernel page table, matching Figure 3.3 2020-10-14 20:28:16 -04:00
Robert Morris 21cfc97809 set riscv use-compressed-breakpoints yes 2020-10-14 20:28:16 -04:00
Fumiya Shigemitsu 93378618df Fix minor typos 2020-10-14 20:28:14 -04:00
Robert Morris bebecfd6fd more explicable scratch area size for machine-mode timer interrupts 2020-10-05 19:30:27 -04:00
Frans Kaashoek c199afe4c8 Don't map the CLINT, since it never used in the kernel in supervisor mode 2020-10-05 19:30:27 -04:00
Robert Morris c61cc69413 eliminate virtio DMA into kernel stacks. 2020-10-05 19:30:27 -04:00
Robert Morris 3092fe2c9e improve virtio_disk comments; bring it closer to wording in the spec 2020-10-05 19:30:27 -04:00
Robert Morris 548ffc97e1 don't unpin if recovering -- the resulting negative refcnt suppresses next unpin 2020-10-05 19:30:27 -04:00
Robert Morris aeaf610c67 avoid deadlock by disk intr acking interrupt first, then processing ring 2020-10-05 19:30:27 -04:00
Robert Morris 3c70be9070 often causes deadlock after a few minutes 2020-10-05 19:30:27 -04:00
Fumiya Shigemitsu 9c8d1e2909 Fix minor typos 2020-10-03 16:36:20 -04:00
Frans Kaashoek f2827b2c7b Clarify CLINT and PLIC acronym 2020-10-03 16:36:20 -04:00
Frans Kaashoek 8ffdfad990 Add s to many printf statements that expect it (thanks Cece Chu)
Add dirtest to the list of tests
2020-10-03 16:36:20 -04:00
Frans Kaashoek 6750608824 When either_copyin/out fails, return an error from write/read
Add a test to check that read/write return an error
2020-10-03 16:36:20 -04:00
Robert Morris 8c67f96b72 better grind error messages 2020-10-03 16:36:20 -04:00
Frans Kaashoek b418a34537
Merge pull request #25 from matth79/patch-1
Corrects order of UART RX/TX interrupt enable bits
2020-10-03 16:33:41 -04:00
Matt Harvey 6781ac0036
Corrects order of UART RX/TX interrupt enable bits
(per http://byterunner.com/16550.html and manually tested in qemu bare metal echo)
2020-09-14 14:49:57 -07:00
Frans Kaashoek 79899c7479 Delete doc dir because they take much space in student submissions 2020-08-28 16:21:07 -04:00
Robert Morris 490f91ab53 move panicked check to uart.c 2020-08-28 09:00:41 -04:00
Robert Morris 748809e1b3 suppress write() output after panic() 2020-08-28 09:00:41 -04:00
Frans Kaashoek de434fd933 Remove obselete ifdef that shouldn't have been there ever 2020-08-28 09:00:41 -04:00
Robert Morris 0b4e78f3a9 fix usertests to pass all the riscv-sol-fall20 solutions. 2020-08-28 09:00:41 -04:00
Frans Kaashoek 0bb2533f73 Adjust a few prototypes to be explicit that they don't take arguments 2020-08-21 11:00:45 -04:00
Robert Morris 2a4a8764a5 touch sbrk()-allocated memory to make sure it exists 2020-08-21 11:00:45 -04:00
Robert Morris 5860dcd07d usertest for exec() out of memory recovery
and fix a few exec() bugs
2020-08-21 11:00:45 -04:00
Frans Kaashoek d4d487731a Use the major number defined in file.h. The minor number is ignored;
might as well use 0.
2020-08-21 11:00:45 -04:00
Frans Kaashoek 3c25112f38 Delete some obselete stuff 2020-08-21 11:00:45 -04:00
Robert Morris 95dad4c061 x 2020-08-17 08:18:23 -04:00
Robert Morris f2ec6777bd fix a bug in the out-of-memory handling code in exec 2020-08-17 08:18:23 -04:00
Robert Morris 8dc71a257d handle another out-of-memory in fork(). the policy here is not consistent,
since other calls (e.g. exec()) panic on out of memory.
2020-08-17 08:18:23 -04:00
Robert Morris bc51626aab try to handle a few of the possible out-of-memory errors in fork() 2020-08-17 08:18:23 -04:00
Robert Morris a8dd44cf59 modify uvmunmap() to be in aligned pages
fix a bug in fork() recovering from out of memory
2020-08-17 08:18:23 -04:00
Robert Morris e283514ad0 pa isn't needed in the uvmunmap() loop 2020-08-17 08:18:23 -04:00
Frans Kaashoek 56e7cebdb9 Update to the latest specs 2020-08-10 20:28:47 -04:00
Frans Kaashoek 84dcf8a738 copyright and 6.S081 2020-08-10 19:41:57 -04:00
Frans Kaashoek fa71d7fca2 Ack bug finders. 2020-08-10 16:43:33 -04:00
Frans Kaashoek 5dace67371 Typo (thanks yt <jaichenhengjie@qq.com>) 2020-08-10 16:43:33 -04:00
Frans Kaashoek 96a20b0c0f Generate initcode without compressed extensions 2020-08-10 13:55:46 -04:00