• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _GPXE_MEMMAP_H
2 #define _GPXE_MEMMAP_H
3 
4 #include <stdint.h>
5 
6 /**
7  * @file
8  *
9  * Memory mapping
10  *
11  */
12 
13 FILE_LICENCE ( GPL2_OR_LATER );
14 
15 /** A usable memory region */
16 struct memory_region {
17 	/** Physical start address */
18 	uint64_t start;
19 	/** Physical end address */
20 	uint64_t end;
21 };
22 
23 /** Maximum number of memory regions we expect to encounter */
24 #define MAX_MEMORY_REGIONS 8
25 
26 /** A memory map */
27 struct memory_map {
28 	/** Memory regions */
29 	struct memory_region regions[MAX_MEMORY_REGIONS];
30 	/** Number of used regions */
31 	unsigned int count;
32 };
33 
34 extern void get_memmap ( struct memory_map *memmap );
35 
36 #endif /* _GPXE_MEMMAP_H */
37