diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-02-04 06:10:53 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:11:40 -0500 |
commit | a43fe0e789f5445f5224511034f410adf11f153b (patch) | |
tree | cface7b6e616be616899da8c0762f904263c5985 /arch/sparc64/mm/init.c | |
parent | 1633a53c79498455b16d051451f4e3f83ab4e7dd (diff) |
[SPARC64]: Add some hypervisor tlb_type checks.
And more consistently check cheetah{,_plus} instead
of assuming anything not spitfire is cheetah{,_plus}.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/mm/init.c')
-rw-r--r-- | arch/sparc64/mm/init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 1af63307b24..ab50cd9618f 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -335,7 +335,7 @@ out: | |||
335 | 335 | ||
336 | void __kprobes flush_icache_range(unsigned long start, unsigned long end) | 336 | void __kprobes flush_icache_range(unsigned long start, unsigned long end) |
337 | { | 337 | { |
338 | /* Cheetah has coherent I-cache. */ | 338 | /* Cheetah and Hypervisor platform cpus have coherent I-cache. */ |
339 | if (tlb_type == spitfire) { | 339 | if (tlb_type == spitfire) { |
340 | unsigned long kaddr; | 340 | unsigned long kaddr; |
341 | 341 | ||
@@ -372,6 +372,8 @@ void mmu_info(struct seq_file *m) | |||
372 | seq_printf(m, "MMU Type\t: Cheetah+\n"); | 372 | seq_printf(m, "MMU Type\t: Cheetah+\n"); |
373 | else if (tlb_type == spitfire) | 373 | else if (tlb_type == spitfire) |
374 | seq_printf(m, "MMU Type\t: Spitfire\n"); | 374 | seq_printf(m, "MMU Type\t: Spitfire\n"); |
375 | else if (tlb_type == hypervisor) | ||
376 | seq_printf(m, "MMU Type\t: Hypervisor (sun4v)\n"); | ||
375 | else | 377 | else |
376 | seq_printf(m, "MMU Type\t: ???\n"); | 378 | seq_printf(m, "MMU Type\t: ???\n"); |
377 | 379 | ||
@@ -581,7 +583,7 @@ void __flush_dcache_range(unsigned long start, unsigned long end) | |||
581 | if (++n >= 512) | 583 | if (++n >= 512) |
582 | break; | 584 | break; |
583 | } | 585 | } |
584 | } else { | 586 | } else if (tlb_type == cheetah || tlb_type == cheetah_plus) { |
585 | start = __pa(start); | 587 | start = __pa(start); |
586 | end = __pa(end); | 588 | end = __pa(end); |
587 | for (va = start; va < end; va += 32) | 589 | for (va = start; va < end; va += 32) |