Be sure to add "void" to all function prototypes that take no args.
[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(void);
21 void memmap_finalize(void);
22 struct e820entry *find_high_area(u32 size);
23
24 // A typical OS page size
25 #define PAGE_SIZE 4096
26
27 // e820 map storage (defined in system.c)
28 extern struct e820entry e820_list[];
29 extern int e820_count;
30
31 // Space for exported bios tables (defined in misc.c)
32 extern char BiosTableSpace[];
33
34 #endif // e820map.h