diff options
Diffstat (limited to 'arch/blackfin/mm/init.c')
| -rw-r--r-- | arch/blackfin/mm/init.c | 35 | 
1 files changed, 13 insertions, 22 deletions
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c index 9c3629b9a68..68bd0bd680c 100644 --- a/arch/blackfin/mm/init.c +++ b/arch/blackfin/mm/init.c @@ -52,9 +52,14 @@ static unsigned long empty_bad_page_table;  static unsigned long empty_bad_page; -unsigned long empty_zero_page; +static unsigned long empty_zero_page; -extern unsigned long exception_stack[NR_CPUS][1024]; +#ifndef CONFIG_EXCEPTION_L1_SCRATCH +#if defined CONFIG_SYSCALL_TAB_L1 +__attribute__((l1_data)) +#endif +static unsigned long exception_stack[NR_CPUS][1024]; +#endif  struct blackfin_pda cpu_pda[NR_CPUS];  EXPORT_SYMBOL(cpu_pda); @@ -117,19 +122,18 @@ asmlinkage void __init init_pda(void)  	cpu_pda[0].next = &cpu_pda[1];  	cpu_pda[1].next = &cpu_pda[0]; +#ifdef CONFIG_EXCEPTION_L1_SCRATCH +	cpu_pda[cpu].ex_stack = (unsigned long *)(L1_SCRATCH_START + \ +					L1_SCRATCH_LENGTH); +#else  	cpu_pda[cpu].ex_stack = exception_stack[cpu + 1]; +#endif  #ifdef CONFIG_SMP  	cpu_pda[cpu].imask = 0x1f;  #endif  } -void __cpuinit reserve_pda(void) -{ -	printk(KERN_INFO "PDA for CPU%u reserved at %p\n", smp_processor_id(), -					&cpu_pda[smp_processor_id()]); -} -  void __init mem_init(void)  {  	unsigned int codek = 0, datak = 0, initk = 0; @@ -156,7 +160,7 @@ void __init mem_init(void)  	/* do not count in kernel image between _rambase and _ramstart */  	reservedpages -= (_ramstart - _rambase) >> PAGE_SHIFT; -#if (defined(CONFIG_BFIN_ICACHE) && ANOMALY_05000263) +#if (defined(CONFIG_BFIN_EXTMEM_ICACHEABLE) && ANOMALY_05000263)  	reservedpages += (_ramend - memory_end - DMA_UNCACHED_REGION) >> PAGE_SHIFT;  #endif @@ -171,19 +175,6 @@ void __init mem_init(void)  		initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10)));  } -static int __init sram_init(void) -{ -	/* Initialize the blackfin L1 Memory. */ -	bfin_sram_init(); - -	/* Reserve the PDA space for the boot CPU right after we -	 * initialized the scratch memory allocator. -	 */ -	reserve_pda(); -	return 0; -} -pure_initcall(sram_init); -  static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end)  {  	unsigned long addr;  |