ddb1b65d61
Minor comments.
2025-02-14 08:05:35 +01:00
Frans Kaashoek
e5d80dfee5
x
2024-07-26 20:10:08 -04:00
Frans Kaashoek
47cdb5f096
wfi to save CPU time on Athena
2024-07-26 20:08:40 -04:00
Robert Morris
0802d56a9b
x
2022-10-17 04:10:01 -04:00
Robert Morris
4a88273db5
oops. scheduler() inherits the interrupt status of the
...
most recent process to run, so it must explicitly
turn them on again. It would be better if cpu->intena
were really thread->intena.
2022-10-17 04:07:24 -04:00
Robert Morris
f376ad7f1f
scheduler()'s intr_on() is in the wrong place, reflecting
...
the locking scheme from long ago.
2022-10-16 15:28:21 -04:00
Robert Morris
348cf7fee4
forkret first memory model
2022-10-12 13:07:55 -04:00
Frans Kaashoek
ccb7bd14c7
Merge branch 'riscv' into uvm-perm
2022-08-23 11:01:06 -04:00
Frans Kaashoek
cd6207a972
Merge branch 'riscv-killed' into riscv
2022-08-23 07:31:08 -04:00
Frans Kaashoek
2f0b4d698b
Use pp instead of np to be more consistent
2022-08-22 19:58:33 -04:00
Frans Kaashoek
1d4c437ea1
Use uint64 (thanks carlclone and Harry Porter)
2022-08-17 20:37:22 -04:00
Frans Kaashoek
899cc02660
Experiment with being more precise setting permissions for user pages.
...
Growing adds R|W pages (without X). Exec() marks the stack only R|W.
Probably could setup permissions for text and data better if we call
ld with --no-omagic instead of -N.
2022-08-12 13:22:10 -04:00
Frans Kaashoek
62bc610424
cosmetic changes (thanks Harry Porter)
2022-08-12 11:47:39 -04:00
Frans Kaashoek
48d1a7ffa5
Add USED to states (thanks Harry Porter)
2022-08-12 09:14:54 -04:00
Frans Kaashoek
4f716c8550
Use p->lock to read p->killed
2022-08-11 14:22:00 -04:00
Frans Kaashoek
429c7b717e
Use atomic store_n and load_n
2022-08-11 08:42:52 -04:00
Frans Kaashoek
975f3b31d3
Clean up using killed()
2022-08-11 07:23:17 -04:00
Frans Kaashoek
4087a6e7fc
Read and write p->killed using atomics
2022-08-10 20:35:42 -04:00
Robert Morris
7d8bfdcbe3
nothing much
2022-08-09 15:11:25 -04:00
Robert Morris
38084bcea8
proc_tree_lock -> wait_lock
2020-11-05 19:50:46 -05:00
Robert Morris
ba8d9f4808
don't over-lock in exit()
2020-11-05 19:50:46 -05:00
Robert Morris
47323c97cf
oops
2020-11-05 06:56:51 -05:00
Robert Morris
2875069973
Frans' proc_lock.
2020-11-05 06:56:51 -05:00
Robert Morris
b48ea5d220
free proc if kalloc fails
2020-11-05 06:56:51 -05:00
Frans Kaashoek
d4cecb269f
kvmmake() makes a complete kernel page table, matching Figure 3.3
2020-10-14 20:28:16 -04:00
Robert Morris
8dc71a257d
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-17 08:18:23 -04:00
Robert Morris
bc51626aab
try to handle a few of the possible out-of-memory errors in fork()
2020-08-17 08:18:23 -04:00
Robert Morris
a8dd44cf59
modify uvmunmap() to be in aligned pages
...
fix a bug in fork() recovering from out of memory
2020-08-17 08:18:23 -04:00
Frans Kaashoek
0502342335
Merge pull request #9 from d0iasm/riscv
...
update initcode to avoid using the compressed extension
2020-08-10 13:54:58 -04:00
Robert Morris
7f35d7a14e
modify each page in usertests countfree()
...
get rid of static for walk() and freewalk()
2020-08-10 11:19:10 -04:00
Robert Morris
1e72d5ca08
cpu->scheduler -> cpu->context to reduce confusion
2020-08-10 11:19:10 -04:00
Robert Morris
5494c91705
rename p->tf to p->trapframe, for consistency with p->context
2020-08-10 11:19:10 -04:00
Asami Doi
8b052656a0
update initcode to avoid using the compressed extension
2020-03-20 12:33:32 +09:00
Robert Morris
e7ffb74ad1
fix a potential memory leak
2019-10-27 13:36:46 -04:00
Robert Morris
2821d43cc9
nits
2019-10-16 12:27:08 -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
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
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
21ad8c76bc
A few now unused DOC
2019-08-19 18:12:19 -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
Robert Morris
cf48b24c03
beautify console.c
2019-07-27 04:15:06 -04:00
Robert Morris
ea95a6654c
trampin -> uservec
...
trampout -> userret
2019-07-26 04:53:46 -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
9a817bd134
rationalize some vm function names
2019-07-24 15:28:37 -04:00
Robert Morris
a77287e924
no more PAGEBREAK
2019-07-24 13:33:43 -04:00
Robert Morris
54178ad94d
simplify kernel mapping calls
2019-07-23 12:17:17 -04:00
Robert Morris
55bc96d419
a few core -> CPU
...
get rid of PDF generating support
2019-07-23 11:14:10 -04:00
Frans Kaashoek
6c78af4a57
fix mapkstack
2019-07-22 20:58:15 -04:00
Robert Morris
6b379e4707
-MD and TRAPFRAME
2019-07-22 14:54:40 -04:00