6086b04054Added klog as a new logging system * The logging system sends the message to both VGA and serial * The serial print uses color to indicate the category of the message
DebugLogging
Nigel2023-10-28 22:28:21 +0200
9c5667c454Created a proper driver for the serial bus * The driver can write to any of the pre-defined serial COM ports * The driver can read from any of the pre-defined serial COM ports (Untested)Nigel2023-10-28 21:51:04 +0200
2522492835Couple of small changes * Commented out the map page function call to handle page not present * Mapped the ACPI_RECLAIMABLE_MEMORY * Set VBE to false when VBE is not initialized by the bootloader
dev
Nigel2023-10-27 18:32:03 +0200
5781f730d9Implemented the basis for syscalls A software interrupt with vector 0x50 will cause a syscall to start executing. The EAX register will hold the syscall_num. Other registers and the stack can be used to hold further arguments.Nigel2023-02-27 00:34:30 +0100
2d0bb16fadFixed up ACPI Version 1.0 checksum validation codeNigel2023-02-27 00:32:16 +0100
e6901f0526We can now open and read files on the harddisk through a messy virtual filesystem The uri has to contain 8.3 filenames for now as I have not yet figured out how to convert from that to regular filenaming for the name comparison.Nigel2023-02-26 13:44:41 +0100
61f1852420Added file reading without cluster chain followingNigel2023-02-25 21:03:10 +0100
745656eb2dFixup C++ compiler path in makefile of CoreLib memcpy implementation addedNigel2023-02-25 20:04:34 +0100
644ff5b1f5Adding subdir functionality Added FAT16 driver ability to list subdir entries Removed structure of FAT32 (we won't be using it anytime soon)Nigel2023-02-24 21:31:20 +0100
a77621faf5Shellscript improvement plus FAT driver implementations - Improved the run bash script to exit when an error occurs in one of the sub tasks - Wrote basic FAT16 functions that should give enough information to properly implement the rest of the driver - FAT structure namings are now in accordence with the microsoft spec of March 2005Nigel2023-02-23 23:54:02 +0100
50bf952a49Basic idea's are created for the storage solution - Added boot device info parsing to the kernel - Added a pointer in the kernel to our pre-kernel BootInfo structure - Created a layout for the FAT driver - Created a layout for the virtual filesystem - Separated IDE driver from the basic atapio driver. This will ensure we are not using one or the other - The create_harddrive shell script will now actually build a harddrive image of the kernel - The virtual filesystem initializes and creates a filesystem structure for every FAT16 partition in the master boot recordNigel2023-02-21 21:43:14 +0100
ef2bba5c1cStarted fleshing out the storage APINigel2023-02-21 14:36:20 +0100
81f7351fe6Created a few shell scripts to update and create an build of the Kernel/Operating System. A python script can be run to run the scripts in the correct order and immediatly try the build.Nigel2023-02-20 01:03:46 +0100
dea8ab7d71Improved build system Added new entries to .gitignore Moved away from source directory as central spot for all source codeNigel2023-02-20 00:29:06 +0100
2bcc79216eRemove mlibc submodule. The standarc C/C++ will use later on will be added later. It may or not be mlibcNigel2023-02-19 23:47:43 +0100
b07b4f0d38Moving certain aspects into their own static libraryNigel2023-02-19 23:38:32 +0100
94a2de3847Started on path resolution algorithm - The algorithm will work once I am of better mind to deal with raw C strings - The resolution should look at each entry divided by '/'. if the entry is not there then we can quit early, however for now I am mostly concerned with getting the names of directory entries we would need to look for.Nigel2023-02-19 22:14:58 +0100
dbb147e110Primitie listing rootdir of FAT16 filesystemNigel2023-02-19 14:17:47 +0100
37542b736fRemove cpu.h and cpu.cpp in favor of i386/processor.[h|cpp] Moving enable protected Mode to processor classNigel2023-02-17 22:01:32 +0100
490529099bStarted implementing the virtual file system - The FAT command is no longer available - At Startup the FileSystem initialise funciton is called, it should execute the same code as the FAT command did. - ACPI::initialise is commented out because it causes a ExceptionNigel2023-02-17 21:52:03 +0100
133c16cae7Added CPUID based checksNigel2023-02-17 16:27:36 +0100
ecab248cd6Clean up jump into RING 3Nigel2023-02-17 14:46:44 +0100
c9a036bfbbRing 3 ready - Fixed issue with setting up the Task Segment RegisterNigel2023-02-13 22:44:47 +0100
1f90a5d862Starting to move towards proper HAL and ring3 - slight clean up of PCI driver - Added TaskSegment header - Rename some foldersNigel2023-02-11 12:22:45 +0100
520104a43aMoved reading file from disk to its own super visor terminal commandNigel2023-02-08 14:07:44 +0100
7993a2d172Merge interrupts into devNigel2023-02-05 10:30:10 +0100
27e99fe4f2Merged FAT16 into DevNigel2023-02-03 21:47:05 +0100
891085e151Successfully able to create a disk-image file - Created a scripts folder - Written instructions on how to create the disk image - Working on a python build script that executes all other scriptsNigel2023-02-02 14:59:42 +0100
364d10d02esrc folder -> source folder; makes merging with dev a bit easier.Nigel2022-09-10 20:06:49 +0200
68371475d9Marking memory management features as done. Work still needs to be done but the bare minimum for memory management is there.Nigel2022-09-03 17:38:22 +0200
16e2354019KERNEL: Moved serials test function into the test folderNigel2022-09-03 17:27:41 +0200
a47879f404KERNEL: First Kernel heap implementationNigel2022-09-03 17:27:29 +0200
656ca0baa8KERNEL: Pre-kernel sets up the physical memory manager.Nigel2022-09-03 01:00:17 +0200
59ba41f3d2Multiboot Memory Map get copied to a "safe" placeNigel2022-08-23 21:35:19 +0200
5051b8903cDivided the kernel into seperate distinct phasesNigel2022-08-22 21:16:34 +0200
0f0fc9f252Adding a skeleton for the memory management code Moved the PMM away from being object orientated as it is just plain annoying renamed src folder to source Set timeout to 5 seconds in the grub configNigel2022-08-21 21:18:53 +0200
e70f56a005Improving the memory mapping boot code Removed the need to map the extra MBI structure in as a seperate pagetable Renaming / Restructuring the memory folderNigel2022-08-21 21:15:15 +0200
560dd64e64Kernel is working in its full former glory as a higher half kernelNigel2022-08-19 23:44:38 +0200
9436e6e033End of the day cleanup.Nigel2022-08-19 01:05:10 +0200
d280aa0584Page faults and protetion faults will now hang with a helpful message to explain what is going on.Nigel2022-08-19 00:44:52 +0200
7d6c823d79Basic Launch of Higher half kernelNigel2022-08-18 01:26:49 +0200
bbfea39c23Fixing include paths for new structure Removed non-sensical libc folder from projectNigel2022-08-17 14:57:50 +0200
3b3e2597a1Restructering Kernel folder before moving to higher half kernelNigel2022-08-17 14:29:26 +0200
0b0e37b762Paging cleanup, more cpu testing and psuedo code for higher half kernelNigel2022-08-17 14:17:58 +0200
388ac8e7f9Added checks to be sure paging is actually enabled on the cpu.Nigel2022-08-16 19:06:16 +0200
3a87b74224Renaming/Moving stuff into a different file structureNigel2021-11-16 13:57:15 +0100
32909aaed9GDT is running againNigel2021-11-06 21:56:42 +0100
5fb55367caImplementation of simplistic physical memory managerNigel2021-11-06 16:27:13 +0100
d79fc6e8e2Split up boot.s into multiple assembly definitions, Started page frame allocator implementation, kterm definition is now considered c plus plusNigel2021-11-03 20:03:38 +0100
5f39f7e7edMerge branch 'dev' into InterruptHandlingNigel2021-11-02 21:56:57 +0100