|
fafae757e1
|
Miscellaneous changes and fixed (I think?) virtual 8086 mode
|
2025-01-08 18:46:58 +00:00 |
|
|
b00f6d6217
|
Added multiple threads per process
|
2022-06-18 17:45:16 +01:00 |
|
|
f3b1bfc5ef
|
Added VFS, updated DevFS, Added SysFS
|
2022-06-18 15:41:32 +01:00 |
|
|
437c78d374
|
Fixed sleep
|
2022-06-18 15:12:20 +01:00 |
|
|
fdb77277a7
|
Renamed Maybe to maybe. Moved tracking of filehandlers to be per-process rather than global. Various improvements to code.
|
2022-06-18 11:42:09 +01:00 |
|
|
da5fc52afe
|
Updated the KernelInformationStruct, added BGA (Bochs Graphics Extensions) mode termimal, added new system calls to get terminal width. Updated world.bin to calculate sizes. Fixed a bug where GetExhaustive would crash when given a completely null path. Started work on V86 for VBE support.
|
2022-05-16 09:57:09 +01:00 |
|
|
6339b3e4bd
|
Added spinlocks
|
2022-04-15 21:10:10 +01:00 |
|
|
dc2fe698a3
|
Added oneshot timer functionality. Added sleep function. Added proper tracking of physical pages allocated. Made the 0th page invalid. Fixed a 4KiB memory leak when destroying processes. Fixed scrolling colour in terminal.cpp
|
2022-04-15 16:15:51 +01:00 |
|
|
0fc40ad5e4
|
Add system calls for more file system related functionality. Add ls command to world.c. Remove and reorganise certain source code files. Update terminal to no longer have two copies of ANSI escape code handling between write and printf. Massively simplify my printf function. Combine io and ioports.
|
2022-04-12 03:42:13 +01:00 |
|
|
8f4382793c
|
Fixed spelling mistake
|
2022-04-09 00:31:08 +01:00 |
|
|
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 |
|