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
Nigel Barink2023-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)Nigel Barink2023-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
Nigel Barink2023-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.Nigel Barink2023-02-27 00:34:30 +0100
2d0bb16fadFixed up ACPI Version 1.0 checksum validation codeNigel Barink2023-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.Nigel Barink2023-02-26 13:44:41 +0100
61f1852420Added file reading without cluster chain followingNigel Barink2023-02-25 21:03:10 +0100
745656eb2dFixup C++ compiler path in makefile of CoreLib memcpy implementation addedNigel Barink2023-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)Nigel Barink2023-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 2005Nigel Barink2023-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 recordNigel Barink2023-02-21 21:43:14 +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.Nigel Barink2023-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 codeNigel Barink2023-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 mlibcNigel Barink2023-02-19 23:47:43 +0100
b07b4f0d38Moving certain aspects into their own static libraryNigel Barink2023-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.Nigel Barink2023-02-19 22:14:58 +0100
dbb147e110Primitie listing rootdir of FAT16 filesystemNigel Barink2023-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 classNigel Barink2023-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 ExceptionNigel Barink2023-02-17 21:52:03 +0100
c9a036bfbbRing 3 ready - Fixed issue with setting up the Task Segment RegisterNigel Barink2023-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 foldersNigel Barink2023-02-11 12:22:45 +0100
520104a43aMoved reading file from disk to its own super visor terminal commandNigel Barink2023-02-08 14:07:44 +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 scriptsNigel Barink2023-02-02 14:59:42 +0100
364d10d02esrc folder -> source folder; makes merging with dev a bit easier.Nigel Barink2022-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.Nigel Barink2022-09-03 17:38:22 +0200
16e2354019KERNEL: Moved serials test function into the test folderNigel Barink2022-09-03 17:27:41 +0200
59ba41f3d2Multiboot Memory Map get copied to a "safe" placeNigel Barink2022-08-23 21:35:19 +0200
5051b8903cDivided the kernel into seperate distinct phasesNigel Barink2022-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 configNigel Barink2022-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 folderNigel Barink2022-08-21 21:15:15 +0200
560dd64e64Kernel is working in its full former glory as a higher half kernelNigel Barink2022-08-19 23:44:38 +0200
6d946ddce3Struct defining the EXT2 filesystems superblockNigel Barink2021-12-23 17:44:27 +0100
9173b90eb1Structures added for MasterBootRecord supportNigel Barink2021-12-23 17:43:25 +0100
bd5d3f5d49Basic PIO ATA driver which can read and identify ata drivesNigel Barink2021-12-23 17:41:07 +0100
88cc1d75bbRe-enabled interrupts from keyboard, Enabled and configured the PIT to throw interrupts at a regular intervalNigel Barink2021-12-20 21:53:57 +0100
5fb55367caImplementation of simplistic physical memory managerNigel Barink2021-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 plusNigel Barink2021-11-03 20:03:38 +0100
5f39f7e7edMerge branch 'dev' into InterruptHandlingNigel Barink2021-11-02 21:56:57 +0100