Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
e820.c File Reference
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/crash_dump.h>
#include <linux/export.h>
#include <linux/bootmem.h>
#include <linux/pfn.h>
#include <linux/suspend.h>
#include <linux/acpi.h>
#include <linux/firmware-map.h>
#include <linux/memblock.h>
#include <linux/sort.h>
#include <asm/e820.h>
#include <asm/proto.h>
#include <asm/setup.h>

Go to the source code of this file.

Data Structures

struct  change_member
 

Macros

#define MAX_GAP_END   0x100000000ull
 
#define MAX_ARCH_PFN   MAXMEM>>PAGE_SHIFT
 
#define MAX_RESOURCE_SIZE   ((resource_size_t)-1)
 

Functions

int e820_any_mapped (u64 start, u64 end, unsigned type)
 
 EXPORT_SYMBOL_GPL (e820_any_mapped)
 
int __init e820_all_mapped (u64 start, u64 end, unsigned type)
 
void __init e820_add_region (u64 start, u64 size, int type)
 
void __init e820_print_map (char *who)
 
int __init sanitize_e820_map (struct e820entry *biosmap, int max_nr_map, u32 *pnr_map)
 
u64 __init e820_update_range (u64 start, u64 size, unsigned old_type, unsigned new_type)
 
u64 __init e820_remove_range (u64 start, u64 size, unsigned old_type, int checktype)
 
void __init update_e820 (void)
 
__init int e820_search_gap (unsigned long *gapstart, unsigned long *gapsize, unsigned long start_addr, unsigned long long end_addr)
 
__init void e820_setup_gap (void)
 
void __init parse_e820_ext (struct setup_data *sdata)
 
u64 __init early_reserve_e820 (u64 size, u64 align)
 
unsigned long __init e820_end_of_ram_pfn (void)
 
unsigned long __init e820_end_of_low_ram_pfn (void)
 
 early_param ("mem", parse_memopt)
 
 early_param ("memmap", parse_memmap_opt)
 
void __init finish_e820_parsing (void)
 
void __init e820_reserve_resources (void)
 
void __init e820_reserve_resources_late (void)
 
char *__init default_machine_specific_memory_setup (void)
 
void __init setup_memory_map (void)
 
void __init memblock_x86_fill (void)
 
void __init memblock_find_dma_reserve (void)
 

Variables

struct e820map e820
 
struct e820map e820_saved
 
unsigned long pci_mem_start = 0xaeedbabe
 

Macro Definition Documentation

#define MAX_ARCH_PFN   MAXMEM>>PAGE_SHIFT

Definition at line 751 of file e820.c.

#define MAX_GAP_END   0x100000000ull

Definition at line 582 of file e820.c.

#define MAX_RESOURCE_SIZE   ((resource_size_t)-1)

Definition at line 969 of file e820.c.

Function Documentation

char* __init default_machine_specific_memory_setup ( void  )

Definition at line 1007 of file e820.c.

void __init e820_add_region ( u64  start,
u64  size,
int  type 
)

Definition at line 128 of file e820.c.

int __init e820_all_mapped ( u64  start,
u64  end,
unsigned  type 
)

Definition at line 79 of file e820.c.

int e820_any_mapped ( u64  start,
u64  end,
unsigned  type 
)

Definition at line 56 of file e820.c.

unsigned long __init e820_end_of_low_ram_pfn ( void  )

Definition at line 796 of file e820.c.

unsigned long __init e820_end_of_ram_pfn ( void  )

Definition at line 791 of file e820.c.

void __init e820_print_map ( char who)

Definition at line 158 of file e820.c.

u64 __init e820_remove_range ( u64  start,
u64  size,
unsigned  old_type,
int  checktype 
)

Definition at line 502 of file e820.c.

void __init e820_reserve_resources ( void  )

Definition at line 912 of file e820.c.

void __init e820_reserve_resources_late ( void  )

Definition at line 971 of file e820.c.

__init int e820_search_gap ( unsigned long gapstart,
unsigned long gapsize,
unsigned long  start_addr,
unsigned long long  end_addr 
)

Definition at line 586 of file e820.c.

__init void e820_setup_gap ( void  )

Definition at line 627 of file e820.c.

u64 __init e820_update_range ( u64  start,
u64  size,
unsigned  old_type,
unsigned  new_type 
)

Definition at line 488 of file e820.c.

early_param ( "mem"  ,
parse_memopt   
)
early_param ( "memmap"  ,
parse_memmap_opt   
)
u64 __init early_reserve_e820 ( u64  size,
u64  align 
)

Definition at line 730 of file e820.c.

EXPORT_SYMBOL_GPL ( e820_any_mapped  )
void __init finish_e820_parsing ( void  )

Definition at line 882 of file e820.c.

void __init memblock_find_dma_reserve ( void  )

Definition at line 1086 of file e820.c.

void __init memblock_x86_fill ( void  )

Definition at line 1055 of file e820.c.

void __init parse_e820_ext ( struct setup_data sdata)

Because of the size limitation of struct boot_params, only first 128 E820 memory entries are passed to kernel via boot_params.e820_map, others are passed via SETUP_E820_EXT node of linked list of struct setup_data, which is parsed here.

Definition at line 661 of file e820.c.

int __init sanitize_e820_map ( struct e820entry biosmap,
int  max_nr_map,
u32 pnr_map 
)

Definition at line 255 of file e820.c.

void __init setup_memory_map ( void  )

Definition at line 1045 of file e820.c.

void __init update_e820 ( void  )

Definition at line 562 of file e820.c.

Variable Documentation

Definition at line 42 of file e820.c.

struct e820map e820_saved

Definition at line 43 of file e820.c.

unsigned long pci_mem_start = 0xaeedbabe

Definition at line 46 of file e820.c.