COBE 0.1 ALPHA

D:/COBE-Packet/cobe/system/cobekrnl.c

gehe zur Dokumentation dieser Datei
00001 #include <stdio.h>
00002 #include <sysfunc.h>
00003 #include <idt.h>
00004 #include <io.h>
00005 #include <pic.h>
00006 #include <bootlogo.h>
00007 #include <multitasking.h>
00008 #include <gdt.h>
00009 #include <cmos.h>
00010 #include <pgng.h>
00011 #include <pmm.h>
00012 #include <pit.h>
00013 #include <fat.h>
00014 
00015 //Die meisten Kommentare dienen Doxygen
00031 multiboot_info_t* mbinfo;
00032 uint8_t booted;
00033 
00035 
00042 int kmain(multiboot_info_t* mbinf) {
00044         booted = 0;
00046         mbinfo = mbinf;
00047         
00048         //----------Der Bootscreen wird initialisiert----------
00049         //show_bootlogo(); 
00050         //setload(2);
00051         clrscr();
00052         
00053         //----------Die physische Speicherverwaltung wird initialisiert----------
00054         kprintf("\nPhysische Speicherverwaltung initialisiert...");
00055         init_pmm(mbinf);
00056         
00057         
00058         //----------Paging wird initialisiert----------
00059         kprintf("\nPaging initialisiert...");
00060         init_paging();
00061         //setload(3); 
00062         
00063         //----------Die GDT wird initialisiert----------
00064         kprintf("\nGDT initialisiert...");
00065         init_gdt(); 
00066         //setload(4);
00067         
00068         //----------Der PIC-Chip wird initialisiert----------
00069         kprintf("\nPIC initialisiert...");
00070         init_pic(); 
00071         //setload(5); 
00072         
00073         //----------Die IDT wird initialisiert----------
00074         kprintf("\nIDT initialisiert...");
00075         init_idt(); 
00076         //setload(6); 
00077         
00078         //----------Multitasking wird initialisiert----------
00079         kprintf("\nMultitasking initialisiert...");
00080         init_mm(mbinf);
00081         //setload(7);
00082         
00083         //----------PIT wird initialisiert----------
00084         kprintf("\nPIT initialisiert...");
00085         set_pit_channel(0, 2, 100);
00086 
00087         //----------FAT wird initialisiert----------
00088         kprintf("\nFAT initialisiert...");
00089         init_fat();
00090         
00091         //----------Der Bildschirm wird geleert und der Header wird geschrieben----------
00092         clrscr();
00093         activate_16background(); setcolor(0xF2);
00094         kprintf("\tCOBE - Computer Betriebsystem  0.1 ALPHA  -  Shell 0.1\t\t"); time(); kprintf("\n"); 
00095         setcolor(0x0F); 
00096         //----------Interrupts werden aktiviert----------
00098         booted = 1;
00099         __asm("sti");   
00101         while(1);
00102     return 0;
00103  }
00104  
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Makrodefinitionen