diff options
Diffstat (limited to 'arch/powerpc/mm/fsl_booke_mmu.c')
-rw-r--r-- | arch/powerpc/mm/fsl_booke_mmu.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index 1ed6b52f3031..cdc7526e9c93 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * Modifications by Kumar Gala (galak@kernel.crashing.org) to support | 2 | * Modifications by Kumar Gala (galak@kernel.crashing.org) to support |
3 | * E500 Book E processors. | 3 | * E500 Book E processors. |
4 | * | 4 | * |
5 | * Copyright 2004 Freescale Semiconductor, Inc | 5 | * Copyright 2004,2010 Freescale Semiconductor, Inc. |
6 | * | 6 | * |
7 | * This file contains the routines for initializing the MMU | 7 | * This file contains the routines for initializing the MMU |
8 | * on the 4xx series of chips. | 8 | * on the 4xx series of chips. |
@@ -56,19 +56,13 @@ | |||
56 | 56 | ||
57 | unsigned int tlbcam_index; | 57 | unsigned int tlbcam_index; |
58 | 58 | ||
59 | #define NUM_TLBCAMS (64) | ||
60 | 59 | ||
61 | #if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS) | 60 | #if defined(CONFIG_LOWMEM_CAM_NUM_BOOL) && (CONFIG_LOWMEM_CAM_NUM >= NUM_TLBCAMS) |
62 | #error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS" | 61 | #error "LOWMEM_CAM_NUM must be less than NUM_TLBCAMS" |
63 | #endif | 62 | #endif |
64 | 63 | ||
65 | struct tlbcam { | 64 | #define NUM_TLBCAMS (64) |
66 | u32 MAS0; | 65 | struct tlbcam TLBCAM[NUM_TLBCAMS]; |
67 | u32 MAS1; | ||
68 | unsigned long MAS2; | ||
69 | u32 MAS3; | ||
70 | u32 MAS7; | ||
71 | } TLBCAM[NUM_TLBCAMS]; | ||
72 | 66 | ||
73 | struct tlbcamrange { | 67 | struct tlbcamrange { |
74 | unsigned long start; | 68 | unsigned long start; |
@@ -109,19 +103,6 @@ unsigned long p_mapped_by_tlbcam(phys_addr_t pa) | |||
109 | return 0; | 103 | return 0; |
110 | } | 104 | } |
111 | 105 | ||
112 | void loadcam_entry(int idx) | ||
113 | { | ||
114 | mtspr(SPRN_MAS0, TLBCAM[idx].MAS0); | ||
115 | mtspr(SPRN_MAS1, TLBCAM[idx].MAS1); | ||
116 | mtspr(SPRN_MAS2, TLBCAM[idx].MAS2); | ||
117 | mtspr(SPRN_MAS3, TLBCAM[idx].MAS3); | ||
118 | |||
119 | if (mmu_has_feature(MMU_FTR_BIG_PHYS)) | ||
120 | mtspr(SPRN_MAS7, TLBCAM[idx].MAS7); | ||
121 | |||
122 | asm volatile("isync;tlbwe;isync" : : : "memory"); | ||
123 | } | ||
124 | |||
125 | /* | 106 | /* |
126 | * Set up one of the I/D BAT (block address translation) register pairs. | 107 | * Set up one of the I/D BAT (block address translation) register pairs. |
127 | * The parameters are not checked; in particular size must be a power | 108 | * The parameters are not checked; in particular size must be a power |