Annotation of coherent/d/conf/tboot/tboot.c, revision 1.1.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.