16 Commits

Author SHA1 Message Date
232e333a62
Added VGA Mode Terminal. Updated context_switch and isr.S.base to perform the actual context switch during catchall_return. Program the PIT properly. Implemented timed events. Updated process.cpp. Added a font. Fixed bug in CircularRWBuffer. 2022-02-20 11:30:39 +00:00
2f2a7a3e45
Added file reading via filehandlers. Added support for directories. Processes are now created using filehandlers. 2022-01-19 16:51:37 +00:00
73c0fe429f
Add ability for other processes to bind to eachother's stdin and stdout. Add PoC for this functionality 2022-01-17 19:43:13 +00:00
55a5bea35a
Update keyboard driver, add start of file handlers, stdio. 2022-01-13 13:36:24 +00:00
2825c1ff5e
Move to own ISR solution rather than using GCC ISRs. Lots of changes to accomodate that. 2021-12-17 14:00:52 +00:00
57768784a6
Fixed context_switch's handling of the processes linked list, update idt.cpp to add getPID syscall, update memory.cpp to fix but where find_next_available_from would incorrectly return invalid memory locations 2021-12-08 18:49:25 +00:00
02e0bcd70e
Finalise mvoe to Ring 3, add separate kernel stacks for each process, correctly switch between those kernel stacks within context_switch, etc 2021-12-07 22:04:53 +00:00
2ecc53ee91
Moved processes to be in ring 3 2021-12-02 19:36:52 +00:00
a9ec673b24
Implemented necessary changes for Process destruction. Processes clean up their memory when deleted. 2021-12-01 17:05:46 +00:00
5d4454e57a
Remove debug code from terminal.cpp. Update kmain, update world.c, update process.cpp to construct the initial value of EBP correctly. 2021-11-27 15:56:35 +00:00
d6c1cc1869
Fix bug in terminal.cpp where it would use incorrect pointers in scroll_up, removed old debug code from kmain.cpp, kernel.cpp no longer appends itself to the process list, update process.cpp to take a filename when constructing a new process. Update idt.cpp to plug context_switch in to int 0x20 (IRQ0) 2021-11-27 13:11:44 +00:00
0bb88e4da8
Add system calls, update keybaord, add Terminal* field to kernel. Update process.cpp to load a program called program.bin from disk rather than hardcoding data 2021-11-27 02:32:28 +00:00
ed67adc9c9
Updated kernel to now have its stack past 0xc0000000. Implemented context switching. 2021-11-26 20:20:15 +00:00
2dd799b406
Preparations towards context switching 2021-11-21 16:56:50 +00:00
bfa3f3030f
Initial work on dynamically creating Processes in preparation for implementing context switching 2021-11-12 00:30:10 +00:00
01fef9d947
Rename kernel.cpp to kmain.cpp, update Makefile and kernel.ld 2021-11-11 21:55:04 +00:00