#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/mm.h>
#include <linux/hugetlb.h>
#include <linux/initrd.h>
#include <linux/swap.h>
#include <linux/pagemap.h>
#include <linux/poison.h>
#include <linux/fs.h>
#include <linux/seq_file.h>
#include <linux/kprobes.h>
#include <linux/cache.h>
#include <linux/sort.h>
#include <linux/percpu.h>
#include <linux/memblock.h>
#include <linux/mmzone.h>
#include <linux/gfp.h>
#include <asm/head.h>
#include <asm/page.h>
#include <asm/pgalloc.h>
#include <asm/pgtable.h>
#include <asm/oplib.h>
#include <asm/iommu.h>
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/mmu_context.h>
#include <asm/tlbflush.h>
#include <asm/dma.h>
#include <asm/starfire.h>
#include <asm/tlb.h>
#include <asm/spitfire.h>
#include <asm/sections.h>
#include <asm/tsb.h>
#include <asm/hypervisor.h>
#include <asm/prom.h>
#include <asm/mdesc.h>
#include <asm/cpudata.h>
#include <asm/irq.h>
#include "init_64.h"
Go to the source code of this file.
|
| EXPORT_SYMBOL (sparc64_valid_addr_bitmap) |
|
| EXPORT_SYMBOL (mem_map_zero) |
|
void | flush_dcache_page_impl (struct page *page) |
|
void | update_mmu_cache (struct vm_area_struct *vma, unsigned long address, pte_t *ptep) |
|
void | flush_dcache_page (struct page *page) |
|
| EXPORT_SYMBOL (flush_dcache_page) |
|
void __kprobes | flush_icache_range (unsigned long start, unsigned long end) |
|
| EXPORT_SYMBOL (flush_icache_range) |
|
void | mmu_info (struct seq_file *m) |
|
void | prom_world (int enter) |
|
void | __flush_dcache_range (unsigned long start, unsigned long end) |
|
| EXPORT_SYMBOL (__flush_dcache_range) |
|
| DEFINE_SPINLOCK (ctx_alloc_lock) |
|
| DECLARE_BITMAP (mmu_context_bmap, MAX_CTX_NR) |
|
void | get_new_mmu_context (struct mm_struct *mm) |
|
| early_param ("numa", early_numa) |
|
unsigned long __init | find_ecache_flush_span (unsigned long size) |
|
void __cpuinit | sun4v_ktsb_register (void) |
|
void __init | paging_init (void) |
|
int __devinit | page_in_phys_avail (unsigned long paddr) |
|
void __init | mem_init (void) |
|
void | free_initmem (void) |
|
| EXPORT_SYMBOL (PAGE_KERNEL) |
|
| EXPORT_SYMBOL (PAGE_SHARED) |
|
| EXPORT_SYMBOL (_PAGE_IE) |
|
| EXPORT_SYMBOL (_PAGE_E) |
|
| EXPORT_SYMBOL (_PAGE_CACHE) |
|
unsigned long | pte_sz_bits (unsigned long sz) |
|
pte_t | mk_pte_io (unsigned long page, pgprot_t prot, int space, unsigned long page_size) |
|
void | __flush_tlb_all (void) |
|
pte_t * | pte_alloc_one_kernel (struct mm_struct *mm, unsigned long address) |
|
pgtable_t | pte_alloc_one (struct mm_struct *mm, unsigned long address) |
|
void | pte_free_kernel (struct mm_struct *mm, pte_t *pte) |
|
void | pte_free (struct mm_struct *mm, pgtable_t pte) |
|
void | pgtable_free (void *table, bool is_page) |
|
#define MAX_CTX_NR (1UL << CTX_NR_BITS) |
#define numadbg |
( |
|
f, |
|
|
|
a... |
|
) |
| |
Value:do { if (numa_debug) \
} while (0)
Definition at line 741 of file init_64.c.
#define PG_dcache_cpu_mask ((1UL<<ilog2(roundup_pow_of_two(NR_CPUS)))-1UL) |
#define PG_dcache_cpu_shift 32UL |
void __flush_dcache_range |
( |
unsigned long |
start, |
|
|
unsigned long |
end |
|
) |
| |
early_param |
( |
"numa" |
, |
|
|
early_numa |
|
|
) |
| |
flush_icache_range - Globally flush dcache and invalidate icache for region : The starting virtual address of the region. : The ending virtual address of the region.
This is used by the kernel to globally flush some code it has just written from the dcache back to RAM and then to globally invalidate the icache over that region so that that code can be run on all CPUs in the system.
Definition at line 403 of file init_64.c.
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 1748 of file init_64.c.
OK, this one's a bit tricky... ioremap can get called before memory is initialized (early serial console does this) and will want to alloc a page for its mapping. No userspace pages will ever get allocated before memory is initialized so this applies only to kernel pages. In the event that this is called before memory is initialized we allocate the page using the memblock infrastructure.
Definition at line 2516 of file init_64.c.
unsigned long pte_sz_bits |
( |
unsigned long |
sz | ) |
|
unsigned long kern_locked_tte_data |
int num_kernel_image_mappings |
unsigned int sparc_ramdisk_image |
unsigned long sparc_ramdisk_image64 |
unsigned int sparc_ramdisk_size |
pgd_t swapper_pg_dir[2048] |