2005-04-17 02:20:36 +04:00
/*
* structures and definitions for the int 15 , ax = e820 memory map
* scheme .
*
* In a nutshell , arch / i386 / boot / setup . S populates a scratch table
* in the empty_zero_block that contains a list of usable address / size
* duples . In arch / i386 / kernel / setup . c , this information is
* transferred into the e820map , and in arch / i386 / mm / init . c , that
* new information is used to mark pages reserved or not .
*
*/
# ifndef __E820_HEADER
# define __E820_HEADER
2008-01-30 15:30:32 +03:00
# include <linux/ioport.h>
2005-04-17 02:20:36 +04:00
# define HIGH_MEMORY (1024*1024)
# ifndef __ASSEMBLY__
extern struct e820map e820 ;
2008-01-30 15:33:32 +03:00
extern void update_e820 ( void ) ;
2006-04-07 21:49:27 +04:00
extern int e820_all_mapped ( unsigned long start , unsigned long end ,
unsigned type ) ;
2007-05-02 21:27:11 +04:00
extern int e820_any_mapped ( u64 start , u64 end , unsigned type ) ;
2008-04-16 04:29:42 +04:00
extern void propagate_e820_map ( void ) ;
2006-12-07 04:14:06 +03:00
extern void register_bootmem_low_pages ( unsigned long max_low_pfn ) ;
2008-01-30 15:33:32 +03:00
extern void add_memory_region ( unsigned long long start ,
unsigned long long size , int type ) ;
2008-03-19 02:44:19 +03:00
extern void update_memory_range ( u64 start , u64 size , unsigned old_type ,
unsigned new_type ) ;
2006-12-22 12:09:54 +03:00
extern void e820_register_memory ( void ) ;
2006-12-07 04:14:06 +03:00
extern void limit_regions ( unsigned long long size ) ;
extern void print_memory_map ( char * who ) ;
2008-01-30 15:31:19 +03:00
extern void init_iomem_resources ( struct resource * code_resource ,
2008-03-23 11:02:04 +03:00
struct resource * data_resource ,
struct resource * bss_resource ) ;
2006-04-07 21:49:27 +04:00
2007-07-30 01:24:36 +04:00
# if defined(CONFIG_PM) && defined(CONFIG_HIBERNATION)
2007-07-21 19:11:09 +04:00
extern void e820_mark_nosave_regions ( void ) ;
# else
static inline void e820_mark_nosave_regions ( void )
{
}
# endif
2008-01-30 15:30:32 +03:00
2005-04-17 02:20:36 +04:00
# endif /*!__ASSEMBLY__*/
# endif /*__E820_HEADER*/