=================================================================== RCS file: /cvs/funnyos/kern/kern_main.c,v retrieving revision 1.2 retrieving revision 1.9 diff -u -r1.2 -r1.9 --- funnyos/kern/kern_main.c 2007/10/26 15:13:23 1.2 +++ funnyos/kern/kern_main.c 2008/01/02 02:38:44 1.9 @@ -1,10 +1,15 @@ /* - * $Id: kern_main.c,v 1.2 2007/10/26 14:13:23 init Exp $ + * $Id: kern_main.c,v 1.9 2008/01/02 02:38:44 nbrk Exp $ */ #include #include #include +#include +#include +#include /* XXX */ +#include /* XXX */ + #include extern void config_consinit(void); @@ -13,16 +18,41 @@ void main(void) { - /* set up boot console */ - config_consinit(); + uint8_t digit; + uint32_t i; + /* set up critical devices */ + config_machineinit(); + + printf("Welcome to FunnyOS!\n"); + /* initialize kmalloc */ kmem_init(); /* attach all devices described in arch/${ARCH}/config.c */ devconfig_recurse(); - printf("\n\nok\n"); +#ifndef ARCH_SAM7S64 + /* initialize scheduler before enabling system ticks */ +// sched_init(); + + /* initialize system clock; this will start interrupts from timer */ +// sysclock_init(); +#endif + +#ifdef ARCH_SAM7S64 +loop: + for(digit = 0; digit < 16; digit++) { + printf("kern_main: LED output: %d\n", digit); + + devctl("gpio7seg", 0, DCGPIO7SEG_SETDIGIT, &digit); + + /* dummy timeout */ + for (i = 0; i < 5000000; i++) + ; + } +goto loop; +#endif while(1) ;