diff options
Diffstat (limited to 'gpxe/src/arch/i386/include/multiboot.h')
-rw-r--r-- | gpxe/src/arch/i386/include/multiboot.h | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/gpxe/src/arch/i386/include/multiboot.h b/gpxe/src/arch/i386/include/multiboot.h deleted file mode 100644 index 44614c73..00000000 --- a/gpxe/src/arch/i386/include/multiboot.h +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef _MULTIBOOT_H -#define _MULTIBOOT_H - -/** - * @file - * - * Multiboot operating systems - * - */ - -FILE_LICENCE ( GPL2_OR_LATER ); - -#include <stdint.h> - -/** The magic number for the Multiboot header */ -#define MULTIBOOT_HEADER_MAGIC 0x1BADB002 - -/** Boot modules must be page aligned */ -#define MB_FLAG_PGALIGN 0x00000001 - -/** Memory map must be provided */ -#define MB_FLAG_MEMMAP 0x00000002 - -/** Video mode information must be provided */ -#define MB_FLAG_VIDMODE 0x00000004 - -/** Image is a raw multiboot image (not ELF) */ -#define MB_FLAG_RAW 0x00010000 - -/** - * The magic number passed by a Multiboot-compliant boot loader - * - * Must be passed in register %eax when jumping to the Multiboot OS - * image. - */ -#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002 - -/** Multiboot information structure mem_* fields are valid */ -#define MBI_FLAG_MEM 0x00000001 - -/** Multiboot information structure boot_device field is valid */ -#define MBI_FLAG_BOOTDEV 0x00000002 - -/** Multiboot information structure cmdline field is valid */ -#define MBI_FLAG_CMDLINE 0x00000004 - -/** Multiboot information structure module fields are valid */ -#define MBI_FLAG_MODS 0x00000008 - -/** Multiboot information structure a.out symbol table is valid */ -#define MBI_FLAG_AOUT 0x00000010 - -/** Multiboot information struture ELF section header table is valid */ -#define MBI_FLAG_ELF 0x00000020 - -/** Multiboot information structure memory map is valid */ -#define MBI_FLAG_MMAP 0x00000040 - -/** Multiboot information structure drive list is valid */ -#define MBI_FLAG_DRIVES 0x00000080 - -/** Multiboot information structure ROM configuration field is valid */ -#define MBI_FLAG_CFGTBL 0x00000100 - -/** Multiboot information structure boot loader name field is valid */ -#define MBI_FLAG_LOADER 0x00000200 - -/** Multiboot information structure APM table is valid */ -#define MBI_FLAG_APM 0x00000400 - -/** Multiboot information structure video information is valid */ -#define MBI_FLAG_VBE 0x00000800 - -/** A multiboot header */ -struct multiboot_header { - uint32_t magic; - uint32_t flags; - uint32_t checksum; - uint32_t header_addr; - uint32_t load_addr; - uint32_t load_end_addr; - uint32_t bss_end_addr; - uint32_t entry_addr; -} __attribute__ (( packed, may_alias )); - -/** A multiboot a.out symbol table */ -struct multiboot_aout_symbol_table { - uint32_t tabsize; - uint32_t strsize; - uint32_t addr; - uint32_t reserved; -} __attribute__ (( packed, may_alias )); - -/** A multiboot ELF section header table */ -struct multiboot_elf_section_header_table { - uint32_t num; - uint32_t size; - uint32_t addr; - uint32_t shndx; -} __attribute__ (( packed, may_alias )); - -/** A multiboot information structure */ -struct multiboot_info { - uint32_t flags; - uint32_t mem_lower; - uint32_t mem_upper; - uint32_t boot_device; - uint32_t cmdline; - uint32_t mods_count; - uint32_t mods_addr; - union { - struct multiboot_aout_symbol_table aout_syms; - struct multiboot_elf_section_header_table elf_sections; - } syms; - uint32_t mmap_length; - uint32_t mmap_addr; - uint32_t drives_length; - uint32_t drives_addr; - uint32_t config_table; - uint32_t boot_loader_name; - uint32_t apm_table; - uint32_t vbe_control_info; - uint32_t vbe_mode_info; - uint16_t vbe_mode; - uint16_t vbe_interface_seg; - uint16_t vbe_interface_off; - uint16_t vbe_interface_len; -} __attribute__ (( packed, may_alias )); - -/** A multiboot module structure */ -struct multiboot_module { - uint32_t mod_start; - uint32_t mod_end; - uint32_t string; - uint32_t reserved; -} __attribute__ (( packed, may_alias )); - -/** A multiboot memory map entry */ -struct multiboot_memory_map { - uint32_t size; - uint64_t base_addr; - uint64_t length; - uint32_t type; -} __attribute__ (( packed, may_alias )); - -/** Usable RAM */ -#define MBMEM_RAM 1 - -#endif /* _MULTIBOOT_H */ |