diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1997-07-01 09:00:49 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1997-07-01 09:00:49 +0000 |
commit | af525316597ba42f324222ea8254ceb2f0c12681 (patch) | |
tree | 8e112853707324fba583361abd2ad53c5dcb15d3 /arch/mips/mm/r2300.c | |
parent | 7beed3a871060bfa452163c1bd54ea0989e1fa74 (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.c | 8 |
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)); |