17 Commits

Author SHA1 Message Date
5c05866d5d
Added kill syscall 2022-02-14 14:37:48 +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
fc2c73225b
Updated ISR code to properly handle interrupts with error codes. Fixed bug where page faults would clobber the kernel stack 2022-01-09 12:10:57 +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
945bd8c2fa
Fixed bug in idt.cpp where context_switch would clobber eax 2021-11-29 09:15:23 +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
c10c3690a5
A huge amount of changes and additions. Added xnoe::Maybe, fixed xnoe::linkedlist and xnoe::linkedlistelem, fixed bug in Allocator::deallocate, update Process::allocate, implement Process::deallocate, fix operator delete, add Global namespace and Global::allocator, update new, delete, new\[\] and delete\[\], add AllocTracker, etc. Allocations now work how I want them to :D 2021-11-10 18:31:00 +00:00
2a68860bef
Made kernel C++ now 2021-10-21 23:19:36 +01:00