summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2000-09-10 15:39:23 +0000
committerdfr <dfr@FreeBSD.org>2000-09-10 15:39:23 +0000
commitbd77d0334ba679007e58b98078ff4fad18528b03 (patch)
tree3f1401e95b16279a26d766c3394964eed73ba41d /sys
parentdf75e73d4696444efe6f740222ecaaf957d7b18b (diff)
downloadFreeBSD-src-bd77d0334ba679007e58b98078ff4fad18528b03.zip
FreeBSD-src-bd77d0334ba679007e58b98078ff4fad18528b03.tar.gz
Remove the manipulation of the Giant mutex from the interrupt entry
points. This can't work right anyway and needs to happen in the irq thread.
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/alpha/interrupt.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/sys/alpha/alpha/interrupt.c b/sys/alpha/alpha/interrupt.c
index cb796c6..ef1c708 100644
--- a/sys/alpha/alpha/interrupt.c
+++ b/sys/alpha/alpha/interrupt.c
@@ -93,7 +93,6 @@ interrupt(a0, a1, a2, framep)
struct proc* p = curproc;
if (!p) p = &proc0;
if ((caddr_t) framep < (caddr_t) p->p_addr + 1024) {
- mtx_enter(&Giant, MTX_DEF);
panic("possible stack overflow\n");
}
}
@@ -114,7 +113,6 @@ interrupt(a0, a1, a2, framep)
return;
}
- mtx_enter(&Giant, MTX_DEF);
cnt.v_intr++;
#ifdef EVCNT_COUNTERS
clock_intr_evcnt.ev_count++;
@@ -127,31 +125,24 @@ interrupt(a0, a1, a2, framep)
if((++schedclk2 & 0x7) == 0)
statclock((struct clockframe *)framep);
}
- mtx_exit(&Giant, MTX_DEF);
break;
case ALPHA_INTR_ERROR: /* Machine Check or Correctable Error */
- mtx_enter(&Giant, MTX_DEF);
a0 = alpha_pal_rdmces();
if (platform.mcheck_handler)
(*platform.mcheck_handler)(a0, framep, a1, a2);
else
machine_check(a0, framep, a1, a2);
- mtx_exit(&Giant, MTX_DEF);
break;
case ALPHA_INTR_DEVICE: /* I/O device interrupt */
- mtx_enter(&Giant, MTX_DEF);
cnt.v_intr++;
if (platform.iointr)
(*platform.iointr)(framep, a1);
- mtx_exit(&Giant, MTX_DEF);
break;
case ALPHA_INTR_PERF: /* interprocessor interrupt */
- mtx_enter(&Giant, MTX_DEF);
perf_irq(a1, framep);
- mtx_exit(&Giant, MTX_DEF);
break;
case ALPHA_INTR_PASSIVE:
@@ -161,7 +152,6 @@ interrupt(a0, a1, a2, framep)
break;
default:
- mtx_enter(&Giant, MTX_DEF);
panic("unexpected interrupt: type 0x%lx vec 0x%lx a2 0x%lx\n",
a0, a1, a2);
/* NOTREACHED */
OpenPOWER on IntegriCloud