Discussion:
[Simh] Looking for EVKAA Listing
Mark Pizzolato
2018-09-22 19:46:15 UTC
Permalink
Hello everyone,

We've got a problem with the VAX simulators which has come up several
times in the past and is threatening to completely break them in the future.

The original implementation of the VAX simulator code was done with
int32 variables throughout and assumed VAX like consistent behavior on
integer overflow operations. As it turns out, the C language explicitly
states that behavior of signed integers when overflow occurs is undefined.
"undefined" allows the compiler to behave in arbitrary ways when this
happens. Currently, the default compiler on OS X (clang or LLVM) produces
unexpected results when any optimization level is specified. In the future
it may also produce unexpected results for unoptimized code as well
since technically any behavior under those circumstances could happen.

I've got a reworked version of the VAX cpu simulator code which uses
uint32 throughout and as such does not encounter any potential for
undefined results. The scope of these changes affect many different places
in the simulator so some rigorous testing will be required before I'm
comfortable merging these changes into the master branch. Merely
booting VMS successfully is not a sufficient test. DEC had a tool called AXE
which was used to verify that new VAX models were consistent with the
range of expected behaviors for the whole complex instruction set. It
would be fantastic if we could get access to, or if someone with access
could work with me to validate the changed simulator.

Meanwhile, the existing VAX core instruction diagnostic EVKAA has
been helpful identifying some detailed problems with the changed
simulator. There is diagnostic documentation for several VAX processors
which describes how to start and run EVKAA which varies by model
due to different console media. The diagnostic instructions specifically
describe how to handle diagnostic failures and these instructions direct
the user to consult the EVKAA Listing for details about the specific test
that may be failing. That suggests that the Listing would be readily
available somewhere, maybe even packaged with the diagnostics on
systems with sufficiently large diagnostic media, or maybe on micro
fiche???

Does anyone have access to said listing?

Additionally, I've seen EVKAA version 7.2 and 8.0. Bob suggested that
the last version was 10.3. If someone has later versions of EVKAA.exe
they would be appreciated (along with a Listing if it is available).

Thanks.

- Mark
f***@gmail.com
2018-09-22 20:36:30 UTC
Permalink
Mark,

I have HCORE and 780 diagnostics that we used them to fixing many bugs in SIMH MicroVAX 3900 and VAX-11/780 emulators in early 2000s.

I have only listings for HCORE but not 780 diagnostics. I still am looking for 780 diagnostics listing.

We do not have AXE tools yet.

Tim

-----Original Message-----
From: Simh <simh-***@trailing-edge.com> On Behalf Of Mark Pizzolato
Sent: Saturday, September 22, 2018 3:46 PM
To: ***@trailing-edge.com
Subject: [Simh] Looking for EVKAA Listing

Hello everyone,

We've got a problem with the VAX simulators which has come up several times in the past and is threatening to completely break them in the future.

The original implementation of the VAX simulator code was done with
int32 variables throughout and assumed VAX like consistent behavior on integer overflow operations. As it turns out, the C language explicitly states that behavior of signed integers when overflow occurs is undefined.
"undefined" allows the compiler to behave in arbitrary ways when this happens. Currently, the default compiler on OS X (clang or LLVM) produces unexpected results when any optimization level is specified. In the future it may also produce unexpected results for unoptimized code as well since technically any behavior under those circumstances could happen.

I've got a reworked version of the VAX cpu simulator code which uses
uint32 throughout and as such does not encounter any potential for undefined results. The scope of these changes affect many different places in the simulator so some rigorous testing will be required before I'm comfortable merging these changes into the master branch. Merely booting VMS successfully is not a sufficient test. DEC had a tool called AXE which was used to verify that new VAX models were consistent with the range of expected behaviors for the whole complex instruction set. It would be fantastic if we could get access to, or if someone with access could work with me to validate the changed simulator.

