b5e1d0d19e7771a732d9dc07030523f7cfb02036
[seabios.git] / src / memmap.h
1 #ifndef __E820MAP_H
2 #define __E820MAP_H
3
4 #include "types.h" // u64
5
6 #define E820_RAM          1
7 #define E820_RESERVED     2
8 #define E820_ACPI         3
9 #define E820_NVS          4
10 #define E820_UNUSABLE     5
11 #define E820_HOLE         ((u32)-1) // Useful for removing entries
12
13 struct e820entry {
14     u64 start;
15     u64 size;
16     u32 type;
17 };
18
19 void add_e820(u64 start, u64 size, u32 type);
20 void memmap_setup();
21 void memmap_finalize();
22
23 // Space for exported bios tables.
24 extern u32 bios_table_cur_addr, bios_table_end_addr;
25
26 #endif // e820map.h