/*
    exDOS - Experimental 32 Bit protected mode scripted operating system
    (C) 2005 Jason Hunt
    
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

    Contact: nulluser@gmail.com
    
    File: kernel.c
*/
     
#include "types.h"
#include "stdio.h"
#include "interrupt.h"
#include "cmd.h"
#include "video.h"
#include "floppy.h"
#include "process.h"

/* Setup kernel */
void kinit(void)
{
    process_init();
    interrupt_init();
    floppy_init();
}
/* End of kinit */


/* Core kernel loop */
void task_core( void )
{
    vga_draw_status();          // Draw the status bar
    
    while(1) kernel_cmd();      // Kernal command line interface
}
/* End of task_core */


/* The kernel main function */
int kmain ( void ) 
{
    puts("(Stage-3) Protected mode kernel.\n");
    
    kinit();        // Setup Kernel

    task_core();    // Main kernel loop
    
    return(0); 
}
/* End of kmain */




