1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2001-2008 H. Peter Anvin - All Rights Reserved 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330, 8 * Boston MA 02111-1307, USA; either version 2 of the License, or 9 * (at your option) any later version; incorporated herein by reference. 10 * 11 * ----------------------------------------------------------------------- */ 12 13 /* 14 * e820.h 15 * 16 * Common routines for e820 memory map management 17 */ 18 19 #include <stdint.h> 20 21 struct e820range { 22 uint64_t start; 23 uint32_t type; 24 } __attribute__ ((packed)); 25 26 extern struct e820range ranges[]; 27 extern int nranges; 28 extern uint32_t dos_mem, low_mem, high_mem; 29 30 extern void e820map_init(void); 31 extern void insertrange(uint64_t, uint64_t, uint32_t); 32 extern void get_mem(void); 33 extern void parse_mem(void); 34