/** * 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 (;;) { } }