Return to kern_main.c CVS log | Up to [local] / funnyos / kern |
File: [local] / funnyos / kern / kern_main.c (download)
Revision 1.10, Fri Jan 11 10:54:50 2008 UTC (16 years, 5 months ago) by nbrk
add "Autoconfiguration completed\n" after devconfig is done; enable clocks and scheduler on !ARCH_SAM7S64 again |
/* * $Id: kern_main.c,v 1.10 2008/01/11 10:54:50 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> #ifdef ARCH_SAM7S64 #include <sys/devctl.h> /* XXX */ #include <arch/sam7s64/dev/gpio7segvar.h> /* XXX */ #endif #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 printf("Autoconfiguration completed.\n"); while(1) ; }