Frans Kaashoek
c64aa44d7b
kvmmake() makes a complete kernel page table, matching Figure 3.3
2020-10-14 20:03:14 -04:00
Robert Morris
6c16759503
more explicable scratch area size for machine-mode timer interrupts
2020-10-05 15:28:01 -04:00
Frans Kaashoek
0c55849d28
Don't map the CLINT, since it never used in the kernel in supervisor mode
2020-10-05 09:18:23 -04:00
Robert Morris
a9b3dd457c
eliminate virtio DMA into kernel stacks.
2020-10-05 06:59:33 -04:00
Robert Morris
271d89ae30
improve virtio_disk comments; bring it closer to wording in the spec
2020-10-05 06:26:58 -04:00
Robert Morris
da002a48fb
don't unpin if recovering -- the resulting negative refcnt suppresses next unpin
2020-10-04 13:29:04 -04:00
Robert Morris
792d60e912
avoid deadlock by disk intr acking interrupt first, then processing ring
2020-10-04 09:21:03 -04:00
Matt Harvey
b9359c3533
Corrects order of UART RX/TX interrupt enable bits
...
(per http://byterunner.com/16550.html and manually tested in qemu bare metal echo)
2020-10-03 16:35:47 -04:00
Fumiya Shigemitsu
b96547403d
Fix minor typos
2020-10-03 16:35:45 -04:00
Frans Kaashoek
1c4b582fc7
Clarify CLINT and PLIC acronym
2020-10-03 10:21:04 -04:00
Frans Kaashoek
05074badc4
When either_copyin/out fails, return an error from write/read
...
Add a test to check that read/write return an error
2020-09-24 13:18:54 -04:00
Robert Morris
ffb2ee074a
move panicked check to uart.c
2020-08-28 05:51:48 -04:00
Robert Morris
db067d24da
suppress write() output after panic()
2020-08-28 05:44:09 -04:00
Frans Kaashoek
efaa7b8e2a
Adjust a few prototypes to be explicit that they don't take arguments
2020-08-21 10:56:27 -04:00
Robert Morris
aefa2697d7
usertest for exec() out of memory recovery
...
and fix a few exec() bugs
2020-08-19 12:35:14 -04:00
Robert Morris
b154cf091c
x
2020-08-15 05:46:32 -04:00
Robert Morris
4a87a0ae8b
fix a bug in the out-of-memory handling code in exec
2020-08-13 14:10:58 -04:00
Robert Morris
adee82c3e7
handle another out-of-memory in fork(). the policy here is not consistent,
...
since other calls (e.g. exec()) panic on out of memory.
2020-08-13 10:22:07 -04:00
Robert Morris
4c22c54480
try to handle a few of the possible out-of-memory errors in fork()
2020-08-13 09:19:23 -04:00
Robert Morris
70c6fe861e
modify uvmunmap() to be in aligned pages
...
fix a bug in fork() recovering from out of memory
2020-08-13 08:46:28 -04:00
Robert Morris
e1a2cd59fa
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
2020-08-13 08:05:13 -04:00
Robert Morris
d32eac366f
pa isn't needed in the uvmunmap() loop
2020-08-13 08:04:56 -04:00
Frans Kaashoek
2db95f08b1
Typo (thanks yt <jaichenhengjie@qq.com>)
2020-08-10 16:27:26 -04:00
Asami Doi
c24844714b
update initcode to avoid using the compressed extension
2020-08-10 13:59:40 -04:00
Takahiro
9eff4b0871
Write interrupt ack register in virtio_disk_intr()
2020-08-10 13:59:40 -04:00
Jonathan Kimmitt
b557e7c32e
Update ramdisk.c
...
The qemu syntax for a ram disk was documented incorrectly. The documented syntax is here:
https://qemu.weilnetz.de/doc/qemu-doc.html
2020-08-10 13:59:40 -04:00
Fumiya Shigemitsu
ffcb883adf
Fix minor typos
2020-08-10 13:59:38 -04:00
Robert Morris
354adfdafc
streamline copyin/copyout code in usertests
...
fix bugs in read/write return values when there's an error
2020-08-07 15:06:43 -04:00
Robert Morris
e4b9346679
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
2020-08-07 05:33:23 -04:00
Robert Morris
8b9b799937
modify each page in usertests countfree()
...
get rid of static for walk() and freewalk()
2020-08-07 05:32:48 -04:00
Frans Kaashoek
6c3099d314
Change tf -> trapframe in a few comments
2020-08-06 20:31:19 -04:00
Robert Morris
050a69610a
defines for UART register bits
2020-07-23 06:27:20 -04:00
Robert Morris
db0f092ae4
fix printf() in interrupts
2020-07-22 10:31:46 -04:00
Robert Morris
823864099d
interrupt-driven uart output, hopefully a nice example for teaching.
2020-07-20 06:59:26 -04:00
Robert Morris
3b053f5d58
cpu->scheduler -> cpu->context to reduce confusion
2020-07-17 16:40:57 -04:00
Robert Morris
d6dad42aaf
rename p->tf to p->trapframe, for consistency with p->context
2020-07-17 16:29:52 -04:00
Robert Morris
f3979b7212
make "echo hello > x" truncate file x.
2020-07-16 11:38:08 -04:00
Robert Morris
028af27646
mention LRU list a bit more in comments.
2019-10-29 04:32:55 -04:00
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
Robert Morris
2821d43cc9
nits
2019-10-16 12:27:08 -04:00
Robert Morris
56583b1402
updated alarmtest
2019-10-03 15:02:19 -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
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