.. | .. |
---|
17 | 17 | |
---|
18 | 18 | #include <asm/cacheops.h> |
---|
19 | 19 | #include <asm/page.h> |
---|
20 | | -#include <asm/pgtable.h> |
---|
21 | 20 | #include <asm/mmu_context.h> |
---|
22 | 21 | #include <asm/isadep.h> |
---|
23 | 22 | #include <asm/io.h> |
---|
.. | .. |
---|
169 | 168 | { |
---|
170 | 169 | int exec = vma->vm_flags & VM_EXEC; |
---|
171 | 170 | struct mm_struct *mm = vma->vm_mm; |
---|
172 | | - pgd_t *pgdp; |
---|
173 | | - pud_t *pudp; |
---|
174 | 171 | pmd_t *pmdp; |
---|
175 | 172 | pte_t *ptep; |
---|
176 | 173 | |
---|
.. | .. |
---|
182 | 179 | return; |
---|
183 | 180 | |
---|
184 | 181 | page &= PAGE_MASK; |
---|
185 | | - pgdp = pgd_offset(mm, page); |
---|
186 | | - pudp = pud_offset(pgdp, page); |
---|
187 | | - pmdp = pmd_offset(pudp, page); |
---|
188 | | - ptep = pte_offset(pmdp, page); |
---|
| 182 | + pmdp = pmd_off(mm, page); |
---|
| 183 | + ptep = pte_offset_kernel(pmdp, page); |
---|
189 | 184 | |
---|
190 | 185 | /* |
---|
191 | 186 | * If the page isn't marked valid, the page cannot possibly be |
---|
.. | .. |
---|
290 | 285 | } |
---|
291 | 286 | } |
---|
292 | 287 | |
---|
293 | | -static void tx39_flush_cache_sigtramp(unsigned long addr) |
---|
294 | | -{ |
---|
295 | | - unsigned long ic_lsize = current_cpu_data.icache.linesz; |
---|
296 | | - unsigned long dc_lsize = current_cpu_data.dcache.linesz; |
---|
297 | | - unsigned long config; |
---|
298 | | - unsigned long flags; |
---|
299 | | - |
---|
300 | | - protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); |
---|
301 | | - |
---|
302 | | - /* disable icache (set ICE#) */ |
---|
303 | | - local_irq_save(flags); |
---|
304 | | - config = read_c0_conf(); |
---|
305 | | - write_c0_conf(config & ~TX39_CONF_ICE); |
---|
306 | | - TX39_STOP_STREAMING(); |
---|
307 | | - protected_flush_icache_line(addr & ~(ic_lsize - 1)); |
---|
308 | | - write_c0_conf(config); |
---|
309 | | - local_irq_restore(flags); |
---|
310 | | -} |
---|
311 | | - |
---|
312 | 288 | static __init void tx39_probe_cache(void) |
---|
313 | 289 | { |
---|
314 | 290 | unsigned long config; |
---|
.. | .. |
---|
368 | 344 | flush_icache_range = (void *) tx39h_flush_icache_all; |
---|
369 | 345 | local_flush_icache_range = (void *) tx39h_flush_icache_all; |
---|
370 | 346 | |
---|
371 | | - flush_cache_sigtramp = (void *) tx39h_flush_icache_all; |
---|
372 | 347 | local_flush_data_cache_page = (void *) tx39h_flush_icache_all; |
---|
373 | 348 | flush_data_cache_page = (void *) tx39h_flush_icache_all; |
---|
374 | 349 | |
---|
.. | .. |
---|
397 | 372 | |
---|
398 | 373 | __flush_kernel_vmap_range = tx39_flush_kernel_vmap_range; |
---|
399 | 374 | |
---|
400 | | - flush_cache_sigtramp = tx39_flush_cache_sigtramp; |
---|
401 | 375 | local_flush_data_cache_page = local_tx39_flush_data_cache_page; |
---|
402 | 376 | flush_data_cache_page = tx39_flush_data_cache_page; |
---|
403 | 377 | |
---|
.. | .. |
---|
429 | 403 | current_cpu_data.icache.waybit = 0; |
---|
430 | 404 | current_cpu_data.dcache.waybit = 0; |
---|
431 | 405 | |
---|
432 | | - printk("Primary instruction cache %ldkB, linesize %d bytes\n", |
---|
| 406 | + pr_info("Primary instruction cache %ldkB, linesize %d bytes\n", |
---|
433 | 407 | icache_size >> 10, current_cpu_data.icache.linesz); |
---|
434 | | - printk("Primary data cache %ldkB, linesize %d bytes\n", |
---|
| 408 | + pr_info("Primary data cache %ldkB, linesize %d bytes\n", |
---|
435 | 409 | dcache_size >> 10, current_cpu_data.dcache.linesz); |
---|
436 | 410 | |
---|
437 | 411 | build_clear_page(); |
---|