grml...
[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_finalize(void);
21
22 // A typical OS page size
23 #define PAGE_SIZE 4096
24
25 // e820 map storage (defined in system.c)
26 extern struct e820entry e820_list[];
27 extern int e820_count;
28
29 // Space for exported bios tables (defined in misc.c)
30 extern char BiosTableSpace[];
31
32 #endif // e820map.h