Annotation of funnyos/kern/kern_main.c, Revision 1.10
1.1 init 1: /*
1.10 ! nbrk 2: * $Id: kern_main.c,v 1.9 2008/01/02 02:38:44 nbrk Exp $
1.1 init 3: */
4: #include <sys/types.h>
5: #include <sys/kern_devconfig.h>
6: #include <sys/mem.h>
1.3 init 7: #include <sys/kern_time.h>
1.5 nbrk 8: #include <sys/kern_sched.h>
1.1 init 9:
1.10 ! nbrk 10: #ifdef ARCH_SAM7S64
1.9 nbrk 11: #include <sys/devctl.h> /* XXX */
12: #include <arch/sam7s64/dev/gpio7segvar.h> /* XXX */
1.10 ! nbrk 13: #endif
1.9 nbrk 14:
1.1 init 15: #include <libkern/printf.h>
16:
17: extern void config_consinit(void);
18:
19:
20: void
21: main(void)
22: {
1.9 nbrk 23: uint8_t digit;
24: uint32_t i;
25:
1.4 nbrk 26: /* set up critical devices */
27: config_machineinit();
1.1 init 28:
1.6 nbrk 29: printf("Welcome to FunnyOS!\n");
30:
1.1 init 31: /* initialize kmalloc */
32: kmem_init();
33:
34: /* attach all devices described in arch/${ARCH}/config.c */
35: devconfig_recurse();
1.2 init 36:
1.6 nbrk 37: #ifndef ARCH_SAM7S64
1.5 nbrk 38: /* initialize scheduler before enabling system ticks */
1.10 ! nbrk 39: sched_init();
1.5 nbrk 40:
41: /* initialize system clock; this will start interrupts from timer */
1.10 ! nbrk 42: sysclock_init();
1.9 nbrk 43: #endif
44:
45: #ifdef ARCH_SAM7S64
46: loop:
47: for(digit = 0; digit < 16; digit++) {
48: printf("kern_main: LED output: %d\n", digit);
49:
50: devctl("gpio7seg", 0, DCGPIO7SEG_SETDIGIT, &digit);
51:
52: /* dummy timeout */
53: for (i = 0; i < 5000000; i++)
54: ;
55: }
56: goto loop;
1.7 nbrk 57: #endif
1.10 ! nbrk 58:
! 59: printf("Autoconfiguration completed.\n");
1.1 init 60:
61: while(1)
62: ;
63: }
64:
65:
CVSweb