[Simh] Recent build crashes on OSX
Bob Supnik
bob at supnik.org
Thu Feb 18 10:20:51 EST 2016
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, simh-request at trailing-edge.com wrote:
> Message: 6
> Date: Thu, 18 Feb 2016 07:57:13 -0500
> From: Henry Bent<henry.r.bent at gmail.com>
> Cc:"simh at trailing-edge.com" <simh at trailing-edge.com>
> Subject: Re: [Simh] Recent build crashes on OSX
> Message-ID:
> <CAEdTPBePzT5-5wWoCxSZD+32ipH_yYDj6ZpBxDViK=KMKM4pWQ at 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
>
More information about the Simh
mailing list