/* * $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); void main(void) { 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(); #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) ; }