Commit graph

1504 commits

Author SHA1 Message Date
Robert Morris e7ffb74ad1 fix a potential memory leak 2019-10-27 13:36:46 -04:00
Robert Morris d9160fb4b9 nits 2019-10-27 08:03:19 -04:00
Anish Athalye f2ab0eb644 Clean up linker script
This patch does the following:

- Add .text.* to the .text section in the output
- Add an assertion that the trampoline does not overflow a page
- Add the .rodata section
- Make .sdata and .sdata.* (which is for small data) be absorbed into
  the .data section, because we don't need to distinguish between them;
  this prevents .sdata from appearing in the output
- Make the analogous change for .srodata and .sbss
- Make all the data sections 16-byte aligned

This patch also updates the .editorconfig for *.ld files.
2019-10-21 22:27:18 -04:00
Fumiya Shigemitsu 90eb90b5e2 Fix minor typos 2019-10-21 21:01:07 +09:00
Robert Morris 2821d43cc9 nits 2019-10-16 12:27:08 -04:00
Anish Athalye f2df0fa547 Fix ulib's memmove to handle overlap when src<dst 2019-10-08 21:24:03 -04:00
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