41 lines
842 B
D
41 lines
842 B
D
/**
|
|
* HULK, the HOS Ultra Light Kernel.
|
|
*/
|
|
module hulk.hulk;
|
|
|
|
import hulk.header;
|
|
import hulk.bootinfo;
|
|
import hulk.fb;
|
|
import hulk.console;
|
|
import hos.memory;
|
|
import ldc.attributes;
|
|
import hulk.kfont;
|
|
import hulk.klog;
|
|
|
|
extern extern(C) __gshared ubyte _hulk_total_size;
|
|
|
|
@(ldc.attributes.section(".hulk_header"))
|
|
private __gshared Header hulk_header = {
|
|
&_hulk_total_size,
|
|
&hulk_start,
|
|
};
|
|
|
|
/**
|
|
* HULK entry point.
|
|
*
|
|
* @param bootinfo Pointer to HULK boot information structure.
|
|
*/
|
|
extern(C) void hulk_start(ulong rdi, ulong rsi, ulong rdx, BootInfo * bootinfo)
|
|
{
|
|
fb.initialize(bootinfo.fb.buffer, bootinfo.fb.width, bootinfo.fb.height, bootinfo.fb.stride);
|
|
console.initialize();
|
|
console.clear();
|
|
klog.initialize();
|
|
|
|
klog.writefln("Welcome to HULK, the HOS UltraLight Kernel!");
|
|
|
|
for (;;)
|
|
{
|
|
}
|
|
}
|