diff options
Diffstat (limited to 'contrib/syslinux/latest/com32/mboot/mb_info.h')
-rw-r--r-- | contrib/syslinux/latest/com32/mboot/mb_info.h | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/contrib/syslinux/latest/com32/mboot/mb_info.h b/contrib/syslinux/latest/com32/mboot/mb_info.h deleted file mode 100644 index 597a738..0000000 --- a/contrib/syslinux/latest/com32/mboot/mb_info.h +++ /dev/null @@ -1,207 +0,0 @@ -/* - * GRUB -- GRand Unified Bootloader - * Copyright (C) 2000 Free Software Foundation, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * The structure type "mod_list" is used by the "multiboot_info" structure. - */ - -#ifndef MBOOT_MB_INFO_H -#define MBOOT_MB_INFO_H - -#include <inttypes.h> - -struct mod_list { - /* the memory used goes from bytes 'mod_start' to 'mod_end-1' inclusive */ - uint32_t mod_start; - uint32_t mod_end; - - /* Module command line */ - uint32_t cmdline; - - /* padding to take it to 16 bytes (must be zero) */ - uint32_t pad; -}; - -/* - * INT-15, AX=E820 style "AddressRangeDescriptor" - * ...with a "size" parameter on the front which is the structure size - 4, - * pointing to the next one, up until the full buffer length of the memory - * map has been reached. - */ - -struct AddrRangeDesc { - uint32_t size; - uint64_t BaseAddr; - uint64_t Length; - uint32_t Type; - /* unspecified optional padding... */ -} __attribute__ ((packed)); - -/* usable memory "Type", all others are reserved. */ -#define MB_ARD_MEMORY 1 - -/* Drive Info structure. */ -struct drive_info { - /* The size of this structure. */ - uint32_t size; - - /* The BIOS drive number. */ - uint8_t drive_number; - - /* The access mode (see below). */ - uint8_t drive_mode; - - /* The BIOS geometry. */ - uint16_t drive_cylinders; - uint8_t drive_heads; - uint8_t drive_sectors; - - /* The array of I/O ports used for the drive. */ - uint16_t drive_ports[0]; -}; - -/* Drive Mode. */ -#define MB_DI_CHS_MODE 0 -#define MB_DI_LBA_MODE 1 - -/* APM BIOS info. */ -struct apm_info { - uint16_t version; - uint16_t cseg; - uint32_t offset; - uint16_t cseg_16; - uint16_t dseg_16; - uint16_t cseg_len; - uint16_t cseg_16_len; - uint16_t dseg_16_len; -}; - -/* - * MultiBoot Info description - * - * This is the struct passed to the boot image. This is done by placing - * its address in the EAX register. - */ - -struct multiboot_info { - /* MultiBoot info version number */ - uint32_t flags; - - /* Available memory from BIOS */ - uint32_t mem_lower; - uint32_t mem_upper; - - /* "root" partition */ - uint32_t boot_device; - - /* Kernel command line */ - uint32_t cmdline; - - /* Boot-Module list */ - uint32_t mods_count; - uint32_t mods_addr; - - union { - struct { - /* (a.out) Kernel symbol table info */ - uint32_t tabsize; - uint32_t strsize; - uint32_t addr; - uint32_t pad; - } a; - struct { - /* (ELF) Kernel section header table */ - uint32_t num; - uint32_t size; - uint32_t addr; - uint32_t shndx; - } e; - } syms; - - /* Memory Mapping buffer */ - uint32_t mmap_length; - uint32_t mmap_addr; - - /* Drive Info buffer */ - uint32_t drives_length; - uint32_t drives_addr; - - /* ROM configuration table */ - uint32_t config_table; - - /* Boot Loader Name */ - uint32_t boot_loader_name; - - /* APM table */ - uint32_t apm_table; - - /* Video */ - 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; -}; - -/* - * Flags to be set in the 'flags' parameter above - */ - -/* is there basic lower/upper memory information? */ -#define MB_INFO_MEMORY 0x00000001 -/* is there a boot device set? */ -#define MB_INFO_BOOTDEV 0x00000002 -/* is the command-line defined? */ -#define MB_INFO_CMDLINE 0x00000004 -/* are there modules to do something with? */ -#define MB_INFO_MODS 0x00000008 - -/* These next two are mutually exclusive */ - -/* is there a symbol table loaded? */ -#define MB_INFO_AOUT_SYMS 0x00000010 -/* is there an ELF section header table? */ -#define MB_INFO_ELF_SHDR 0x00000020 - -/* is there a full memory map? */ -#define MB_INFO_MEM_MAP 0x00000040 - -/* Is there drive info? */ -#define MB_INFO_DRIVE_INFO 0x00000080 - -/* Is there a config table? */ -#define MB_INFO_CONFIG_TABLE 0x00000100 - -/* Is there a boot loader name? */ -#define MB_INFO_BOOT_LOADER_NAME 0x00000200 - -/* Is there a APM table? */ -#define MB_INFO_APM_TABLE 0x00000400 - -/* Is there video information? */ -#define MB_INFO_VIDEO_INFO 0x00000800 - -/* - * The following value must be present in the EAX register. - */ - -#define MULTIBOOT_VALID 0x2BADB002 - -#endif /* MBOOT_MB_INFO_H */ |