Annotation of coherent/d/conf/tboot/tboot.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * tboot.c -- tertiary boot
        !             3:  * This is invoked by the secondary boot to do all the things we can't
        !             4:  * do in just 512 bytes.
        !             5:  *
        !             6:  * Includes an interpreter for builtin commands.  Just type "info" or "dir"
        !             7:  * to get disk information, or a directory listing of "/".
        !             8:  *
        !             9:  * Can load an image up to 1 gigabyte in length.  Segments can be as
        !            10:  * big as the whole file.
        !            11:  *
        !            12:  * La Monte H. Yarroll <[email protected]>, September 1991
        !            13:  */
        !            14: 
        !            15: #include <sys/types.h>
        !            16: #include <sys/typed.h>
        !            17: 
        !            18: #define MAIN
        !            19: #include "tboot.h"
        !            20: #undef MAIN
        !            21: 
        !            22: 
        !            23: /* Potentially communicated information from an earlier tboot.  */
        !            24: TYPED_SPACE(boot_gift, 8192, T_FIFO_SIC);      /* Static In-Core FIFO.  */
        !            25: 
        !            26: main()
        !            27: {
        !            28:        char cmd_line[BLOCK];           /* Command typed at prompt.  */
        !            29: 
        !            30:        sys_base = DEF_SYS_BASE;        /* Load the kernel here.  */
        !            31:        sys_base_set = FALSE;
        !            32:        want_monitor = FALSE;   /* Don't invoke mini-monitor before execution.  */
        !            33:        verbose_flag = FALSE;   /* Don't be verbose.  */
        !            34: 
        !            35:        puts("\r\nCOHERENT Tertiary boot Version 1.2.6\r\n");
        !            36: 
        !            37:        /*
        !            38:         * If autoboot exists, give the user a chance to abort and then
        !            39:         * try to run it.
        !            40:         */
        !            41:        if (0 != namei("autoboot")) {
        !            42:                puts("Press <SPACE> to abort boot.\r\n");
        !            43:                if( !wait_for_keystroke(WAIT_DELAY, (int) ' ') ) {
        !            44:                        interpret("autoboot");
        !            45:                }
        !            46:        }
        !            47: 
        !            48:        puts("If installing COHERENT, please type \"begin\".\r\n");
        !            49: 
        !            50:        for (;;) {
        !            51:                puts("? ");
        !            52:                gets(cmd_line, BLOCK);
        !            53:                puts("\r\n");
        !            54:                sanity_check("Main command loop");
        !            55: 
        !            56:                interpret(cmd_line);
        !            57:        } /* forever */
        !            58:        
        !            59:        puts("Unreachable code in main().\r\n");
        !            60: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.