blob: 8a6bd799515dafb09eead220f66fa93845ce5de2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#ifndef __E820MAP_H
#define __E820MAP_H
#include "types.h" // u64
#define E820_RAM 1
#define E820_RESERVED 2
#define E820_ACPI 3
#define E820_NVS 4
#define E820_UNUSABLE 5
#define E820_HOLE ((u32)-1) // Useful for removing entries
struct e820entry {
u64 start;
u64 size;
u32 type;
};
void add_e820(u64 start, u64 size, u32 type);
void memmap_setup();
void memmap_finalize();
// e820 map storage (defined in system.c)
extern struct e820entry *e820_list;
extern int e820_count;
// Space for exported bios tables.
extern u32 bios_table_cur_addr, bios_table_end_addr;
#endif // e820map.h
|