Commit graph

1248 commits

Author SHA1 Message Date
Anish Athalye 8509784d80 Add implementations of memcmp and memcpy to ulib
This is necessary because gcc may generate calls to memcmp, memset,
memcpy, and memmove when compiling with -nostdlib.
2019-10-08 21:18:54 -04:00
Robert Morris a52d296814 delete alarmtest from riscv 2019-10-03 15:09:31 -04:00
Robert Morris 56583b1402 updated alarmtest 2019-10-03 15:02:19 -04:00
Anish Athalye 78f863f8ae Add editorconfig 2019-09-30 20:38:17 -04:00
Anish Athalye d441674477 Make QEMU memory size match PHYSTOP 2019-09-30 20:32:57 -04:00
Robert Morris deaff5d8a6 no buf->qnext 2019-09-24 14:41:51 -04:00
Xi Wang 9ead904afe fix major validation
fileread/filewrite should validate major to avoid buffer overflows
or bogus function pointers.
2019-09-23 20:01:56 -04:00
Robert Morris 37df68e5de story is more complex than I thought. 2019-09-23 07:24:41 -04:00
Robert Morris d175beadf5 bug fix: reparent() sometimes deadlocked
bug fix: exit() sometimes released a different parent lock than it acquired
usertests
2019-09-23 06:50:25 -04:00
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