|
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 |
|
|
2dcf083763
|
Properly print out the e820 entry types. Make kernel_directory and kernel_page_tables available to all. Add a memory unmap function. Update Makefile.
|
2021-10-18 13:50:50 +01:00 |
|
|
b117dee07b
|
Hopefully fix compilation error encountered on Debian 10 GCC
|
2021-10-13 12:13:51 +01:00 |
|
|
f9d7581cec
|
Set C standard to gnu11
|
2021-10-13 12:01:57 +01:00 |
|
|
4a44a8030d
|
Hopefully fix compilation error encountered on Debian 10 GCC
|
2021-10-13 11:56:52 +01:00 |
|
|
74b7d7c58c
|
Added .editorconfig
|
2021-10-12 21:44:52 +01:00 |
|
|
f44d4ad768
|
Fixed bug in GDT length calculation in bootloader. Kernel now loads its own GDT so it doesn't clobber itself while touching memory. ATAPIO now loads its own copy of the boot sector so it isn't reliant on 0x7000 being mapped. Removed debug printf statements from a lot of places.
|
2021-10-12 21:41:31 +01:00 |
|
|
e2bb3ff634
|
The kernel is now actually useable with paging enabled.
|
2021-10-12 00:53:02 +01:00 |
|
|
1225529708
|
Fixed paging fully now. Kernel is loaded with virtual memory enabled. Just need to write an allocator and make kernel use virtual memory addresses for its stuff. Restructured codebase to be less messy. Updated Makefile to put binary files under build/ rather than in root directory
|
2021-10-11 20:47:04 +01:00 |
|
|
6328062d4f
|
Fixed structs for PDEs and PTEs, got Qemu now properly maps virtual addresses to physical addresses, still triple faults on but I'm getting closer to getting it fixed.
|
2021-10-11 14:02:04 +01:00 |
|
|
65b8e7773e
|
Added initial paging support.
|
2021-10-11 12:26:11 +01:00 |
|
|
e9f610d4aa
|
Memory bitmap generated
|
2021-10-10 20:19:09 +01:00 |
|
|
7469925ef4
|
Added e820 to boot.asm
|
2021-10-10 17:05:57 +01:00 |
|
|
010ea7eb1d
|
Fixed bug with capitalisation
|
2021-09-25 17:51:18 +01:00 |
|
|
c235befa43
|
Completely changed how XnoeOS boots, organised the code somewhat, renamed kernel32 to kernel, now uses the 9 sectors after the boot sector to store a 32 bit stage2 loader. No longer spends unnecessary time in real mode. Updated atapio to properly account for the reserved sector count.
|
2021-09-25 16:31:19 +01:00 |
|
|
d617de6a0c
|
Moved some files around in preparation for completely changing the way that booting works
|
2021-09-23 15:09:06 +01:00 |
|
|
2c4c76d1e7
|
Added filename decoding to strings
|
2021-09-07 10:46:09 +01:00 |
|
|
ec314d7b1b
|
We can now read from the disk in protected mode
|
2021-09-06 21:32:02 +01:00 |
|
|
b2e2cdb19b
|
Add inw and outw commands in preparation for ATA-PIO support
|
2021-09-06 17:34:48 +01:00 |
|
|
c803f4a38e
|
Added single split function, added error message to kernel32
|
2021-09-06 15:52:12 +01:00 |
|
|
290794b885
|
Add string manipulation functions. Update Makefile accordingly. Add echo command to kernel32.
|
2021-09-06 15:36:44 +01:00 |
|
|
26d231a7c9
|
Set BPB data from the BIOS, properly support loading data from sectors >63, calculate CHS addressing properly. Calculate certain important values rather than harcoding them.
|
2021-09-06 15:35:37 +01:00 |
|
|
8f1e13e749
|
Added caps lock support to readline
|
2021-09-03 12:02:37 +01:00 |
|
|
d9d3abbf62
|
Moved IDT code wholely to idt.c, add keyboard read support, add readline function, updated Makefile accordingly.
|
2021-09-02 20:59:15 +01:00 |
|
|
a184efbc9f
|
Added non_moving_put, fixed bug with int_to_ functions that would cause them to not properly convert "0" to a string. Added character printing to printf
|
2021-09-02 20:58:34 +01:00 |
|
|
b660fa1a0b
|
We can now receive interrupts
|
2021-09-02 18:38:00 +01:00 |
|
|
03e7647fc6
|
Updated Makefile, started splitting code in to multiple pieces.
|
2021-09-02 16:29:07 +01:00 |
|
|
a4d1679723
|
Added primitive printf implementation, can print decimal ints, hex ints and strings
|
2021-09-02 15:09:21 +01:00 |
|
|
76e61b1d71
|
Linker script now makes use of kernel32_strap.asm in order to ensure that we enter the correct position in kernel32.bin, updated kernel32.ld, Makefile, etc accordingly. Added types.h for convenience.
|
2021-09-02 12:46:14 +01:00 |
|
|
1905f3babd
|
kernel32.bin is now written in C, make necessary modifications to Makefile, .gitignore, boot32.asm, etc to get this working
|
2021-08-31 22:50:10 +01:00 |
|
|
07ef9774c2
|
Added program to enter load kernel32.bin, enter Protected Mode, and then execute kernel32.bin
|
2021-08-31 21:35:16 +01:00 |
|
|
79fa2e4e60
|
Updated kernel to process all input as upper case
|
2021-08-31 14:31:35 +01:00 |
|
|
d9cc9a2fb6
|
Updated kernel and programs so that the segment in which programs are loaded and executed from is no longer fixed and is specified by the kernel
|
2021-08-31 12:15:23 +01:00 |
|
|
514f07e009
|
Updated kernel to allow for inter-segment calls to functions. Use Unix Line Endings for the print function
|
2021-08-30 09:11:31 +01:00 |
|
|
a33c25d744
|
Added programs to properly test inter-segment file read and write
|
2021-08-30 08:11:11 +01:00 |
|
|
703a23dfab
|
Removed very broken and bad code that could've corrupted memory in other segments, updated hello.asm accordingly
|
2021-08-30 07:26:54 +01:00 |
|
|
df9f175662
|
Modified load_file to work directly from the stack
|
2021-08-30 07:02:01 +01:00 |
|
|
14fcc32d79
|
Added interrupt handler
|
2021-08-29 21:50:27 +01:00 |
|
|
fa15c6f6d9
|
Added ability for kernel to load files from disk and execute them
|
2021-08-29 17:09:08 +01:00 |
|
|
3e288a821e
|
Added program to test loading other programs from disk
|
2021-08-29 16:23:27 +01:00 |
|