00001 #ifndef _GPXE_MEMMAP_H 00002 #define _GPXE_MEMMAP_H 00003 00004 #include <stdint.h> 00005 00006 /** 00007 * @file 00008 * 00009 * Memory mapping 00010 * 00011 */ 00012 00013 FILE_LICENCE ( GPL2_OR_LATER ); 00014 00015 /** A usable memory region */ 00016 struct memory_region { 00017 /** Physical start address */ 00018 uint64_t start; 00019 /** Physical end address */ 00020 uint64_t end; 00021 }; 00022 00023 /** Maximum number of memory regions we expect to encounter */ 00024 #define MAX_MEMORY_REGIONS 8 00025 00026 /** A memory map */ 00027 struct memory_map { 00028 /** Memory regions */ 00029 struct memory_region regions[MAX_MEMORY_REGIONS]; 00030 /** Number of used regions */ 00031 unsigned int count; 00032 }; 00033 00034 extern void get_memmap ( struct memory_map *memmap ); 00035 00036 #endif /* _GPXE_MEMMAP_H */
1.5.7.1