Commit graph

91 commits

Author SHA1 Message Date
Frans Kaashoek ccb7bd14c7 Merge branch 'riscv' into uvm-perm 2022-08-23 11:01:06 -04:00
Frans Kaashoek 4cd4d194b8 Use simple linker script to force data segment to be page aligned 2022-08-23 10:54:40 -04:00
Robert Morris 8621be8f3d tolerate out of disk when creating . and .. in mkdir() 2022-08-23 08:52:15 -04:00
Robert Morris dc405cdb7b don't panic if out of disk space when extending a directory. 2022-08-23 08:23:12 -04:00
Frans Kaashoek bc48c2be47 Add ref to this nice page about Chapter 9's regexp matcher 2022-08-22 20:44:02 -04:00
Frans Kaashoek f2ee8690ad x 2022-08-17 20:38:11 -04:00
Frans Kaashoek cef1b57d4a Compile user binary to map text without W and data without X
Use the flags in elf header to set vm permissions
Modify pgbug() so that usertests text segment is without W
Add test to check app cannot write text segment
2022-08-15 19:02:19 -04:00
Frans Kaashoek 2175c6b0b6 Run tests in the order in which they appear in the file 2022-08-15 19:01:34 -04:00
Frans Kaashoek 8bd04852c9 Delete rtcdate, which is a left-over from an old lab (thanks Harry Porter) 2022-08-12 09:43:18 -04:00
Robert Morris e67cb408d4 x 2022-08-10 07:21:50 -04:00
Robert Morris 07cf0eb255 have sh print prompt with write, not printf, to make
system call lecture a little clearer.
2022-08-10 07:21:50 -04:00
Robert Morris 76ad8e974f avoid user-level segfault if a process doesn't call exit() 2022-08-10 06:37:21 -04:00
Robert Morris 872fa88e8a tolerate running out of disk blocks 2022-08-10 06:13:52 -04:00
John Jolly 2462656f21 [user/ls]: List specific device file
When using the ls userspace program to list a specific device file,
nothing would be displayed. This was because ls only tests for T_FILE
and T_DIR. T_DEVICE files would fall through the case block.

Adding T_DEVICE to the T_FILE case allows a device file to be listed.

    $ ls console
    console        3 19 0
2022-08-09 20:29:38 -04:00
Frans Kaashoek 1b02b08db1 Mark runcmd with attribute noreturn, since it doesn't return
When compiling with gcc version 12, this change also avoids the
compiler warning "infinite recursion detected" for runcmd()
2022-08-02 09:38:22 -04:00
Frans Kaashoek bf4816c9c6 Delete unused code (Jude Rich <juder11@gmail.com>) 2021-09-01 07:24:07 -04:00
flespark 49f1e2f888 fix a invalid printf format string 2021-08-31 14:16:31 -04:00
FIXED-TERM Chen Ian (BT-CO/QMM5) 8d4ff0bc1e fix typos in user/usertest.c & kernel/log.c 2021-08-31 14:10:14 -04:00
Robert Morris 3b3f83f100 check that there's no panic if user process tries to write >= MAXVA 2021-08-06 11:06:24 -04:00
Robert Morris 08c9eda85f sync usertests 2021-07-02 14:24:45 -04:00
Robert Morris 1841baa3dd keep usertests.c in sync with riscv-sol-2020 2021-07-02 09:57:14 -04:00
Robert Morris 6e3f75c2aa suppress an incorrect error message in grind 2020-11-19 16:48:41 -05:00
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
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
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
Robert Morris 490f91ab53 move panicked check to uart.c 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
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
Robert Morris 95dad4c061 x 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 d8fe1773b2 test string system call arguments that cross over the end of the last page. 2020-08-10 11:19:10 -04:00
Robert Morris 76d6c57ede test copyinstr()'s handling of the terminating null 2020-08-10 11:19:10 -04:00
Robert Morris e3b7058907 streamline copyin/copyout code in usertests
fix bugs in read/write return values when there's an error
2020-08-10 11:19:10 -04:00
Robert Morris a93321cb25 test pointer checking in copyin, copyout, copyinstr 2020-08-10 11:19:10 -04:00
Robert Morris 7f35d7a14e modify each page in usertests countfree()
get rid of static for walk() and freewalk()
2020-08-10 11:19:10 -04:00
Robert Morris af9eb9114c make "echo hello > x" truncate file x. 2020-08-10 11:19:10 -04:00
Robert Morris 672217ae2a allow more files 2020-08-10 11:19:10 -04:00
Robert Morris b62d4d412b more grind 2020-08-10 11:19:10 -04:00
Robert Morris 20f1dd9409 more grind 2019-11-07 06:44:23 -05:00
Robert Morris 16b3b63f06 grind: run parallel system calls forever 2019-11-06 11:18:43 -05:00
Robert Morris 9de9211b11 usertests -c to repeat tests forever
detect memory leaks
no more "already ran user tests"
2019-10-28 05:58:28 -04:00
Robert Morris d9160fb4b9 nits 2019-10-27 08:03:19 -04:00
Anish Athalye f2df0fa547 Fix ulib's memmove to handle overlap when src<dst 2019-10-08 21:24:03 -04:00