Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/mpc6xx Fix a missing restore interrupt. di...
details: https://anonhg.NetBSD.org/src/rev/2dc318bd4104
branches: trunk
changeset: 514704:2dc318bd4104
user: matt <matt%NetBSD.org@localhost>
date: Sun Sep 09 04:35:22 2001 +0000
description:
Fix a missing restore interrupt. disable interrupts around pvo_enter in
pmap_kenter. Shouldn't be needed but ...
diffstat:
sys/arch/powerpc/mpc6xx/pmap.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diffs (36 lines):
diff -r 02924d13a6b9 -r 2dc318bd4104 sys/arch/powerpc/mpc6xx/pmap.c
--- a/sys/arch/powerpc/mpc6xx/pmap.c Sun Sep 09 04:23:19 2001 +0000
+++ b/sys/arch/powerpc/mpc6xx/pmap.c Sun Sep 09 04:35:22 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.23 2001/08/30 22:06:44 matt Exp $ */
+/* $NetBSD: pmap.c,v 1.24 2001/09/09 04:35:22 matt Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -1419,6 +1419,7 @@
if ((flags & PMAP_CANFAIL) == 0)
panic("pmap_pvo_enter: failed");
pmap_pvo_enter_depth--;
+ pmap_interrupts_restore(msr);
return ENOMEM;
#if 0
}
@@ -1622,6 +1623,7 @@
{
struct mem_region *mp;
u_int32_t pte_lo;
+ u_int32_t msr;
int error;
int s;
@@ -1646,8 +1648,10 @@
pte_lo |= PTE_BR;
s = splvm();
+ msr = pmap_interrupts_off();
error = pmap_pvo_enter(pmap_kernel(), &pmap_upvo_pool, &pmap_pvo_kunmanaged,
va, pa, pte_lo, prot|PMAP_WIRED);
+ pmap_interrupts_restore(msr);
splx(s);
if (error != 0 && error != ENOENT)
Home |
Main Index |
Thread Index |
Old Index