Okay, it's a P1 reference. VA is 7FFFF200 to 7FFFF3FF, a perfectly
legitimate P1 top-of-stack reference. ptidx + d_p1br yields (1)007FFFE4,
which is NOT a system virtual address, so the abort triggers. The
question is why d_p1br is wrong.
After the simulator stops, please print out the value of these memory
management registers:
>ex P0BR, P1BR, SBR
The transform between dynamic (d_) values and public values is done in
this routine:
extern void set_map_reg (void)
{
d_p0br = P0BR & ~03;
d_p1br = (P1BR - 0x800000) & ~03; /* VA<30> >> 7 */
d_sbr = (SBR - 0x1000000) & ~03; /* VA<31> >> 7 */
d_p0lr = (P0LR << 2);
d_p1lr = (P1LR << 2) + 0x800000; /* VA<30> >> 7 */
d_slr = (SLR << 2) + 0x1000000; /* VA<31> >> 7 */
return;
}
Reversing the transform yields P1BR = 0, which is wrong, wrong, wrong.
It indicates that P1BR still has its initial value and has never been
loaded.
Normally, I'd debug this myself, but I don't have a Mac.
/Bob Supnik
On 2/18/2016 7:57 AM, [email protected] wrote:
Message: 6
Date: Thu, 18 Feb 2016 07:57:13 -0500
From: Henry Bent<[email protected]>
Cc:"[email protected]" <[email protected]>
Subject: Re: [Simh] Recent build crashes on OSX
Message-ID:
<CAEdTPBePzT5-5wWoCxSZD+32ipH_yYDj6ZpBxDViK=kmkm4...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
I'll admit that this is a little over my head, but the code was easy enough
to add:
PTE not SYS abort, ptead = 7fffe4, ptidx = FFFFE4, d_p0br = 8034DC00,
d_p1br = FF800000
-Henry
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh