⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 一个完整的GUI界面OS,单盘启动 实现了多线程、FAT32文件读写
💻 C
字号:
//-----------------------------------------------------------------------------------------------------------------------
//          Kernel Main For FireXOS  1.10 
//
//          Version  1.10
//
//          Create by  xiaofan                                   2004.9.20
//
//          Update by xiaofan                                    2004.9.20
//------------------------------------------------------------------------------------------------------------------------

#include "kernel.h"
#include "GRUB.h"
#include "GraphicDriver.h"
#include "Page.h"
#include "String.h"
#include "Traps.h"
#include "Console.h"
#include "BootMem.h"
#include "Timer.h"
#include "PageAlloc.h"
#include "Queue.h"
#include "Keyboard.h"
#include "Mouse.h"
#include "Process.h"
#include "Schedule.h"
#include "Floppy.h"
#include "FS.h"
#include "Msdos.h"
#include "SysCall.h"
#include "Vbe.h"
#include "VMalloc.h"
#include "HardDisk.h"


GrubInfo* GrubBootInfo=(GrubInfo*)0x90000;

struct    bparam_s BootParameters={0,};



//----------------------------------------------------------------------------------------------------------------------------//// 内核主入口////----------------------------------------------------------------------------------------------------------------------------
void k_main(void) 
{	unsigned long  base_mm;		PageDirInit();	KernelGraphicInit();	ConsoleInit(0,0xFFFFFF);  ConsolePrintf("Enable The Page");	ConsolePrintOK();	ConsoleMsg("  The Kernel Page    Dir   at %08x The Page0 at %08x\n",PG_DIR_ADDR,PG_TABLE_ADDR);	ConsoleMsg("  The VESA   Mapping Page  at %08x\n",VESA_PTE);	ConsolePrintf("Load The boot Infomation");	ConsolePrintOK();	GetGrubVersion(GrubBootInfo);	GetGrubBoot(GrubBootInfo,(int*)&BootParameters.bp_bootdev);	GetGrubMemInfo(GrubBootInfo,&base_mm,&BootParameters.bp_ramsize);	GetGrubAPM(GrubBootInfo);	BootMemInit();	KnlMesQueInit();	PageManagerInit(BootParameters.bp_ramsize);	VMemInit(BootParameters.bp_ramsize,0xC0000000-BootParameters.bp_ramsize);	TrapInit();	TimerInit();	KeyboardInit();	MouseInit();	//FloppyInit();	HardDiskInit();  //Fat12_Init();	Fat32_Init();	ProcessInit();	SystemCallInit();	__asm__("sti");	ExecInitProc("SHELLER ");  SetSwitching(0);  while(1);   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -