MicroVAX2, rtVAX1000: Avoid non-existent severe machine check exception. As per Bob Supnik. Fix #199
This commit is contained in:
parent
5e556cc70a
commit
478ff3d453
1 changed files with 2 additions and 3 deletions
|
@ -904,12 +904,11 @@ if (p1 & 0x80) /* mref? set v/p */
|
||||||
p1 = p1 + mchk_ref;
|
p1 = p1 + mchk_ref;
|
||||||
p2 = mchk_va + 4; /* save vap */
|
p2 = mchk_va + 4; /* save vap */
|
||||||
st = 0;
|
st = 0;
|
||||||
|
cc = intexc (SCB_MCHK, cc, 0, IE_EXC); /* take normal exception */
|
||||||
if (p1 & 0x80) { /* mref? */
|
if (p1 & 0x80) { /* mref? */
|
||||||
cc = intexc (SCB_MCHK, cc, 0, IE_EXC); /* take normal exception */
|
|
||||||
if (!(ka_mser & MSER_CQPE) && !(ka_mser & MSER_CLPE))
|
if (!(ka_mser & MSER_CQPE) && !(ka_mser & MSER_CLPE))
|
||||||
ka_mser |= MSER_NXM;
|
ka_mser |= MSER_NXM;
|
||||||
}
|
}
|
||||||
else cc = intexc (SCB_MCHK, cc, 0, IE_SVE); /* take severe exception */
|
|
||||||
acc = ACC_MASK (KERN); /* in kernel mode */
|
acc = ACC_MASK (KERN); /* in kernel mode */
|
||||||
in_ie = 1;
|
in_ie = 1;
|
||||||
SP = SP - 16; /* push 4 words */
|
SP = SP - 16; /* push 4 words */
|
||||||
|
|
Loading…
Add table
Reference in a new issue