296 Commits

Author SHA1 Message Date
765598c80c
support multiple UART interfaces 2023-11-09 21:16:55 -07:00
49584f0f26
extract device drivers into new module 2023-11-09 21:03:21 -07:00
9693d83bde
finish arch 2023-11-09 20:55:46 -07:00
8edb4c2427
arch trap 2023-11-09 20:48:10 -07:00
cbea3a19f4
arch mem 2023-11-09 20:24:58 -07:00
934dc13f96
arch cpu_id 2023-11-09 19:02:16 -07:00
1e12ccddb3
arch power 2023-11-09 18:56:39 -07:00
b64809e9b5
move start and timer into arch 2023-11-09 18:49:52 -07:00
d3d9526ffa
restructure interrupt handling to be architecture-specific 2023-11-09 18:29:34 -07:00
33e1f3d318
update readme and license 2023-11-06 23:39:16 -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
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