3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 typedef struct multiboot_info
26 unsigned long mem_lower
;
27 unsigned long mem_upper
;
28 unsigned long boot_device
;
29 unsigned long cmdline
;
30 unsigned long mods_count
;
31 unsigned long mods_addr
;
35 unsigned long *aout_sym
;
36 unsigned long *elf_sec
;
39 /* Memory Mapping buffer */
40 unsigned long mmap_length
;
41 unsigned long mmap_addr
;
43 /* Drive Info buffer */
44 unsigned long drives_length
;
45 unsigned long drives_addr
;
47 /* ROM configuration table */
48 unsigned long config_table
;
50 /* Boot Loader Name */
51 unsigned long boot_loader_name
;
54 unsigned long apm_table
;
57 unsigned long vbe_control_info
;
58 unsigned long vbe_mode_info
;
59 unsigned short vbe_mode
;
60 unsigned short vbe_interface_seg
;
61 unsigned short vbe_interface_off
;
62 unsigned short vbe_interface_len
;
65 typedef struct multiboot_memory_map
{
67 unsigned int base_addr_low
,base_addr_high
;
68 //You can also use: unsigned long long int base_addr; if supported.
69 unsigned int length_low
,length_high
;
70 //You can also use: unsigned long long int length; if supported.
72 } multiboot_memory_map_t
;