patch-2.4.20 linux-2.4.20/arch/sparc64/kernel/smp.c
Next file: linux-2.4.20/arch/sparc64/kernel/sparc64_ksyms.c
Previous file: linux-2.4.20/arch/sparc64/kernel/setup.c
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Thu Nov 28 15:53:12 2002
- Orig file:
linux-2.4.19/arch/sparc64/kernel/smp.c
- Orig date:
Fri Aug 2 17:39:43 2002
diff -urN linux-2.4.19/arch/sparc64/kernel/smp.c linux-2.4.20/arch/sparc64/kernel/smp.c
@@ -622,9 +622,9 @@
extern unsigned long xcall_flush_tlb_page;
extern unsigned long xcall_flush_tlb_mm;
extern unsigned long xcall_flush_tlb_range;
-extern unsigned long xcall_flush_tlb_all;
-extern unsigned long xcall_tlbcachesync;
-extern unsigned long xcall_flush_cache_all;
+extern unsigned long xcall_flush_tlb_all_spitfire;
+extern unsigned long xcall_flush_tlb_all_cheetah;
+extern unsigned long xcall_flush_cache_all_spitfire;
extern unsigned long xcall_report_regs;
extern unsigned long xcall_receive_signal;
extern unsigned long xcall_flush_dcache_page_cheetah;
@@ -744,13 +744,19 @@
void smp_flush_cache_all(void)
{
- smp_cross_call(&xcall_flush_cache_all, 0, 0, 0);
- __flush_cache_all();
+ /* Cheetah need do nothing. */
+ if (tlb_type == spitfire) {
+ smp_cross_call(&xcall_flush_cache_all_spitfire, 0, 0, 0);
+ __flush_cache_all();
+ }
}
void smp_flush_tlb_all(void)
{
- smp_cross_call(&xcall_flush_tlb_all, 0, 0, 0);
+ if (tlb_type == spitfire)
+ smp_cross_call(&xcall_flush_tlb_all_spitfire, 0, 0, 0);
+ else
+ smp_cross_call(&xcall_flush_tlb_all_cheetah, 0, 0, 0);
__flush_tlb_all();
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)