diff options
Diffstat (limited to 'arch/powerpc/mm/hash_low_32.S')
-rw-r--r-- | arch/powerpc/mm/hash_low_32.S | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/arch/powerpc/mm/hash_low_32.S b/arch/powerpc/mm/hash_low_32.S index ea469eefa146..94255beeecd3 100644 --- a/arch/powerpc/mm/hash_low_32.S +++ b/arch/powerpc/mm/hash_low_32.S | |||
@@ -74,12 +74,6 @@ _GLOBAL(hash_page_sync) | |||
74 | */ | 74 | */ |
75 | .text | 75 | .text |
76 | _GLOBAL(hash_page) | 76 | _GLOBAL(hash_page) |
77 | #ifdef CONFIG_PPC64BRIDGE | ||
78 | mfmsr r0 | ||
79 | clrldi r0,r0,1 /* make sure it's in 32-bit mode */ | ||
80 | MTMSRD(r0) | ||
81 | isync | ||
82 | #endif | ||
83 | tophys(r7,0) /* gets -KERNELBASE into r7 */ | 77 | tophys(r7,0) /* gets -KERNELBASE into r7 */ |
84 | #ifdef CONFIG_SMP | 78 | #ifdef CONFIG_SMP |
85 | addis r8,r7,mmu_hash_lock@h | 79 | addis r8,r7,mmu_hash_lock@h |
@@ -285,7 +279,6 @@ Hash_base = 0xc0180000 | |||
285 | Hash_bits = 12 /* e.g. 256kB hash table */ | 279 | Hash_bits = 12 /* e.g. 256kB hash table */ |
286 | Hash_msk = (((1 << Hash_bits) - 1) * 64) | 280 | Hash_msk = (((1 << Hash_bits) - 1) * 64) |
287 | 281 | ||
288 | #ifndef CONFIG_PPC64BRIDGE | ||
289 | /* defines for the PTE format for 32-bit PPCs */ | 282 | /* defines for the PTE format for 32-bit PPCs */ |
290 | #define PTE_SIZE 8 | 283 | #define PTE_SIZE 8 |
291 | #define PTEG_SIZE 64 | 284 | #define PTEG_SIZE 64 |
@@ -299,21 +292,6 @@ Hash_msk = (((1 << Hash_bits) - 1) * 64) | |||
299 | #define SET_V(r) oris r,r,PTE_V@h | 292 | #define SET_V(r) oris r,r,PTE_V@h |
300 | #define CLR_V(r,t) rlwinm r,r,0,1,31 | 293 | #define CLR_V(r,t) rlwinm r,r,0,1,31 |
301 | 294 | ||
302 | #else | ||
303 | /* defines for the PTE format for 64-bit PPCs */ | ||
304 | #define PTE_SIZE 16 | ||
305 | #define PTEG_SIZE 128 | ||
306 | #define LG_PTEG_SIZE 7 | ||
307 | #define LDPTEu ldu | ||
308 | #define STPTE std | ||
309 | #define CMPPTE cmpd | ||
310 | #define PTE_H 2 | ||
311 | #define PTE_V 1 | ||
312 | #define TST_V(r) andi. r,r,PTE_V | ||
313 | #define SET_V(r) ori r,r,PTE_V | ||
314 | #define CLR_V(r,t) li t,PTE_V; andc r,r,t | ||
315 | #endif /* CONFIG_PPC64BRIDGE */ | ||
316 | |||
317 | #define HASH_LEFT 31-(LG_PTEG_SIZE+Hash_bits-1) | 295 | #define HASH_LEFT 31-(LG_PTEG_SIZE+Hash_bits-1) |
318 | #define HASH_RIGHT 31-LG_PTEG_SIZE | 296 | #define HASH_RIGHT 31-LG_PTEG_SIZE |
319 | 297 | ||
@@ -331,14 +309,8 @@ BEGIN_FTR_SECTION | |||
331 | END_FTR_SECTION_IFSET(CPU_FTR_NEED_COHERENT) | 309 | END_FTR_SECTION_IFSET(CPU_FTR_NEED_COHERENT) |
332 | 310 | ||
333 | /* Construct the high word of the PPC-style PTE (r5) */ | 311 | /* Construct the high word of the PPC-style PTE (r5) */ |
334 | #ifndef CONFIG_PPC64BRIDGE | ||
335 | rlwinm r5,r3,7,1,24 /* put VSID in 0x7fffff80 bits */ | 312 | rlwinm r5,r3,7,1,24 /* put VSID in 0x7fffff80 bits */ |
336 | rlwimi r5,r4,10,26,31 /* put in API (abbrev page index) */ | 313 | rlwimi r5,r4,10,26,31 /* put in API (abbrev page index) */ |
337 | #else /* CONFIG_PPC64BRIDGE */ | ||
338 | clrlwi r3,r3,8 /* reduce vsid to 24 bits */ | ||
339 | sldi r5,r3,12 /* shift vsid into position */ | ||
340 | rlwimi r5,r4,16,20,24 /* put in API (abbrev page index) */ | ||
341 | #endif /* CONFIG_PPC64BRIDGE */ | ||
342 | SET_V(r5) /* set V (valid) bit */ | 314 | SET_V(r5) /* set V (valid) bit */ |
343 | 315 | ||
344 | /* Get the address of the primary PTE group in the hash table (r3) */ | 316 | /* Get the address of the primary PTE group in the hash table (r3) */ |
@@ -516,14 +488,8 @@ _GLOBAL(flush_hash_pages) | |||
516 | add r3,r3,r0 /* note code below trims to 24 bits */ | 488 | add r3,r3,r0 /* note code below trims to 24 bits */ |
517 | 489 | ||
518 | /* Construct the high word of the PPC-style PTE (r11) */ | 490 | /* Construct the high word of the PPC-style PTE (r11) */ |
519 | #ifndef CONFIG_PPC64BRIDGE | ||
520 | rlwinm r11,r3,7,1,24 /* put VSID in 0x7fffff80 bits */ | 491 | rlwinm r11,r3,7,1,24 /* put VSID in 0x7fffff80 bits */ |
521 | rlwimi r11,r4,10,26,31 /* put in API (abbrev page index) */ | 492 | rlwimi r11,r4,10,26,31 /* put in API (abbrev page index) */ |
522 | #else /* CONFIG_PPC64BRIDGE */ | ||
523 | clrlwi r3,r3,8 /* reduce vsid to 24 bits */ | ||
524 | sldi r11,r3,12 /* shift vsid into position */ | ||
525 | rlwimi r11,r4,16,20,24 /* put in API (abbrev page index) */ | ||
526 | #endif /* CONFIG_PPC64BRIDGE */ | ||
527 | SET_V(r11) /* set V (valid) bit */ | 493 | SET_V(r11) /* set V (valid) bit */ |
528 | 494 | ||
529 | #ifdef CONFIG_SMP | 495 | #ifdef CONFIG_SMP |