summaryrefslogtreecommitdiffstats
path: root/arch/mips/mm/r2300.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-07-01 09:00:49 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-07-01 09:00:49 +0000
commitaf525316597ba42f324222ea8254ceb2f0c12681 (patch)
tree8e112853707324fba583361abd2ad53c5dcb15d3 /arch/mips/mm/r2300.c
parent7beed3a871060bfa452163c1bd54ea0989e1fa74 (diff)
Minor optimization, use save_and_cli() instead of save_flags();
cli(); sequences. Fix a hole of some cycles when enabling the SCACHE on a Indy where an interrupt might have fried us.
Diffstat (limited to 'arch/mips/mm/r2300.c')
-rw-r--r--arch/mips/mm/r2300.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/mips/mm/r2300.c b/arch/mips/mm/r2300.c
index 2e57625df..954fb6284 100644
--- a/arch/mips/mm/r2300.c
+++ b/arch/mips/mm/r2300.c
@@ -1,7 +1,9 @@
-/* $Id: r2300.c,v 1.5 1996/07/29 11:10:07 dm Exp $
+/*
* r2300.c: R2000 and R3000 specific mmu/cache code.
*
* Copyright (C) 1996 David S. Miller (dm@engr.sgi.com)
+ *
+ * $Id: r2300.c,v 1.2 1997/06/28 23:27:19 ralf Exp $
*/
#include <linux/kernel.h>
@@ -126,7 +128,7 @@ static inline void r2300_flush_tlb_all(void)
unsigned long flags;
int entry;
- save_flags(flags); cli();
+ save_and_cli(flags);
write_32bit_cp0_register(CP0_ENTRYLO0, 0);
for(entry = 0; entry < mips_tlb_entries; entry++) {
write_32bit_cp0_register(CP0_INDEX, entry);
@@ -160,7 +162,7 @@ static void r2300_load_pgd(unsigned long pg_dir)
{
unsigned long flags;
- save_flags(flags); cli();
+ save_and_cli(flags);
write_32bit_cp0_register(CP0_ENTRYHI, TLB_ROOT);
write_32bit_cp0_register(CP0_INDEX, 0);
write_32bit_cp0_register(CP0_ENTRYLO0, ((pg_dir >> 6) | 0x00e0));