|
bb69d6b713
|
Update how syscalls accept arguments in registers, change how syscalls are defined in common.c and common.h
|
2022-04-08 18:00:56 +01:00 |
|
|
7e5f20ef66
|
Added sleep syscall
|
2022-04-08 02:01:25 +01:00 |
|
|
c2f857fc88
|
Removed extra directories
|
2022-04-08 00:49:26 +01:00 |
|
|
edd6e82c2c
|
Remove old boot_stage2 directory
|
2022-04-06 20:59:33 +01:00 |
|
|
a0d0454e32
|
Moved to a new Filesystem, ATA and FAT16 driver.
|
2022-04-06 14:46:47 +01:00 |
|
|
ed34174d68
|
Rename boot_stage2 to bootstage2
|
2022-03-04 20:25:17 +00:00 |
|
|
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 |
|
|
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 |
|
|
2bbc81955d
|
Updated program linker scripts to have link beginning at 0x20 rather than 0x8020. Program binary is now the first thing allocated.
|
2022-01-19 12:19:52 +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 |
|
|
aba8a0a8c9
|
Updated boot_stage2.ld
|
2021-12-17 14:00:17 +00:00 |
|
|
3d3b4fe884
|
Improved Makefile
|
2021-12-17 13:59:50 +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 |
|
|
ca131c71e8
|
Updated hello.c to print the program's PID. Add getPID syscall.
|
2021-12-08 18:48:24 +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 |
|
|
cd56b924e1
|
Correctly mark 0x8a000 + 0x6000 as unavailable, mark the vm_bitmap area as unavailable. Fixed a few comments.
|
2021-12-07 22:04:21 +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 |
|
|
b7566ef777
|
Fixed major bug in hashtable.h that caused the hashtable to not actually store any data
|
2021-12-01 17:05:17 +00:00 |
|
|
b879ae1e92
|
Updated world.c to now take user input and print it back to the user when they press enter
|
2021-11-29 10:11: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 |
|
|
bfa648d96b
|
Moved syscall related code to common. Add hello.c and world.c in preparation for testing pre-emptive multitasking
|
2021-11-27 13:10:20 +00:00 |
|
|
c84a3ffdea
|
Add XnoeOS's first non-kernel program. Test systemcalls
|
2021-11-27 02:32:43 +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 |
|
|
15ca13a985
|
Update atapio.cpp to use new rather than dumb_alloc, add file_size
|
2021-11-27 02:31:23 +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 |
|
|
b79ae4ec95
|
Updated Hashtable to use xnoe::Maybe, fixed many bugs within hashtable, updated hash
|
2021-11-21 16:40:16 +00:00 |
|
|
f581e6b6fe
|
Completely overhauled how GDT is defined to make it much easier to add more entries to the GDT in the future
|
2021-11-21 16:39:31 +00:00 |
|
|
760069bbb9
|
Updated Makefile to allow debugging. Update gitignore.
|
2021-11-12 00:51:45 +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 |
|
|
0f5e080e15
|
Reorganised some code. Moved new/delete out of process
|
2021-11-11 21:52:51 +00:00 |
|
|
e06d98b22a
|
Add teminal. Update strings. Update screenstuff.
|
2021-11-11 20:47:08 +00:00 |
|
|
ea62dcddfa
|
Update README. Remove debug code.
|
2021-11-10 22:44:22 +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 |
|
|
4a271865e0
|
Update data types. Update Makefile. Update kernel. Implement Process::allocate.
|
2021-10-28 14:14:36 +01:00 |
|
|
768ceddef0
|
Add hash. Add hashtable. Add linkedlist. Separate Process. Begin work on Process. Update memory. Update tuple. Update Makefile.
|
2021-10-27 23:21:37 +01:00 |
|
|
b4375d1269
|
Initial version of Allocator complete. Added new, delete, new\[\] and delete\[\]. Preparations for Process and Kernel made
|
2021-10-25 20:59:49 +01:00 |
|
|
e6e156e255
|
Implement Allocator. Add virtual page map. Fix PageMap class.
|
2021-10-25 16:29:53 +01:00 |
|
|
f2e09e98a7
|
Started work on Allocator class. Update PageMap
|
2021-10-25 01:13:29 +01:00 |
|
|
9c887a3a50
|
Began the process of moving XnoeOS to using more OOP constructs. Added PageDirectory class. Added PageTable class. Added tuple data type. Added beginnings of the skeleton for Allocator and Process.
|
2021-10-23 01:34:54 +01:00 |
|
|
2a68860bef
|
Made kernel C++ now
|
2021-10-21 23:19:36 +01:00 |
|
|
cd8bd42ebb
|
Kernel now handles page faults.
|
2021-10-21 22:06:27 +01:00 |
|