Commit graph

1502 commits

Author SHA1 Message Date
Frans Kaashoek 3d6ce9b308 Separate tests in slow and quick. The slow tests run xv6 out of
memory, out of disk space, or test big directories.

Support -q option to run only the quick tests, which saves about
7mins.

Clean up driver by removing duplicated code.
2022-08-25 09:45:35 -04:00
Robert Morris ed101befee comment the sfences 2022-08-24 13:47:47 -04:00
Robert Morris 581bc4cbd1 sfence before enabling paging 2022-08-24 13:42:59 -04:00
Robert Morris 29ce3161f8 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-24 13:24:37 -04:00
Robert Morris 9c1b8a4eb0 sfence before writing satp, as well as after 2022-08-24 13:24:24 -04:00
Frans Kaashoek cc486ddee0 Help students read this C syntax 2022-08-24 08:57:56 -04:00
Robert Morris 96047832c6 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-23 12:26:39 -04:00
Robert Morris 7c1810e1ae tolerate running out of inodes 2022-08-23 12:26:26 -04:00
Frans Kaashoek ac8c0bb177 x 2022-08-23 11:56:29 -04:00
Frans Kaashoek 948cfbdb1f Rename test to textwrite 2022-08-23 11:21:26 -04:00
Frans Kaashoek 858fc68bdf Linker script makes binaries bigger; use larger disk so that usertests
can run.

Must assumed_free in badwrite() be adjusted?
2022-08-23 11:19:33 -04:00
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 cd6207a972 Merge branch 'riscv-killed' into riscv 2022-08-23 07:31:08 -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 2f0b4d698b Use pp instead of np to be more consistent 2022-08-22 19:58:33 -04:00
Frans Kaashoek 2a391ebc8b Make argint() and argaddr() of type void (thanks Harry Porter) 2022-08-22 19:53:09 -04:00
Frans Kaashoek 7086197c27 Simplify uartputc slightly (thanks Harry Porter) 2022-08-22 19:36:11 -04:00
Robert Morris 63ef3b8c9f slightly better comments 2022-08-22 13:49:15 -04:00
Frans Kaashoek f2ee8690ad x 2022-08-17 20:38:11 -04:00
Frans Kaashoek 1d4c437ea1 Use uint64 (thanks carlclone and Harry Porter) 2022-08-17 20:37:22 -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 7a6d57235c Costmestic change (thanks Harry Porter) 2022-08-12 14:59:30 -04:00
Frans Kaashoek 899cc02660 Experiment with being more precise setting permissions for user pages.
Growing adds R|W pages (without X).  Exec() marks the stack only R|W.

Probably could setup permissions for text and data better if we call
ld with --no-omagic instead of -N.
2022-08-12 13:22:10 -04:00
Frans Kaashoek 8f58cc7df9 Cosmetic change (thanks Harry Porter) 2022-08-12 12:59:33 -04:00
Frans Kaashoek 62bc610424 cosmetic changes (thanks Harry Porter) 2022-08-12 11:47:39 -04:00
Frans Kaashoek dd5a720044 cosmetic changes (thanks Harry Porter) 2022-08-12 10:57:16 -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
Frans Kaashoek 48d1a7ffa5 Add USED to states (thanks Harry Porter) 2022-08-12 09:14:54 -04:00
Frans Kaashoek 4f716c8550 Use p->lock to read p->killed 2022-08-11 14:22:00 -04:00
Frans Kaashoek 429c7b717e Use atomic store_n and load_n 2022-08-11 08:42:52 -04:00
Frans Kaashoek 975f3b31d3 Clean up using killed() 2022-08-11 07:23:17 -04:00
Frans Kaashoek 4087a6e7fc Read and write p->killed using atomics 2022-08-10 20:35:42 -04:00
Frans Kaashoek b1fd09335a Merge remote-tracking branch 'g/riscv' into riscv 2022-08-10 10:31:54 -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 c908d20132 put walk() in defs.h so it's clear students can call it 2022-08-10 07:21:50 -04:00
Frans Kaashoek 143cde639d Merge remote-tracking branch 'github/riscv' into riscv 2022-08-10 07:18:39 -04:00
Robert Morris e606f95459 x 2022-08-10 07:06:49 -04:00
Robert Morris c3a17f454a have sh print prompt with write, not printf, to make
system call lecture a little clearer.
2022-08-10 06:42:17 -04:00
Robert Morris 311479ceb7 put walk() in defs.h so it's clear students can call it 2022-08-10 06:41:00 -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
Robert Morris 7d573bae2a Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2022-08-10 06:00:57 -04:00
Robert Morris f4b3edf5ab comment nits 2022-08-10 06:00:40 -04:00
Robert Morris 535f1797f0 nothing much 2022-08-09 20:34:06 -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