git-svn-id: https://spexeah.com:8443/svn/Asuro@469 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c

This commit is contained in:
kieron 2018-04-10 15:40:45 +00:00
parent 64dc31279d
commit 62c9949701

View File

@ -82,7 +82,6 @@ var
keyboard_layout : array [0..1] of TKeyInfo; keyboard_layout : array [0..1] of TKeyInfo;
i : uint32; i : uint32;
cEIP : uint32; cEIP : uint32;
temp : uint32; temp : uint32;
atmp : puint32; atmp : puint32;
test : puint8; test : puint8;
@ -92,14 +91,17 @@ begin
multibootinfo:= mbinfo; multibootinfo:= mbinfo;
multibootmagic:= mbmagic; multibootmagic:= mbmagic;
{ Console Init }
console.init(); console.init();
{ Terminal Init }
terminal.init(); terminal.init();
terminal.registerCommand('MEMINFO', @terminal_command_meminfo, 'Print Simple Memory Information.'); terminal.registerCommand('MEMINFO', @terminal_command_meminfo, 'Print Simple Memory Information.');
terminal.registerCommand('BSOD', @terminal_command_bsod, 'Force a Panic Screen.'); terminal.registerCommand('BSOD', @terminal_command_bsod, 'Force a Panic Screen.');
console.writestringln('Booting Asuro...'); console.writestringln('Booting Asuro...');
{ Check for Multiboot }
if (multibootmagic <> MULTIBOOT_BOOTLOADER_MAGIC) then begin if (multibootmagic <> MULTIBOOT_BOOTLOADER_MAGIC) then begin
console.setdefaultattribute(console.combinecolors(Red, Black)); console.setdefaultattribute(console.combinecolors(Red, Black));
console.outputln('KERNEL', 'Multiboot Compliant Boot-Loader Needed!'); console.outputln('KERNEL', 'Multiboot Compliant Boot-Loader Needed!');
@ -108,6 +110,7 @@ begin
util.halt_and_catch_fire; util.halt_and_catch_fire;
end; end;
{ GDT Init }
gdt.init(); gdt.init();
asm asm
MOV dds, CS MOV dds, CS
@ -120,6 +123,7 @@ begin
BSOD('GDT', 'Failed to load the GDT correctly.'); BSOD('GDT', 'Failed to load the GDT correctly.');
end; end;
{ Memory/CPU Init }
idt.init(); idt.init();
isr.init(); isr.init();
irq.init(); irq.init();
@ -129,15 +133,18 @@ begin
tss.init(); tss.init();
scheduler.init(); scheduler.init();
{ BIOS Data Area}
bios_data_area.init(); bios_data_area.init();
{ Management Interfaces }
drivermanagement.init(); drivermanagement.init();
storagemanagement.init(); storagemanagement.init();
{ Hook Timer for Ticks }
STI; STI;
isr32.hook(uint32(@bios_data_area.tick_update)); isr32.hook(uint32(@bios_data_area.tick_update));
//Device Drivers { Device Drivers }
console.outputln('KERNEL', 'DEVICE DRIVERS: INIT BEGIN.'); console.outputln('KERNEL', 'DEVICE DRIVERS: INIT BEGIN.');
keyboard.init(keyboard_layout); keyboard.init(keyboard_layout);
mouse.init(); mouse.init();
@ -146,17 +153,17 @@ begin
//IDE.init(); //IDE.init();
console.outputln('KERNEL', 'DEVICE DRIVERS: INIT END.'); console.outputln('KERNEL', 'DEVICE DRIVERS: INIT END.');
//Bus Drivers { Bus Drivers }
console.outputln('KERNEL', 'BUS DRIVERS: INIT BEGIN.'); console.outputln('KERNEL', 'BUS DRIVERS: INIT BEGIN.');
USB.init(); USB.init();
pci.init(); pci.init();
console.outputln('KERNEL', 'BUS DRIVERS: INIT END.'); console.outputln('KERNEL', 'BUS DRIVERS: INIT END.');
//Network Stack { Network Stack }
ipv4.register(); ipv4.register();
//End of Boot { End of Boot }
console.writestringln(''); console.writestringln('');
console.setdefaultattribute(console.combinecolors(Green, Black)); console.setdefaultattribute(console.combinecolors(Green, Black));
console.writestringln('Asuro Booted Correctly!'); console.writestringln('Asuro Booted Correctly!');