50b6016144
either_copyin and either_copyout
2023-11-12 13:47:22 -07:00
c39b98dd02
proc_mapstacks
2023-11-12 13:35:43 -07:00
320180764f
procinit in rust
2023-11-12 13:22:22 -07:00
42a3ff4c24
procdump
2023-11-04 17:17:03 -06:00
54753062e4
rename Process member fields and remove name
2023-11-03 21:54:51 -06:00
954db4c998
wakeup
2023-11-03 21:11:07 -06:00
8dc10d24f0
wait
2023-11-03 21:05:01 -06:00
0a1e889d54
scheduler
2023-11-03 20:45:16 -06:00
a168c989cf
exit
2023-11-03 20:36:10 -06:00
badd35b3f9
fork()
2023-11-03 20:14:57 -06:00
6342f66cd3
proc_pagetable and proc_freepagetable
2023-11-03 19:59:21 -06:00
1c3e73ba3f
implement allocproc in rust
2023-11-03 19:43:40 -06:00
bae37aa507
move nextpid into atomic i32 in rust
2023-11-03 18:48:55 -06:00
ec9c0cbe4d
move cpu-related functions into associated methods of the Cpu struct
2023-11-03 17:57:06 -06:00
fa9daf279b
remove unnecessary "extern "C"" annotations
2023-10-31 15:28:28 -06:00
9f10ec36b3
move things around
2023-10-21 23:24:33 -06:00
29878e42e6
changes
2023-10-16 17:28:59 -06:00
709ec3a50f
Rewrite spinlock.c
2023-10-15 12:51:16 -06: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