Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
init_32.c File Reference
#include <linux/module.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/ptrace.h>
#include <linux/mman.h>
#include <linux/mm.h>
#include <linux/hugetlb.h>
#include <linux/swap.h>
#include <linux/smp.h>
#include <linux/init.h>
#include <linux/highmem.h>
#include <linux/pagemap.h>
#include <linux/pci.h>
#include <linux/pfn.h>
#include <linux/poison.h>
#include <linux/bootmem.h>
#include <linux/memblock.h>
#include <linux/proc_fs.h>
#include <linux/memory_hotplug.h>
#include <linux/initrd.h>
#include <linux/cpumask.h>
#include <linux/gfp.h>
#include <asm/asm.h>
#include <asm/bios_ebda.h>
#include <asm/processor.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/dma.h>
#include <asm/fixmap.h>
#include <asm/e820.h>
#include <asm/apic.h>
#include <asm/bugs.h>
#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <asm/olpc_ofw.h>
#include <asm/pgalloc.h>
#include <asm/sections.h>
#include <asm/paravirt.h>
#include <asm/setup.h>
#include <asm/cacheflush.h>
#include <asm/page_types.h>
#include <asm/init.h>

Go to the source code of this file.

Macros

#define MSG_HIGHMEM_TOO_BIG   "highmem size (%luMB) is bigger than pages available (%luMB)!\n"
 
#define MSG_LOWMEM_TOO_SMALL   "highmem size (%luMB) results in <64MB lowmem, ignoring it!\n"
 
#define MSG_HIGHMEM_TOO_SMALL   "only %luMB highmem pages available, ignoring highmem size of %luMB!\n"
 
#define MSG_HIGHMEM_TRIMMED   "Warning: only 4GB will be used. Use a HIGHMEM64G enabled kernel!\n"
 
#define __FIXADDR_TOP   (-PAGE_SIZE)
 
#define high_memory   (-128UL << 20)
 

Functions

pmd_t *__init populate_extra_pmd (unsigned long vaddr)
 
pte_t *__init populate_extra_pte (unsigned long vaddr)
 
unsigned long __init kernel_physical_mapping_init (unsigned long start, unsigned long end, unsigned long page_size_mask)
 
void __init native_pagetable_init (void)
 
void __init early_ioremap_page_table_range_init (void)
 
 EXPORT_SYMBOL_GPL (__supported_pte_mask)
 
 early_param ("highmem", parse_highmem)
 
void __init lowmem_pfn_init (void)
 
void __init highmem_pfn_init (void)
 
void __init find_low_pfn_range (void)
 
void __init initmem_init (void)
 
void __init setup_bootmem_allocator (void)
 
void __init paging_init (void)
 
void __init mem_init (void)
 

Variables

unsigned long highstart_pfn
 
unsigned long highend_pfn
 
bool __read_mostly __vmalloc_start_set = false
 
pte_tkmap_pte
 
pgprot_t kmap_prot
 
pteval_t __supported_pte_mask __read_mostly = ~(_PAGE_NX | _PAGE_GLOBAL | _PAGE_IOMAP)
 

Macro Definition Documentation

#define __FIXADDR_TOP   (-PAGE_SIZE)
#define high_memory   (-128UL << 20)
#define MSG_HIGHMEM_TOO_BIG   "highmem size (%luMB) is bigger than pages available (%luMB)!\n"

Definition at line 543 of file init_32.c.

#define MSG_HIGHMEM_TOO_SMALL   "only %luMB highmem pages available, ignoring highmem size of %luMB!\n"

Definition at line 580 of file init_32.c.

#define MSG_HIGHMEM_TRIMMED   "Warning: only 4GB will be used. Use a HIGHMEM64G enabled kernel!\n"

Definition at line 583 of file init_32.c.

#define MSG_LOWMEM_TOO_SMALL   "highmem size (%luMB) results in <64MB lowmem, ignoring it!\n"

Definition at line 546 of file init_32.c.

Function Documentation

void __init early_ioremap_page_table_range_init ( void  )

Definition at line 500 of file init_32.c.

early_param ( "highmem"  ,
parse_highmem   
)
EXPORT_SYMBOL_GPL ( __supported_pte_mask  )
void __init find_low_pfn_range ( void  )

Definition at line 626 of file init_32.c.

void __init highmem_pfn_init ( void  )

Definition at line 589 of file init_32.c.

void __init initmem_init ( void  )

Definition at line 637 of file init_32.c.

unsigned long __init kernel_physical_mapping_init ( unsigned long  start,
unsigned long  end,
unsigned long  page_size_mask 
)

Definition at line 240 of file init_32.c.

void __init lowmem_pfn_init ( void  )

Definition at line 553 of file init_32.c.

void __init mem_init ( void  )

Definition at line 727 of file init_32.c.

void __init native_pagetable_init ( void  )

Definition at line 448 of file init_32.c.

void __init paging_init ( void  )

paging_init - setup page tables

paging_init() sets up the page tables for each node of the system and frees the bootmem allocator memory for general use.

Definition at line 683 of file init_32.c.

pmd_t* __init populate_extra_pmd ( unsigned long  vaddr)

Definition at line 132 of file init_32.c.

pte_t* __init populate_extra_pte ( unsigned long  vaddr)

Definition at line 140 of file init_32.c.

void __init setup_bootmem_allocator ( void  )

Definition at line 667 of file init_32.c.

Variable Documentation

Definition at line 522 of file init_32.c.

bool __read_mostly __vmalloc_start_set = false

Definition at line 60 of file init_32.c.

unsigned long highend_pfn

Definition at line 56 of file init_32.c.

unsigned long highstart_pfn

Definition at line 56 of file init_32.c.

pgprot_t kmap_prot

Definition at line 378 of file init_32.c.

pte_t* kmap_pte

Definition at line 377 of file init_32.c.