Meanwhile, the existing VAX core instruction diagnostic EVKAA has been helpful identifying some detailed problems with the changed simulator. There is diagnostic documentation for several VAX processors which describes how to start and run EVKAA which varies by model due to different console media. The diagnostic instructions specifically describe how to handle diagnostic failures and these instructions direct the user to consult the EVKAA Listing for details about the specific test that may be failing. That suggests that the Listing would be readily available somewhere, maybe even packaged with the diagnostics on systems with sufficiently large diagnostic media, or maybe on micro fiche???

Does anyone have access to said listing?

Additionally, I've seen EVKAA version 7.2 and 8.0. Bob suggested that the last version was 10.3. If someone has later versions of EVKAA.exe they would be appreciated (along with a Listing if it is available).

Thanks.

- Mark

_______________________________________________
Simh mailing list
***@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh
Mark Pizzolato
2018-09-22 21:17:19 UTC
Permalink
Post by f***@gmail.com
I have HCORE and 780 diagnostics that we used them to fixing many bugs in
SIMH MicroVAX 3900 and VAX-11/780 emulators in early 2000s.
I've got HCORE (aka EHKAA).

As for 780 diagnostics, did you use anything beyond EVKAA.EXE to
find and fix CPU instruction bugs? If so, I'll be glad to have more
tools that help verify the system's behavior. If not, someone has
already sent me EVKAA.exe version 10.4.
Post by f***@gmail.com
I have only listings for HCORE but not 780 diagnostics. I still am looking for 780
diagnostics listing.
I've found that the EVKAA.exe binary runs on all of the Unibus VAX systems (under
simulation anyway), not just the 780. Given that it seems to be an instruction
verifier, and all of the VAXes execute the same instructions this isn't surprising.
Post by f***@gmail.com
We do not have AXE tools yet.
We can only hope someone has it.

- Mark
Post by f***@gmail.com
-----Original Message-----
Sent: Saturday, September 22, 2018 3:46 PM
Subject: [Simh] Looking for EVKAA Listing
Hello everyone,
We've got a problem with the VAX simulators which has come up several times
in the past and is threatening to completely break them in the future.
The original implementation of the VAX simulator code was done with
int32 variables throughout and assumed VAX like consistent behavior on
integer overflow operations. As it turns out, the C language explicitly states
that behavior of signed integers when overflow occurs is undefined.
"undefined" allows the compiler to behave in arbitrary ways when this
happens. Currently, the default compiler on OS X (clang or LLVM) produces
unexpected results when any optimization level is specified. In the future it
may also produce unexpected results for unoptimized code as well since
technically any behavior under those circumstances could happen.
I've got a reworked version of the VAX cpu simulator code which uses
uint32 throughout and as such does not encounter any potential for undefined
results. The scope of these changes affect many different places in the
simulator so some rigorous testing will be required before I'm comfortable
merging these changes into the master branch. Merely booting VMS
successfully is not a sufficient test. DEC had a tool called AXE which was used
to verify that new VAX models were consistent with the range of expected
behaviors for the whole complex instruction set. It would be fantastic if we
could get access to, or if someone with access could work with me to validate
the changed simulator.
Meanwhile, the existing VAX core instruction diagnostic EVKAA has been
helpful identifying some detailed problems with the changed simulator. There
is diagnostic documentation for several VAX processors which describes how to
start and run EVKAA which varies by model due to different console media.
The diagnostic instructions specifically describe how to handle diagnostic
failures and these instructions direct the user to consult the EVKAA Listing for
details about the specific test that may be failing. That suggests that the Listing
would be readily available somewhere, maybe even packaged with the
diagnostics on systems with sufficiently large diagnostic media, or maybe on
micro fiche???
Does anyone have access to said listing?
Additionally, I've seen EVKAA version 7.2 and 8.0. Bob suggested that the last
version was 10.3. If someone has later versions of EVKAA.exe they would be
appreciated (along with a Listing if it is available).
Thanks.
- Mark
_______________________________________________
Simh mailing list
http://mailman.trailing-edge.com/mailman/listinfo/simh
f***@gmail.com
2018-09-22 21:27:39 UTC
Permalink
Mark,

