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
Robert Morris
d940fd122d
don't leak memory if exec() arguments are invalid.
2019-09-21 04:54:25 -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
Robert Morris
2df42355f7
all of PTE_FLAGS
2019-09-17 06:07:58 -04:00
Robert Morris
036b5edf12
set architecture riscv:rv64 -- fix gdb trampoline disassembly, thanks jonathan
2019-09-12 10:48:48 -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
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
Frans Kaashoek
510bcde894
Add major/minor/mkdev
...
Maybe apply this change to master
2019-08-23 19:41:53 -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
Frans Kaashoek
21ad8c76bc
A few now unused DOC
2019-08-19 18:12:19 -04:00
Frans Kaashoek
e10f797762
Merge remote-tracking branch 'origin/master' into riscv
2019-08-19 13:35:47 -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
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
0c10cbe829
syscall lab nits
2019-08-02 11:55:26 -04:00
Frans Kaashoek
62ece4b09e
Merge branch 'riscv-bcache' into riscv
2019-08-01 15:46:50 -04:00
Robert Morris
fb8a0099d4
fences for starting
2019-08-01 14:59:20 -04:00
Robert Morris
d600026c3f
cut ramdisk
2019-07-30 16:06:00 -04:00
Frans Kaashoek
848d1906e8
Track in buf if disk "owns" buffer
2019-07-30 12:53:19 -04:00
Frans Kaashoek
f37a3e3964
Make pin/unpin explicit
2019-07-30 08:54:43 -04:00
Frans Kaashoek
f1bb53c690
The driver should free descriptors, not interrupt handler. This
...
avoids handler freeing descriptors before driver sees that the request
has completed.
2019-07-30 08:13:03 -04:00
Frans Kaashoek
5304310452
Remove B_DIRTY
...
Use refcnt to pin blocks into the cache
Replace flags/B_VALID with a boolean field valid
Use info[id].status to signal completion of disk interrupt
Pass a read/write flag to virtio_disk_rw
2019-07-29 17:33:16 -04:00
Robert Morris
47b9cfee49
separate out timer init code for clarity
2019-07-28 13:16:49 -04:00
Robert Morris
1ec50c5848
xxx
2019-07-28 07:43:22 -04:00
Robert Morris
6507da772d
argptr no longer needed, since copyin checks
2019-07-28 06:29:37 -04:00
Robert Morris
629faafa36
cleaner UART register interface
2019-07-27 06:44:24 -04:00
Robert Morris
a33f60fea3
console/uart tweaks
2019-07-27 05:47:19 -04:00
Robert Morris
cf48b24c03
beautify console.c
2019-07-27 04:15:06 -04:00
Robert Morris
281d450a08
split printf into a separate file, to make console.c more like a driver
2019-07-27 03:49:03 -04:00
Robert Morris
cc1a303d09
fetchint isn't used any more
2019-07-26 12:34:06 -04:00
Robert Morris
f0987d82dc
???
2019-07-26 11:09:54 -04:00
Robert Morris
c714e3e35c
machinevec -> timervec
2019-07-26 10:17:02 -04:00
Robert Morris
fa2e2e3c81
uservec before userret in trampoline, to match book and kernelvec
2019-07-26 09:38:22 -04:00
Robert Morris
8d30e21b59
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
2019-07-26 04:53:59 -04:00
Robert Morris
ea95a6654c
trampin -> uservec
...
trampout -> userret
2019-07-26 04:53:46 -04:00
Frans Kaashoek
47c9721d78
a few name changes in panic msg
2019-07-25 06:59:07 -04:00
Robert Morris
4e62de64cd
fix an exit/exit deadlock -> one more locking protocol violation
...
increase timer rate from 1/second to 10/second
2019-07-25 06:30:49 -04:00
Robert Morris
b19adf79f9
purge x86 stuff from defs.h
2019-07-25 05:37:35 -04:00