summaryrefslogtreecommitdiff
path: root/arch/hexagon/mm/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/hexagon/mm/init.c')
-rw-r--r--arch/hexagon/mm/init.c51
1 files changed, 8 insertions, 43 deletions
diff --git a/arch/hexagon/mm/init.c b/arch/hexagon/mm/init.c
index 3458f39ca2ac..07086dbd33fd 100644
--- a/arch/hexagon/mm/init.c
+++ b/arch/hexagon/mm/init.c
@@ -43,32 +43,6 @@ DEFINE_SPINLOCK(kmap_gen_lock);
/* checkpatch says don't init this to 0. */
unsigned long long kmap_generation;
-/*
- * mem_init - initializes memory
- *
- * Frees up bootmem
- * Fixes up more stuff for HIGHMEM
- * Calculates and displays memory available/used
- */
-void __init mem_init(void)
-{
- /* No idea where this is actually declared. Seems to evade LXR. */
- memblock_free_all();
-
- /*
- * To-Do: someone somewhere should wipe out the bootmem map
- * after we're done?
- */
-
- /*
- * This can be moved to some more virtual-memory-specific
- * initialization hook at some point. Set the init_mm
- * descriptors "context" value to point to the initial
- * kernel segment table's physical address.
- */
- init_mm.context.ptbase = __pa(init_mm.pgd);
-}
-
void sync_icache_dcache(pte_t pte)
{
unsigned long addr;
@@ -80,17 +54,8 @@ void sync_icache_dcache(pte_t pte)
__vmcache_idsync(addr, PAGE_SIZE);
}
-/*
- * In order to set up page allocator "nodes",
- * somebody has to call free_area_init() for UMA.
- *
- * In this mode, we only have one pg_data_t
- * structure: contig_mem_data.
- */
-static void __init paging_init(void)
+void __init arch_zone_limits_init(unsigned long *max_zone_pfns)
{
- unsigned long max_zone_pfn[MAX_NR_ZONES] = {0, };
-
/*
* This is not particularly well documented anywhere, but
* give ZONE_NORMAL all the memory, including the big holes
@@ -98,16 +63,16 @@ static void __init paging_init(void)
* in the bootmem_map; free_area_init should see those bits and
* adjust accordingly.
*/
+ max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
+}
- max_zone_pfn[ZONE_NORMAL] = max_low_pfn;
-
- free_area_init(max_zone_pfn); /* sets up the zonelists and mem_map */
-
+static void __init paging_init(void)
+{
/*
- * Start of high memory area. Will probably need something more
- * fancy if we... get more fancy.
+ * Set the init_mm descriptors "context" value to point to the
+ * initial kernel segment table's physical address.
*/
- high_memory = (void *)((bootmem_lastpg + 1) << PAGE_SHIFT);
+ init_mm.context.ptbase = __pa(init_mm.pgd);
}
#ifndef DMA_RESERVE