Yes, my 780 diagnostics are dated in 1983 for VMS 3.x system. I do not know its version yet. We used others than EVKAA.exe to find many bugs in 780's CIS and string instructions like EDIT, etc.

Tim

-----Original Message-----
From: Mark Pizzolato <***@infocomm.com>
Sent: Saturday, September 22, 2018 5:17 PM
To: ***@gmail.com
Cc: ***@trailing-edge.com
Subject: RE: [Simh] Looking for EVKAA Listing
Post by f***@gmail.com
I have HCORE and 780 diagnostics that we used them to fixing many bugs
in SIMH MicroVAX 3900 and VAX-11/780 emulators in early 2000s.
I've got HCORE (aka EHKAA).

As for 780 diagnostics, did you use anything beyond EVKAA.EXE to find and fix CPU instruction bugs? If so, I'll be glad to have more tools that help verify the system's behavior. If not, someone has already sent me EVKAA.exe version 10.4.
Post by f***@gmail.com
I have only listings for HCORE but not 780 diagnostics. I still am
looking for 780 diagnostics listing.
I've found that the EVKAA.exe binary runs on all of the Unibus VAX systems (under simulation anyway), not just the 780. Given that it seems to be an instruction verifier, and all of the VAXes execute the same instructions this isn't surprising.
Post by f***@gmail.com
We do not have AXE tools yet.
We can only hope someone has it.

- Mark
Post by f***@gmail.com
-----Original Message-----
Pizzolato
Sent: Saturday, September 22, 2018 3:46 PM
Subject: [Simh] Looking for EVKAA Listing
Hello everyone,
We've got a problem with the VAX simulators which has come up several
times in the past and is threatening to completely break them in the future.
The original implementation of the VAX simulator code was done with
int32 variables throughout and assumed VAX like consistent behavior on
integer overflow operations. As it turns out, the C language
explicitly states that behavior of signed integers when overflow occurs is undefined.
"undefined" allows the compiler to behave in arbitrary ways when this
happens. Currently, the default compiler on OS X (clang or LLVM)
produces unexpected results when any optimization level is specified.
In the future it may also produce unexpected results for unoptimized
code as well since technically any behavior under those circumstances could happen.
I've got a reworked version of the VAX cpu simulator code which uses
uint32 throughout and as such does not encounter any potential for
undefined results. The scope of these changes affect many different
places in the simulator so some rigorous testing will be required
before I'm comfortable merging these changes into the master branch.
Merely booting VMS successfully is not a sufficient test. DEC had a
tool called AXE which was used to verify that new VAX models were
consistent with the range of expected behaviors for the whole complex
instruction set. It would be fantastic if we could get access to, or
if someone with access could work with me to validate the changed simulator.
Meanwhile, the existing VAX core instruction diagnostic EVKAA has
been helpful identifying some detailed problems with the changed
simulator. There is diagnostic documentation for several VAX
processors which describes how to start and run EVKAA which varies by model due to different console media.
The diagnostic instructions specifically describe how to handle
diagnostic failures and these instructions direct the user to consult
the EVKAA Listing for details about the specific test that may be
failing. That suggests that the Listing would be readily available
somewhere, maybe even packaged with the diagnostics on systems with
sufficiently large diagnostic media, or maybe on micro fiche???
Does anyone have access to said listing?
Additionally, I've seen EVKAA version 7.2 and 8.0. Bob suggested that
the last version was 10.3. If someone has later versions of EVKAA.exe
they would be appreciated (along with a Listing if it is available).
Thanks.
- Mark
_______________________________________________
Simh mailing list
http://mailman.trailing-edge.com/mailman/listinfo/simh
Loading...