77 Commits

Author SHA1 Message Date
7ed9dd7cc3
Merge branch 'master' of pterpstra.com:mikros/kernel 2025-03-08 10:53:09 -06:00
c265e452c5
Format 2025-03-08 10:52:57 -06:00
eb24bb854e
Configure PAT to allow use of WC cache 2025-03-08 10:49:22 -06:00
5f7c6f4183
Unify PID and TID together in a new type 2025-03-06 12:09:03 -06:00
bf5b289359
Clippy fix 2025-03-06 11:27:17 -06:00
e753cd09b0
Format 2025-02-28 10:28:43 -06:00
9cbe50e9be
Lazily save and restore FPU state as needed 2025-02-27 11:25:27 -06:00
cc18a3f7f0
Enable hardware floats and save on every context switch 2025-02-27 10:54:38 -06:00
c0d0ad5a1e
Gate text IPC dumps behind a feature and log them to port 2 2025-02-26 13:48:03 -06:00
1c8540d851
IPC dissecting initial start 2025-02-25 22:00:26 -06:00
ab0c22ecc9
Fix thread delay sleeping 2024-11-28 21:52:52 -06:00
f81452f431
Add thread_sleep and mutex_lock_timeout syscalls 2024-11-28 20:59:20 -06:00
a4a8bf0152
Keep track of # of clock ticks and bump PIT freq to 1kHz 2024-11-28 14:04:38 -06:00
7284cef45a
Add mutexes 2024-11-28 13:40:23 -06:00
dceb0768c2
Add TLS key support 2024-11-28 11:27:07 -06:00
d7e3c619cd
Add thread exit and join 2024-11-28 10:13:16 -06:00
60cdc65071
replace as with safer cast in tasking.rs 2024-11-28 09:37:48 -06:00
e469ad705a
exit now marks all threads as exited 2024-11-28 09:37:13 -06:00
5f1274dd39
Add thread support and thread spawn syscall 2024-11-27 17:52:16 -06:00
98f665298c
Format 2024-11-25 11:06:15 -06:00
ac14b4ac2a
Justify unwrap added in previous commit 2024-11-25 11:05:42 -06:00
87df5e76f2
Change IPC to have kernel keep track of source 2024-11-25 10:32:08 -06:00
ef81ca1a6c
Change current addeess space to be index u64::MAX instead of 0 2024-11-24 16:29:02 -06:00
ea4d9a7784
Clean up code and fix unwrap/expect lints 2024-11-24 16:21:17 -06:00
f0c6432740
Make send_ipc syscall use send_ipc_to function 2024-11-17 22:02:18 -06:00
e4782341b0
Clean up unused imports and put IPC logging behind a feature 2024-11-16 12:08:25 -06:00
0fcdbbd363
Do not add brand new process to ready to run list 2024-11-10 10:21:23 -06:00
c4d9bb128a
Remove handling of CLI arguments 2024-11-09 21:41:56 -06:00
b3cc54fddf
Move proc_man exit call into kernel 2024-11-08 14:51:40 -06:00
fb58d2c7c4
Format 2024-11-08 14:13:27 -06:00
50e7b7236e
Make clear_exited_pid work on running processes 2024-11-08 14:13:13 -06:00
4548d9540e
Use naked_asm instead in naked functions 2024-11-07 15:23:17 -06:00
7e620c574e
Integrate with proc_man - report new processes and keep zombie PIDs 2024-11-03 11:04:47 -06:00
cc66935c85
Update Cargo.lock 2024-10-04 12:37:31 -05:00
0e6ce349fa
Make new processes start sleeping 2024-09-23 13:25:37 -05:00
0abfd39522
Make task_yield and exit use a loop instead of a tail call (manual TCO) 2024-09-23 13:25:15 -05:00
499de08b62
Wait for interrupts on last nonsleeping process exit 2024-09-20 16:10:25 -05:00
01187de0cf
Remove old unused virtual_memory/hole.rs file 2024-09-13 14:31:16 -05:00
fc8c2c5748
Add basic support for sending messages to processes on IRQs 2024-09-11 10:14:55 -05:00
1885db4b67
Undo the framebuffer output - it was temporary 2024-09-09 10:01:02 -05:00
12cbeb594f
Optimise screen output and group writer state into a struct 2024-09-06 13:23:14 -05:00
7ec14819c1
Print userspace serial output to the screen 2024-09-06 10:46:49 -05:00
d4df5b53ff
Switch to a bump allocator for user virtual memory allocations 2024-09-06 10:46:11 -05:00
07393d8c71
Show argv[0] when printing process memory usage 2024-09-06 10:45:48 -05:00
3b2cf8bbb5
Disable IPC logging to serial port 2024-09-06 10:44:44 -05:00
01a0ee9631
Restore eh_frame.ld 2024-09-06 10:43:23 -05:00
a9fff5e145
Remove unnecessary task_force_unlock 2024-08-18 15:24:05 -05:00
8b949ba1f1
Explain task_init 2024-08-18 15:21:45 -05:00
b9097759c8
Remove unneccessary cargo config and eh_frame.ld 2024-08-17 20:28:22 -05:00
ee21dc66fd
Reduce kernel stack size to save memory 2024-08-17 19:45:01 -05:00