Commit Graph

42 Commits

Author SHA1 Message Date
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
127b95f838
Cleanup 2024-08-17 16:46:09 -05:00
84e0a4d593
Don't preallocate L4 kernel entries and copy them when necessary instead 2024-08-17 16:45:04 -05:00
9b7e36056a
Use bootloader provided initrd instead of copying it 2024-08-17 16:28:00 -05:00
3ef75dcfbc
Merge unmap and unmap_and_free by using free on exit flag in mappings 2024-08-17 15:51:54 -05:00
e805a2de0c
Move kernel buffers to the per-process address spaces 2024-08-17 15:19:24 -05:00
f258f4ed71
Fix drop_table not dropping L1 tables and make it drop allocated memory 2024-08-17 09:35:43 -05:00
4d908f1335
Track kernel buffers per-process 2024-08-16 20:03:00 -05:00
75814f3589
Track allocations per-address space instead of per-process 2024-08-16 19:23:31 -05:00
899fde8218
Work (better mem tracking, mpfrt/mpcntphys syscalls, shared initrd, tasking internal locks) 2024-08-16 17:36:44 -05:00
5558fa427b
Format code 2024-08-06 18:58:26 -05:00
1ceb2e1607
Convert \n to \r\n on serial output 2024-08-06 18:39:57 -05:00
f7c5b3aad4
panic! now properly kernel panics instead of aborting the current process 2024-08-06 18:39:11 -05:00
dcf82e0b32
Gracefully fail if QEMU does not exit 2024-08-06 18:34:34 -05:00
fcf672a969
Add support for process command-line arguments 2024-07-21 10:56:43 -05:00
49e71b1555
Restrict usage of panicking code and require justification for panics 2024-07-14 10:45:40 -05:00
40a3a2c3b4
Format code 2024-07-07 14:37:21 -05:00
e2d248b609
Fix virtual_memory::drop_table freeing each mapping frame multiple times 2024-07-07 08:06:15 -05:00
a98324c3b4
Switch to a buddy allocator for physical memory 2024-07-07 08:03:33 -05:00
3b157a6573
Count allocated and freed bytes in the kernel heap 2024-07-07 08:01:09 -05:00
e79d426fb0
Dump IPC messages to serial port #2 as a pcapng file 2024-07-07 07:59:27 -05:00
ff990d38f9
Print a message when all processes are sleeping after a yield 2024-06-09 18:44:40 -05:00
f81d1dd2ba
Use a queue instaed of a stack to schedule processes 2024-06-09 18:44:12 -05:00
1376aa5f44
Add suuport for sleeping processes and a syscall to sleep waiting for IPC 2024-06-08 06:54:53 -05:00
8bbc165e58
Work 2024-06-08 06:50:58 -05:00
8fd2b83b40
Commit work 2023-09-29 15:44:53 -05:00
bf09798825 Clean up code and fix 0 being a valid addr space index 2022-11-08 10:43:13 -06:00
1995cf9337 Initial commit 2022-11-01 07:24:50 -05:00