diff options
| author | Michal Idziorek <m.i@gmx.at> | 2014-09-04 11:13:43 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2014-09-04 11:13:43 +0200 |
| commit | 706d8edc5abf15960ff8bebf9a2a6dc76b23eeac (patch) | |
| tree | 9211bd0d4c336f5cee954d3f43df3853d2b310dc /kernel/kernel.c | |
| parent | 5a1d77e158bee2f81623a8ebce7a154a9d8eed99 (diff) | |
using raimage instead of floppy
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c index a6322f0..0b87b64 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,4 +1,5 @@ #define FOOLOS_MODULE_NAME "kernel" +#include "config.h" #include "lib/logger/log.h" #include "lib/int/stdint.h" @@ -6,12 +7,16 @@ #include "smp.h" #include "time.h" +#ifdef FOOLOS_COMPILE_FLOPPY +#include "floppy.h" +#endif + /////// // interrupt handler prototypes // todo: move somewhere else!? void int_clock_handler(); void int_kb_handler(); -void int_floppy_handler(); + uint32_t read_eip(); uint32_t c1,c2,c3; @@ -66,6 +71,11 @@ void kernel_main(uint32_t initial_stack, int mp) dest[i]=source[i]; } + + + /////////////////// BULLSHIT ABOVE THIS LINE: TODO: CLEANUP + + // // We want to get output to the screen as fast as possible! // @@ -90,6 +100,9 @@ void kernel_main(uint32_t initial_stack, int mp) uint32_t vesa_physbase=vesa_init(0x8300,0x8400,0x80000); + char *ramdisk=0x80400; + log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"ramdisk: %s",ramdisk); + // // Print initial address of the esp stack pointer // @@ -133,8 +146,10 @@ void kernel_main(uint32_t initial_stack, int mp) // install keyboard interrupt handler (irq 1 => 33) int_install_ir(33, 0b10001110, 0x08,&int_kb_handler); +#ifdef FOOLOS_COMPILE_FLOPPY // install floppy interrupt handler (irq 6 => 38) int_install_ir(38, 0b10001110, 0x08,&int_floppy_handler); +#endif // now we can enable interrupts back again x86_int_enable(); @@ -183,7 +198,9 @@ void kernel_main(uint32_t initial_stack, int mp) // Initialize Floppy Disk // + #ifdef FOOLOS_COMPILE_FLOPPY floppy_init(); + #endif // |
