286 Commits

Author SHA1 Message Date
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
3de7d1c829
move growproc to assoc fn 2023-11-03 19:23:31 -06:00
87b00c924f
extract scheduler functions into new module 2023-11-03 19:14:38 -06:00
71f9a49704
rename Proc to Process 2023-11-03 19:05:26 -06:00
791b68aaa7
move free to assoc. function 2023-11-03 18:55:55 -06:00
bae37aa507
move nextpid into atomic i32 in rust 2023-11-03 18:48:55 -06:00
50448eb307
move process killing to associated functions 2023-11-03 18:44:03 -06:00
0e753e8ba5
implement myproc as an associated function of the Proc struct 2023-11-03 18:31:07 -06:00
73e3ab9ebc
rewrite to remove Cpu::current_raw() 2023-11-03 18:03:48 -06:00
ec9c0cbe4d
move cpu-related functions into associated methods of the Cpu struct 2023-11-03 17:57:06 -06:00
87caccf623
separate proc.rs into multiple modules 2023-11-03 17:44:27 -06:00
4cb940606c
fix clippy lint errors 2023-10-31 17:32:24 -06:00
6e5520f481
rewrite more syscalls 2023-10-31 17:29:50 -06:00
f0c0f26beb
refactor pipe.rs 2023-10-31 16:12:40 -06:00
fa9daf279b
remove unnecessary "extern "C"" annotations 2023-10-31 15:28:28 -06:00
ac33c19b5f
move riscv module into arch module 2023-10-30 21:22:19 -06:00
6d9a0a34e1
use mutex instead of static mut spinlocks 2023-10-30 19:51:08 -06:00
d46c341aaf
use Mutex instead of Spinlock 2023-10-30 19:35:13 -06:00
bc8aa35180
add generic Lock struct and println macro 2023-10-30 19:15:58 -06:00
b3be1f8d47
Implement basic queue type for convenience 2023-10-30 18:03:19 -06:00
6a41a4e8b8
rewrite pipe.c 2023-10-30 16:45:02 -06:00
a240d29135
Make UART good 2023-10-29 15:25:17 -06:00
585da48917
Move sleep_lock and sleep_mutex functionality as methods of Spinlock and SpinMutex 2023-10-29 14:45:47 -06:00
9f23b68c00
Refactor sleeplock to remove raw pointers 2023-10-29 14:12:17 -06:00
36d7724fb8
Rewrite spinlock to remove raw pointers 2023-10-29 13:57:23 -06:00
41b7bc7555
Add guards for log operations and inode locking 2023-10-28 22:31:29 -06:00
9b7eb552d0
Rewrite file.c into fs::file 2023-10-28 22:16:35 -06:00
dd9cf556cb
Rewrite vm.c in mem::virtual_memory. 2023-10-28 20:28:37 -06:00
a1f88ff034
Move push_off()/pop_off() into trap.rs and rename to push_intr_off() and pop_intr_off() 2023-10-28 16:17:14 -06:00
c593250549
upgrade panic info 2023-10-22 15:21:07 -06:00
2d51463c56
restructure makefile into multiple files 2023-10-22 13:44:37 -06:00
16924f75fd
Add shutdown syscall and program 2023-10-22 11:18:07 -06:00
9f10ec36b3
move things around 2023-10-21 23:24:33 -06:00
d06d271c9e
rename sleep to sleep_lock 2023-10-21 22:44:06 -06:00
38e44e020b
implement guards for spinlock and sleeplock 2023-10-21 22:13:46 -06:00
f468ba9e48
restructure sleeplock.rs 2023-10-21 21:56:23 -06:00
548be7daea
rename spinlock.lock() to spinlock.lock_unguarded() 2023-10-21 21:42:02 -06:00
de4815dd5e
rewrite virtio_disk.h 2023-10-21 21:32:37 -06:00
572545cb8f
rewrite trap.c 2023-10-20 17:45:34 -06:00
96cfda564c
make a spinmutex (and other things) 2023-10-20 16:29:26 -06:00
29878e42e6
changes 2023-10-16 17:28:59 -06:00
9c3dc94bd7
Implement all asm instructions in riscv.h 2023-10-15 13:16:35 -06:00