Over the past week I have found some insane motivation for working on my OS kernel. In the past, I have developed my bootloader and a simple kernel entry point, but progress since that point has been scarce. Over the past few weeks however, I have managed to incorporate a hardware abstraction layer (HAL), kprint functions, hardware assisted random number generation, and a partial port to PowerPC. Specifically, the progress timeline looks something like this:
Version 0.00a0 (x86)
Created bootloader hook into
kmain
Created memcpy and memset functions
Created Ant build
script
Version 0.00a6 (x86)
Created preliminary HAL
hooks for text video access including hadrware cursor control, clear
screen, and putc
Built kernel-level putc calling HAL_putc and test
calls
Created std_args macros
Version 0.00a9 (x86)
Created preliminary kprintf
handling %s, %c, and %% flags
Put together the first cut HAL
prototypes for interrupts, memory, cpu, and crypt
Version 0.00b4 (x86)
Added kprintf handling
for %d, %i, %u, and %x
Version 0.00b6 (x86/ppc)
Created first-cut at ppc
bootloading using an explicit load from OpenFirmware. The base kernel
runs, but I have not filled in the video HAL operations, so it is a bit
of a hack at the moment
Upcomming Version Todo
Finish kmalloc and
kfree
Implement a kernel-level entropy pool and access
functions
Get the full HAL ported to ppc
If anyone is interested in checking out the latest version, then email me and I will send a disc image.
-m