[BACK]Return to kern_main.c CVS log [TXT][DIR] Up to [local] / funnyos / kern

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