aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc/mm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc/mm')
-rw-r--r--arch/ppc/mm/fsl_booke_mmu.c2
-rw-r--r--arch/ppc/mm/init.c17
-rw-r--r--arch/ppc/mm/mmu_decl.h2
-rw-r--r--arch/ppc/mm/pgtable.c1
4 files changed, 5 insertions, 17 deletions
diff --git a/arch/ppc/mm/fsl_booke_mmu.c b/arch/ppc/mm/fsl_booke_mmu.c
index 36233bdcdf8f..e07990efa046 100644
--- a/arch/ppc/mm/fsl_booke_mmu.c
+++ b/arch/ppc/mm/fsl_booke_mmu.c
@@ -64,6 +64,8 @@ extern unsigned long total_lowmem;
64extern unsigned long __max_low_memory; 64extern unsigned long __max_low_memory;
65#define MAX_LOW_MEM CONFIG_LOWMEM_SIZE 65#define MAX_LOW_MEM CONFIG_LOWMEM_SIZE
66 66
67#define NUM_TLBCAMS (16)
68
67struct tlbcam { 69struct tlbcam {
68 u32 MAS0; 70 u32 MAS0;
69 u32 MAS1; 71 u32 MAS1;
diff --git a/arch/ppc/mm/init.c b/arch/ppc/mm/init.c
index 363c157e3617..334ef4150d92 100644
--- a/arch/ppc/mm/init.c
+++ b/arch/ppc/mm/init.c
@@ -96,9 +96,6 @@ extern struct task_struct *current_set[NR_CPUS];
96char *klimit = _end; 96char *klimit = _end;
97struct mem_pieces phys_avail; 97struct mem_pieces phys_avail;
98 98
99extern char *sysmap;
100extern unsigned long sysmap_size;
101
102/* 99/*
103 * this tells the system to map all of ram with the segregs 100 * this tells the system to map all of ram with the segregs
104 * (i.e. page tables) instead of the bats. 101 * (i.e. page tables) instead of the bats.
@@ -442,12 +439,6 @@ void __init mem_init(void)
442 if (agp_special_page) 439 if (agp_special_page)
443 SetPageReserved(virt_to_page(agp_special_page)); 440 SetPageReserved(virt_to_page(agp_special_page));
444#endif 441#endif
445 if ( sysmap )
446 for (addr = (unsigned long)sysmap;
447 addr < PAGE_ALIGN((unsigned long)sysmap+sysmap_size) ;
448 addr += PAGE_SIZE)
449 SetPageReserved(virt_to_page(addr));
450
451 for (addr = PAGE_OFFSET; addr < (unsigned long)high_memory; 442 for (addr = PAGE_OFFSET; addr < (unsigned long)high_memory;
452 addr += PAGE_SIZE) { 443 addr += PAGE_SIZE) {
453 if (!PageReserved(virt_to_page(addr))) 444 if (!PageReserved(virt_to_page(addr)))
@@ -469,7 +460,6 @@ void __init mem_init(void)
469 struct page *page = mem_map + pfn; 460 struct page *page = mem_map + pfn;
470 461
471 ClearPageReserved(page); 462 ClearPageReserved(page);
472 set_bit(PG_highmem, &page->flags);
473 set_page_count(page, 1); 463 set_page_count(page, 1);
474 __free_page(page); 464 __free_page(page);
475 totalhigh_pages++; 465 totalhigh_pages++;
@@ -483,9 +473,7 @@ void __init mem_init(void)
483 codepages<< (PAGE_SHIFT-10), datapages<< (PAGE_SHIFT-10), 473 codepages<< (PAGE_SHIFT-10), datapages<< (PAGE_SHIFT-10),
484 initpages<< (PAGE_SHIFT-10), 474 initpages<< (PAGE_SHIFT-10),
485 (unsigned long) (totalhigh_pages << (PAGE_SHIFT-10))); 475 (unsigned long) (totalhigh_pages << (PAGE_SHIFT-10)));
486 if (sysmap) 476
487 printk("System.map loaded at 0x%08x for debugger, size: %ld bytes\n",
488 (unsigned int)sysmap, sysmap_size);
489#ifdef CONFIG_PPC_PMAC 477#ifdef CONFIG_PPC_PMAC
490 if (agp_special_page) 478 if (agp_special_page)
491 printk(KERN_INFO "AGP special page: 0x%08lx\n", agp_special_page); 479 printk(KERN_INFO "AGP special page: 0x%08lx\n", agp_special_page);
@@ -535,9 +523,6 @@ set_phys_avail(unsigned long total_memory)
535 if (rtas_data) 523 if (rtas_data)
536 mem_pieces_remove(&phys_avail, rtas_data, rtas_size, 1); 524 mem_pieces_remove(&phys_avail, rtas_data, rtas_size, 1);
537#endif 525#endif
538 /* remove the sysmap pages from the available memory */
539 if (sysmap)
540 mem_pieces_remove(&phys_avail, __pa(sysmap), sysmap_size, 1);
541#ifdef CONFIG_PPC_PMAC 526#ifdef CONFIG_PPC_PMAC
542 /* Because of some uninorth weirdness, we need a page of 527 /* Because of some uninorth weirdness, we need a page of
543 * memory as high as possible (it must be outside of the 528 * memory as high as possible (it must be outside of the
diff --git a/arch/ppc/mm/mmu_decl.h b/arch/ppc/mm/mmu_decl.h
index ffcdb46997dc..540f3292b229 100644
--- a/arch/ppc/mm/mmu_decl.h
+++ b/arch/ppc/mm/mmu_decl.h
@@ -43,6 +43,8 @@ extern int mem_init_done;
43extern PTE *Hash, *Hash_end; 43extern PTE *Hash, *Hash_end;
44extern unsigned long Hash_size, Hash_mask; 44extern unsigned long Hash_size, Hash_mask;
45 45
46extern unsigned int num_tlbcam_entries;
47
46/* ...and now those things that may be slightly different between processor 48/* ...and now those things that may be slightly different between processor
47 * architectures. -- Dan 49 * architectures. -- Dan
48 */ 50 */
diff --git a/arch/ppc/mm/pgtable.c b/arch/ppc/mm/pgtable.c
index 5d2f3f66aefa..81a3d7446d37 100644
--- a/arch/ppc/mm/pgtable.c
+++ b/arch/ppc/mm/pgtable.c
@@ -66,7 +66,6 @@ void setbat(int index, unsigned long virt, unsigned long phys,
66 66
67#ifdef HAVE_TLBCAM 67#ifdef HAVE_TLBCAM
68extern unsigned int tlbcam_index; 68extern unsigned int tlbcam_index;
69extern unsigned int num_tlbcam_entries;
70extern unsigned long v_mapped_by_tlbcam(unsigned long va); 69extern unsigned long v_mapped_by_tlbcam(unsigned long va);
71extern unsigned long p_mapped_by_tlbcam(unsigned long pa); 70extern unsigned long p_mapped_by_tlbcam(unsigned long pa);
72#else /* !HAVE_TLBCAM */ 71#else /* !HAVE_TLBCAM */