Frans Kaashoek
|
b63d3506e9
|
Be principled: acquire lock first
|
2020-11-05 12:27:32 -05:00 |
|
Robert Morris
|
774288e05a
|
proc_tree_lock -> wait_lock
|
2020-11-05 09:47:59 -05:00 |
|
Robert Morris
|
bc943c2309
|
don't over-lock in exit()
|
2020-11-05 07:32:10 -05:00 |
|
Robert Morris
|
7dea4b93c8
|
oops
|
2020-11-03 16:35:20 -05:00 |
|
Robert Morris
|
8d4fbc6e2a
|
Frans' proc_lock.
|
2020-11-03 15:02:08 -05:00 |
|
Robert Morris
|
af570f582c
|
free proc if kalloc fails
|
2020-11-01 11:11:38 -05:00 |
|
Robert Morris
|
d7c0a1b7a7
|
hopefully make writei more correct
|
2020-10-23 10:18:30 -04:00 |
|
Robert Morris
|
147855e521
|
test for closed pipe or killed on every char, not just if pipe full
|
2020-10-22 06:36:36 -04:00 |
|
Robert Morris
|
4df1a265cb
|
fix uart.c to work with UART_TX_BUF_SIZE == 1
|
2020-10-20 07:02:44 -04:00 |
|
Robert Morris
|
55ad99f729
|
Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv
|
2020-10-20 06:58:58 -04:00 |
|
Robert Morris
|
286b2f3c33
|
consolewrite does not need cons.lock -- can lead to sleep() with lock held
|
2020-10-20 06:55:51 -04:00 |
|
Fumiya Shigemitsu
|
05a7db1a0a
|
Fix minor typos
|
2020-10-14 20:28:46 -04:00 |
|
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 |
|