COBE 0.1 ALPHA
|
00001 /* The magic number for the Multiboot header. */ 00002 #define MULTIBOOT_HEADER_MAGIC 0x1BADB002 00003 00004 /* The flags for the Multiboot header. */ 00005 #ifdef __ELF__ 00006 # define MULTIBOOT_HEADER_FLAGS 0x00000003 00007 #else 00008 # define MULTIBOOT_HEADER_FLAGS 0x00010003 00009 #endif 00010 00011 /* The magic number passed by a Multiboot-compliant boot loader. */ 00012 #define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002 00013 00014 /* The size of our stack (16KB). */ 00015 #define STACK_SIZE 0x4000 00016 00017 /* C symbol format. HAVE_ASM_USCORE is defined by configure. */ 00018 #ifdef HAVE_ASM_USCORE 00019 # define EXT_C(sym) _ ## sym 00020 #else 00021 # define EXT_C(sym) sym 00022 #endif 00023 00024 #ifndef ASM 00025 /* Do not include here in boot.S. */ 00026 00027 /* Types. */ 00028 00029 /* The Multiboot header. */ 00030 typedef struct multiboot_header 00031 { 00032 unsigned long magic; 00033 unsigned long flags; 00034 unsigned long checksum; 00035 unsigned long header_addr; 00036 unsigned long load_addr; 00037 unsigned long load_end_addr; 00038 unsigned long bss_end_addr; 00039 unsigned long entry_addr; 00040 } multiboot_header_t; 00041 00042 /* The symbol table for a.out. */ 00043 00044 00045 /* The section header table for ELF. */ 00046 00047 00048 /* The Multiboot information. */ 00049 00050 00051 /* The module structure. */ 00052 00053 00054 /* The memory map. Be careful that the offset 0 is base_addr_low 00055 but no size. */ 00056 typedef struct memory_map 00057 { 00058 unsigned long size; 00059 unsigned long base_addr_low; 00060 unsigned long base_addr_high; 00061 unsigned long length_low; 00062 unsigned long length_high; 00063 unsigned long type; 00064 } memory_map_t; 00065 00066 #endif /* ! ASM */