/root/src/xen/xen/include/asm/e820.h
Line | Count | Source (jump to first uncovered line) |
1 | | #ifndef __E820_HEADER |
2 | | #define __E820_HEADER |
3 | | |
4 | | /* |
5 | | * PC BIOS standard E820 types and structure. |
6 | | */ |
7 | 686 | #define E820_RAM 1 |
8 | 511 | #define E820_RESERVED 2 |
9 | 168 | #define E820_ACPI 3 |
10 | 169 | #define E820_NVS 4 |
11 | 11 | #define E820_UNUSABLE 5 |
12 | | |
13 | | struct __packed e820entry { |
14 | | uint64_t addr; |
15 | | uint64_t size; |
16 | | uint32_t type; |
17 | | }; |
18 | | |
19 | 0 | #define E820MAX 1024 |
20 | | |
21 | | struct e820map { |
22 | | unsigned int nr_map; |
23 | | struct e820entry map[E820MAX]; |
24 | | }; |
25 | | |
26 | | extern int e820_all_mapped(u64 start, u64 end, unsigned type); |
27 | | extern int reserve_e820_ram(struct e820map *e820, uint64_t s, uint64_t e); |
28 | | extern int e820_change_range_type( |
29 | | struct e820map *e820, uint64_t s, uint64_t e, |
30 | | uint32_t orig_type, uint32_t new_type); |
31 | | extern int e820_add_range( |
32 | | struct e820map *, uint64_t s, uint64_t e, uint32_t type); |
33 | | extern unsigned long init_e820(const char *, struct e820map *); |
34 | | extern struct e820map e820; |
35 | | extern struct e820map e820_raw; |
36 | | |
37 | | /* These symbols live in the boot trampoline. */ |
38 | | extern unsigned int lowmem_kb, highmem_kb; |
39 | | unsigned int e820map_copy(struct e820entry *map, unsigned int limit); |
40 | | |
41 | 1 | #define copy_bios_e820 bootsym(e820map_copy) |
42 | | |
43 | | #endif /*__E820_HEADER*/ |