Return to kern_main.c CVS log | Up to [local] / funnyos / kern |
File: [local] / funnyos / kern / kern_main.c (download)
Revision 1.9, Wed Jan 2 02:38:44 2008 UTC (16 years, 5 months ago) by nbrk
do not want to commit it, but it's damn cool. - after all initialisation has been completed, cyclically display 0..F digits on the LED if we are ARCH_SAM7S64. |
/* * $Id: kern_main.c,v 1.9 2008/01/02 02:38:44 nbrk Exp $ */ #include <sys/types.h> #include <sys/kern_devconfig.h> #include <sys/mem.h> #include <sys/kern_time.h> #include <sys/kern_sched.h> #include <sys/devctl.h> /* XXX */ #include <arch/sam7s64/dev/gpio7segvar.h> /* XXX */ #include <libkern/printf.h> 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) ; }