X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc64%2Fmm%2Finit.c;h=5043702a470f36b1719dac80309d1cee6056eebd;hb=5e3b93f248c98873cc843e83092bb8da92ac85a2;hp=99d923868a6e67775e4b49ef2f2647ca7e93c782;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c index 99d923868..5043702a4 100644 --- a/arch/ppc64/mm/init.c +++ b/arch/ppc64/mm/init.c @@ -89,15 +89,15 @@ unsigned long top_of_ram; void show_mem(void) { - unsigned long total = 0, reserved = 0; - unsigned long shared = 0, cached = 0; + int total = 0, reserved = 0; + int shared = 0, cached = 0; struct page *page; pg_data_t *pgdat; unsigned long i; printk("Mem-info:\n"); show_free_areas(); - printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); + printk("Free swap: %6dkB\n",nr_swap_pages<<(PAGE_SHIFT-10)); for_each_pgdat(pgdat) { for (i = 0; i < pgdat->node_spanned_pages; i++) { page = pgdat->node_mem_map + i; @@ -110,10 +110,10 @@ void show_mem(void) shared += page_count(page) - 1; } } - printk("%ld pages of RAM\n", total); - printk("%ld reserved pages\n", reserved); - printk("%ld pages shared\n", shared); - printk("%ld pages swap cached\n", cached); + printk("%d pages of RAM\n",total); + printk("%d reserved pages\n",reserved); + printk("%d pages shared\n",shared); + printk("%d pages swap cached\n",cached); } #ifdef CONFIG_PPC_ISERIES @@ -545,8 +545,6 @@ void __init do_init_bootmem(void) boot_mapsize = init_bootmem(start >> PAGE_SHIFT, total_pages); - max_pfn = max_low_pfn; - /* add all physical memory to the bootmem map. Also find the first */ for (i=0; i < lmb.memory.cnt; i++) { unsigned long physbase, size; @@ -631,6 +629,7 @@ void __init mem_init(void) num_physpages = max_low_pfn; /* RAM is assumed contiguous */ high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); + max_pfn = max_low_pfn; #ifdef CONFIG_DISCONTIGMEM { @@ -655,7 +654,7 @@ void __init mem_init(void) totalram_pages += free_all_bootmem(); - for (addr = KERNELBASE; addr < (unsigned long)__va(lmb_end_of_DRAM()); + for (addr = KERNELBASE; addr <= (unsigned long)__va(lmb_end_of_DRAM()); addr += PAGE_SIZE) { if (!PageReserved(virt_to_page(addr))) continue; @@ -765,8 +764,8 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long ea, void *pgdir; pte_t *ptep; int local = 0; + int cpu; cpumask_t tmp; - unsigned long flags; /* handle i-cache coherency */ if (!(cur_cpu_spec->cpu_features & CPU_FTR_COHERENT_ICACHE) && @@ -796,14 +795,14 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long ea, vsid = get_vsid(vma->vm_mm->context.id, ea); - local_irq_save(flags); - tmp = cpumask_of_cpu(smp_processor_id()); + cpu = get_cpu(); + tmp = cpumask_of_cpu(cpu); if (cpus_equal(vma->vm_mm->cpu_vm_mask, tmp)) local = 1; __hash_page(ea, pte_val(pte) & (_PAGE_USER|_PAGE_RW), vsid, ptep, 0x300, local); - local_irq_restore(flags); + put_cpu(); } void * reserve_phb_iospace(unsigned long size)