Annotation of kernel/machdep/ppc/kernBootStruct.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
                      7:  * Reserved.  This file contains Original Code and/or Modifications of
                      8:  * Original Code as defined in and that are subject to the Apple Public
                      9:  * Source License Version 1.1 (the "License").  You may not use this file
                     10:  * except in compliance with the License.  Please obtain a copy of the
                     11:  * License at http://www.apple.com/publicsource and read it before using
                     12:  * this file.
                     13:  * 
                     14:  * The Original Code and all software distributed under the License are
                     15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     19:  * License for the specific language governing rights and limitations
                     20:  * under the License.
                     21:  * 
                     22:  * @APPLE_LICENSE_HEADER_END@
                     23:  */
                     24: 
                     25: /*
                     26:  * kernBootStruct.h
                     27:  * What the booter leaves behind for the kernel.
                     28:  */
                     29: 
                     30: #define GRAPHICS_MODE  1
                     31: #define TEXT_MODE 0
                     32: 
                     33: #define KERNBOOTMAGIC 0xa7a7a7a7
                     34: 
                     35: /* The config table has room for 12 drivers if their config files
                     36:  * are the maximum size allowed.
                     37:  */
                     38: #define CONFIG_SIZE (12 * 4096)
                     39: 
                     40: /* Maximum number of boot drivers supported, assuming their
                     41:  * config files fit in the bootstruct.
                     42:  */
                     43: #define NDRIVERS               64
                     44: 
                     45: #ifndef __ASSEMBLER__
                     46: 
                     47: typedef struct {
                     48:     char    *address;                  // address where driver was loaded
                     49:     int            size;                       // entry point for driver
                     50: } driver_config_t;
                     51: 
                     52: typedef struct {
                     53:     short   version;
                     54:     char    bootString[160];           // string we booted with
                     55:     int            magicCookie;                // KERNBOOTMAGIC if struct valid
                     56:     int            rootdev;                    // booters guess as to rootdev
                     57:     int            convmem;                    // conventional memory
                     58:     char    boot_file[128];            // name of the kernel we booted
                     59:     int            first_addr0;                // first address for kern convmem
                     60:     int            graphicsMode;               // did we boot in graphics mode?
                     61:     int            kernDev;                    // device kernel was fetched from
                     62:     int     numBootDrivers;            // number of drivers loaded by booter    
                     63:     char    *configEnd;                        // pointer to end of config files
                     64:     int            kaddr;                      // kernel load address
                     65:     int     ksize;                     // size of kernel
                     66:     void    *rld_entry;                        // entry point for standalone rld
                     67: 
                     68:     driver_config_t driverConfig[NDRIVERS];    // ??
                     69:     
                     70:     char   _reserved[4052 - sizeof(driver_config_t) * NDRIVERS];
                     71: 
                     72:     char   config[CONFIG_SIZE];                // the config file contents
                     73: } KERNBOOTSTRUCT;
                     74: 
                     75: #ifdef KERNEL
                     76: #define static_KERNBOOTSTRUCT (*KERNSTRUCT_ADDR)
                     77: extern KERNBOOTSTRUCT *KERNSTRUCT_ADDR;
                     78: #else  
                     79: /* The assumption is that the booter is the only other consumer of this */
                     80: extern KERNBOOTSTRUCT *kernBootStruct;
                     81: #undef KERNSTRUCT_ADDR
                     82: // #define KERNSTRUCT_ADDR ((KERNBOOTSTRUCT *) BOOTSTRUCT_ADDR)
                     83: #endif
                     84: 
                     85: #endif /* __ASSEMBLER__ */

unix.superglobalmegacorp.com

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