Annotation of qemu/roms/openbios/arch/sparc32/multiboot.h, revision 1.1

1.1     ! root        1: /* multiboot.h
        !             2:  * tag: header for multiboot
        !             3:  *
        !             4:  * Copyright (C) 2003-2004 Stefan Reinauer
        !             5:  *
        !             6:  * See the file "COPYING" for further information about
        !             7:  * the copyright and warranty status of this work.
        !             8:  */
        !             9: 
        !            10: /* magic number for multiboot header */
        !            11: #define MULTIBOOT_HEADER_MAGIC         0x1BADB002
        !            12: 
        !            13: /* flags for multiboot header */
        !            14: #define MULTIBOOT_HEADER_FLAGS         0x00010003
        !            15: 
        !            16: /* magic number passed by multiboot-compliant boot loader.  */
        !            17: #define MULTIBOOT_BOOTLOADER_MAGIC     0x2BADB002
        !            18: 
        !            19: /* The size of our stack (8KB).  */
        !            20: #define STACK_SIZE                     0x2000
        !            21: 
        !            22: /* C symbol format. HAVE_ASM_USCORE is defined by configure.  */
        !            23: #ifdef HAVE_ASM_USCORE
        !            24: # define EXT_C(sym)                    _ ## sym
        !            25: #else
        !            26: # define EXT_C(sym)                    sym
        !            27: #endif
        !            28: 
        !            29: #ifndef ASM
        !            30: /* We don't want these declarations in boot.S  */
        !            31: 
        !            32: /* multiboot header */
        !            33: typedef struct multiboot_header {
        !            34:        unsigned long magic;
        !            35:        unsigned long flags;
        !            36:        unsigned long checksum;
        !            37:        unsigned long header_addr;
        !            38:        unsigned long load_addr;
        !            39:        unsigned long load_end_addr;
        !            40:        unsigned long bss_end_addr;
        !            41:        unsigned long entry_addr;
        !            42: } multiboot_header_t;
        !            43: 
        !            44: /* symbol table for a.out */
        !            45: typedef struct aout_symbol_table {
        !            46:        unsigned long tabsize;
        !            47:        unsigned long strsize;
        !            48:        unsigned long addr;
        !            49:        unsigned long reserved;
        !            50: } aout_symbol_table_t;
        !            51: 
        !            52: /* section header table for ELF */
        !            53: typedef struct elf_section_header_table {
        !            54:        unsigned long num;
        !            55:        unsigned long size;
        !            56:        unsigned long addr;
        !            57:        unsigned long shndx;
        !            58: } elf_section_header_table_t;
        !            59: 
        !            60: /* multiboot information */
        !            61: typedef struct multiboot_info {
        !            62:        unsigned long flags;
        !            63:        unsigned long mem_lower;
        !            64:        unsigned long mem_upper;
        !            65:        unsigned long boot_device;
        !            66:        unsigned long cmdline;
        !            67:        unsigned long mods_count;
        !            68:        unsigned long mods_addr;
        !            69:        union {
        !            70:                aout_symbol_table_t aout_sym;
        !            71:                elf_section_header_table_t elf_sec;
        !            72:        } u;
        !            73:        unsigned long mmap_length;
        !            74:        unsigned long mmap_addr;
        !            75: } multiboot_info_t;
        !            76: 
        !            77: /* module structure */
        !            78: typedef struct module {
        !            79:        unsigned long mod_start;
        !            80:        unsigned long mod_end;
        !            81:        unsigned long string;
        !            82:        unsigned long reserved;
        !            83: } module_t;
        !            84: 
        !            85: /* memory map. Be careful that the offset 0 is base_addr_low
        !            86:    but no size.  */
        !            87: typedef struct memory_map {
        !            88:        unsigned long size;
        !            89:        unsigned long base_addr_low;
        !            90:        unsigned long base_addr_high;
        !            91:        unsigned long length_low;
        !            92:        unsigned long length_high;
        !            93:        unsigned long type;
        !            94: } memory_map_t;
        !            95: 
        !            96: #endif                         /* ! ASM */

unix.superglobalmegacorp.com

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