void * initializeKernelBinary()
{
	void * moduleAddresses[] = {
		sampleCodeModuleAddress,
		sampleDataModuleAddress
	};
	loadModules(&endOfKernelBinary, moduleAddresses);
	clearBSS(&bss, &endOfKernel - &bss);

	clearFullScreen();
	klog("Modules loaded.\n");
	return getStackBase();
}
Пример #2
0
void * initializeKernelBinary()
{
	char buffer[10];

	ncPrint("[x64BareBones]");
	ncNewline();

	ncPrint("CPU Vendor:");
	ncPrint(cpuVendor(buffer));
	ncNewline();

	ncPrint("[Loading modules]");
	ncNewline();
	void * moduleAddresses[] = {
			sampleCodeModuleAddress,
			sampleDataModuleAddress
	};

	loadModules(&endOfKernelBinary, moduleAddresses);
	ncPrint("[Done]");
	ncNewline();
	ncNewline();

	ncPrint("[Initializing kernel's binary]");
	ncNewline();

	clearBSS(&bss, &endOfKernel - &bss);

	ncPrint("  text: 0x");
	ncPrintHex((uint64_t)&text);
	ncNewline();
	ncPrint("  rodata: 0x");
	ncPrintHex((uint64_t)&rodata);
	ncNewline();
	ncPrint("  data: 0x");
	ncPrintHex((uint64_t)&data);
	ncNewline();
	ncPrint("  bss: 0x");
	ncPrintHex((uint64_t)&bss);
	ncNewline();

	ncPrint("[Done]");
	ncNewline();
	ncNewline();
	return getStackBase();
}
Пример #3
0
void * initializeKernelBinary()
{
	void * moduleAddresses[] = {
		consoleAddress,
		dataAddress
	};
	clear_screen();
	print_msg("KERNEL\n\n", GREEN, BLUE);
	
	print_msg("Loading modules... \n", GREEN, BLUE);
	loadModules(&endOfKernelBinary, moduleAddresses);
	print_msg("Done\n", GREEN, BLUE);
	print_msg("Clearing Kernel's bss... ", GREEN, BLUE);
	clearBSS(&bss, &endOfKernel - &bss);
	print_msg("Done loading modules\n", GREEN, BLUE);

	print_msg("Setting up stack...\n", GREEN, BLUE);

	return getStackBase();
}
Пример #4
0
void * initializeKernelBinary() {

	load_kernel_modules();

	clearBSS(&bss, &endOfKernel - &bss);


	video_initialize();
	video_clear_screen();

	video_write_line("[x64BareBones]");

	video_write_string("  text: 0x");
	video_write_hex((uint64_t)&text);
	video_write_nl();

	video_write_string("  rodata: 0x");
	video_write_hex((uint64_t)&rodata);
	video_write_nl();

	video_write_string("  data: 0x");
	video_write_hex((uint64_t)&data);
	video_write_nl();

	video_write_string("  bss: 0x");
	video_write_hex((uint64_t)&bss);
	video_write_nl();

	video_write_line("[Done]");

	screensaver_reset_timer();

	video_write_line("Kernel cargado.");

	return getStackBase();
}