Commit graph

1439 commits

Author SHA1 Message Date
Frans Kaashoek
843ce77765 Stress copyin for the full allocated page (good for lazy lab). 2019-09-21 17:28:18 -04:00
Robert Morris
d940fd122d don't leak memory if exec() arguments are invalid. 2019-09-21 04:54:25 -04:00
Frans Kaashoek
6b79ee69b7 Refactor big sbrk test in smaller, easier-to-understand tests 2019-09-21 02:07:24 -04:00
Frans Kaashoek
ee67dbd211 Not much: factor sbrksimple from big sbrktest 2019-09-20 17:08:13 -04:00
Robert Morris
7c7ed20822 don't leak a file system block if the buf argument to write is invalid
and a usertest
2019-09-20 13:09:26 -04:00
Robert Morris
e1a37303c8 yet another sbrk() bug fix, and usertest 2019-09-20 12:13:57 -04:00
Robert Morris
4de161f973 don't panic if a program frees all its memory with sbrk().
if a program sbrk()'s to a non-page-boundary, don't free that page.
corresponding usertests.
2019-09-20 11:35:27 -04:00
Robert Morris
ca30cac702 more incorrect cast to uint 2019-09-20 10:27:03 -04:00
Robert Morris
402e7b5605 fix a potential kernel crash
add a regression test for it
2019-09-20 09:41:03 -04:00
Robert Morris
57e40a0204 nits 2019-09-20 06:02:47 -04:00
Frans Kaashoek
ba1c42849a print name at start of test 2019-09-19 15:39:05 -04:00
Frans Kaashoek
25e6803e17 a comment 2019-09-19 15:22:45 -04:00
Frans Kaashoek
3f6e372a29 make exec test self contained 2019-09-19 15:14:52 -04:00
Frans Kaashoek
f6a37c17f2 Standarize the way tests are run and report errors
Support running one test, by specifying the name as a command argument to usertests
2019-09-19 06:58:28 -04:00
Robert Morris
0d01de2a32 Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv 2019-09-17 06:08:10 -04:00
Robert Morris
2df42355f7 all of PTE_FLAGS 2019-09-17 06:07:58 -04:00
Xi Wang
b150908354 add `-bios none' to silence qemu
QEMU 4.1+ emits warnings if -bios is not given, as newer versions
will load the OpenSBI firmware in this case.  Pass `-bios none' to
avoid this issue.
2019-09-13 17:23:36 -04:00
Robert Morris
036b5edf12 set architecture riscv:rv64 -- fix gdb trampoline disassembly, thanks jonathan 2019-09-12 10:48:48 -04:00
Robert Morris
35010f0d0f error exit status is 1 2019-09-11 10:04:40 -04:00
Frans Kaashoek
7e6c37e67e Support exit status for exit/wait
One test case for returning a exit status
Passes usertests, but haven't used it to simplify tests
2019-09-10 12:30:10 -04:00
Frans Kaashoek
035cca95fe Make the end variable be really at the end of bss, and delete + 4096 in freerange() 2019-09-08 15:19:19 -04:00
Robert Morris
e5b7fa62cc thanks to Anthony Coulter 2019-09-08 06:51:58 -04:00
Robert Morris
fc337af2b6 fix a grep bug 2019-09-05 16:50:55 -04:00
Robert Morris
c0beeccb1b have echo use FD 1 for clarity 2019-09-04 10:12:53 -04:00
Robert Morris
25e113138d sfence.vma in trampoline as well 2019-09-03 16:29:48 -04:00
Robert Morris
9b9e2dd0f2 fix sfence_vma comment 2019-09-03 16:25:11 -04:00
Robert Morris
86a1d4b295 sfence_vma after satp 2019-09-03 15:45:07 -04:00
Robert Morris
64b93d175a user printf(1 -> printf( 2019-08-27 13:13:03 -04:00
Frans Kaashoek
a3f6d9fd1e cow moved to xv6-riscv-fall19 2019-08-26 21:16:33 -04:00
Frans Kaashoek
92c3c02098 RISC-V port doesn't borrow this code 2019-08-26 08:49:50 -04:00
Frans Kaashoek
510bcde894 Add major/minor/mkdev
Maybe apply this change to master
2019-08-23 19:41:53 -04:00
Frans Kaashoek
7241838b4c Move labs into 6.828 repo. The lab text isn't dependent on specific
xv6 code. Lab submission instructions etc. are likely going to be more
MIT 6.828 specific.
2019-08-20 20:23:18 -04:00
Frans Kaashoek
c612d452fd validateint doesn't test something interesting on RISC-V; delete it. 2019-08-20 13:04:12 -04:00
Frans Kaashoek
b564fca246 Rationalize some constants in usertests 2019-08-20 12:58:00 -04:00
Frans Kaashoek
d98ddadd79 Also release buffer on failed copyout 2019-08-20 12:46:56 -04:00
Frans Kaashoek
6005ef5a1c Release buffer also when copyin fails 2019-08-20 11:57:24 -04:00
Frans Kaashoek
d9818b89e1 512 -> BSIZE 2019-08-20 11:56:56 -04:00
Frans Kaashoek
a825f22cf8 Merge remote-tracking branch 'origin/master' into riscv 2019-08-19 19:27:29 -04:00
Dan Cross
82638c019c Avoid rereading the superblock in bfree
The superblock is read when the first process returns to
userspace (via the call to `iinit` from the first invocation of
`forkret`, when `first` is still set to 1) and cached in a
global; it is treated as immutable from that point on.  There is
no reason to re-read it in bfree.

Removing this call seems to have simply been missed in 8320d61b
when this general area was last touched.  Remove it now to avoid
potential confusion.

Signed-off-by: Dan Cross <cross@gajendra.net>
2019-08-19 19:25:43 -04:00
Frans Kaashoek
21ad8c76bc A few now unused DOC 2019-08-19 18:12:19 -04:00
Frans Kaashoek
ce565ae04a dan cross 2019-08-19 14:46:33 -04:00
Frans Kaashoek
e10f797762 Merge remote-tracking branch 'origin/master' into riscv 2019-08-19 13:35:47 -04:00
Dan Cross
0581c37baf Removed unused dirlookup argument in create
The `off` argument to `dirlookup` is optional.  It
was not being used in the `dirlookup` call in `create`,
so pass NULL instead and delete the unused local.

Signed-off-by: Dan Cross <cross@gajendra.net>
2019-08-19 13:22:35 -04:00
Frans Kaashoek
2501560cd6 Cosmetic cleanup: fsinit reads sb and calls loginit. initialize icache
in main.c and don't make it disk specific; the icache is shared.  This
doesn't matter since we have only one disk, but conceptually cleaner
and maybe helpful to students for mount lab.
2019-08-18 14:35:11 -04:00
Frans Kaashoek
a9953236cc x 2019-08-17 12:52:25 -04:00
Frans Kaashoek
e61377bf8a Update write up to reflect new test cases. 2019-08-17 12:33:32 -04:00
Frans Kaashoek
5498ee2e92 Draft mount/umount lab as an alternative lab for fs.html
fs.html should perhaps be split in small homeworks as in previous
years in preparation for lectures and/or as demos during lecture.
2019-08-12 10:25:55 -04:00
Frans Kaashoek
e398a9815c Wrap state of disk driver in a struct so that it is easier to support
several disks (e.g., in a mount lab).
2019-08-12 07:20:32 -04:00
Robert Morris
d96a8c5661 add alarmtest.c to the repository
they don't have to modify alarmtest.c, so we can use the
original version to test, to make it harder to cheat.
2019-08-05 02:04:44 -04:00
Robert Morris
deec67f05d alarm stuff 2019-08-03 07:12:00 -04:00