1
0
mirror of https://github.com/simh/simh.git synced 2026-01-13 15:27:14 +00:00

29 Commits

Author SHA1 Message Date
Mark Pizzolato
fc460853ad VAXen: Cleanup processor build test message 2025-12-14 13:43:34 -10:00
Mark Pizzolato
82f07c9ab7 VAX: Use random console telnet port number during build tests
This avoids some platform cases where SO_REUSEADDR isn't always effective.
2025-12-03 19:36:23 -10:00
Mark Pizzolato
3d373184c4 VAX tests: Avoid errors when enabling debug for non-existent devices
Leverage new "IF DEVICE <devname>" condition test
2024-07-08 09:29:45 -10:00
Mark Pizzolato
fbbfe8c987 VAX build tests: Avoid error setting log when debug is disabled 2024-04-29 14:04:16 -10:00
Mark Pizzolato
464e1f9ef4 Unibus VAXen: Run working diagnostic supervisor Privileged Architecture tests
- The VAX 11/780 runs the VAX Diagnostic Supervisor the EVKAE (Privilege
   Architecture Exercisor) tests cleanly.
   All other Unibus VAXen execute different instructions in EVKAE
   Test 8 (KERNEL STACK NOT VALID) subtest 2 when compared to the 11/780.
   On these processors a REI instruction with reserved operands is invoked and
   this causes a failure of this subtest for these processors.
   We avoid this diagnostic test that fails.
- The VAX 8200 has some issues with the VAX Diagnostic Supervisor.
   Specifically, the EVKAA (Hardware Core Instruction) test uses the processor
   interval timer to measure the passage of time and expects the interrupts
   that are generated to occur at IPL 24 (0x18).  Meanwhile, the actual
   hardware is documented to generate Interval Timer interrupts at
   IPL 22 (0x16).  EVKAA fails when interrupts occur at IPL 22(0x16).
   If the processor is is built with Interval Timer interrupts at IPL 24(0x18),
   then EVKAA passes, but the EVKAE (Privileged Architecture Exercisor)
   Interval Timer test fails since the interval timer interrupts occur at
   IPL 24(0x18) and not at IPL 22(0x16).
   Once operating systems are running, operating system behavior will
   generally be unaffected if Interval Timer interrupts occur at a higher
   IPL than the OS expects, so the VAX 8200 is built that way and we avoid
   the diagnostic that fails.
- The DEC supplied instruction diagnostics actually time the execution of
   instructions being tested using the interval timer and the time of day
   clock.  When instructions take too long, they fail the test.  The
   VAX 11/730 simulator actually fails some of these instruction tests when
   run at precisely .3 the instruction rate of the VAX/11 780.  We therefore
   adjust the nocalibrate execution rate to 320K vs the VAX 11/780 running
   at 1000K.
2024-04-04 10:19:03 -10:00
Mark Pizzolato
fca6bace44 SCP: Add asynchronous and processed event counters
- Add abort if sim_aio_activate is called when running with ASYNC disabled
2024-01-09 06:07:33 -10:00
Mark Pizzolato
07ea607e79 VAX: Enrich test script to report useful state 2023-06-27 11:49:54 -10:00
Mark Pizzolato
9cc538dc7c VAX Unibus Systems: Optionally run diagnostics with uncalibrated clock
- uncalibrated clock mode executes at a precisely specified instruction
  rate relative to pseudo wall clock time independent of the host
  computer's speed or other loads on the host system.
- Provide additional failure state if/when diagnostics fail.
2023-01-31 02:47:31 -10:00
Mark Pizzolato
c1dd65a5bf VAX simulators: Revise build test diagnostics
- Run Floating Instruction diagnostics for 2 passes - these have
  been observed to fail on the VAX730
- Increase allowed run limit
- When diagnostics fail, emit the diagnostic session output if
  diagnostics were not being run in verbose mode.
2022-12-19 12:26:47 -10:00
Paul Koning
b6f3043ecb PDP9 VAX SEL32: Adjust test limits
Adjust the instruction limits for three simulators so they pass
on Apple M1 systems.
2022-11-28 09:43:56 -05:00
Mark Pizzolato
f48f0de9a5 simulator tests: Fix test setup to tolerate very busy or slow host systems
Adjust the RUNLIMIT to specify instructions instead of wall clock time.
2022-11-12 15:34:24 -10:00
Mark Pizzolato
1c38700d6f All VAX: Increase test RUNLIMIT time to account for VAX8200 extended tests
Features of the VAX 8200 CPU need extra time for diagnostic execution.
2020-03-26 15:26:03 -07:00
Mark Pizzolato
ee317e0cb4 SCP: Adjust RUNLIMIT time values on slow host systems
As reported and discussed in #819
2020-03-21 21:30:58 -07:00
Mark Pizzolato
f1f4385984 All VAXen: Add a 2 minute execution limit to diagnostic tests 2020-01-09 23:54:53 -08:00
Mark Pizzolato
76e6111dd4 VAX: Avoid Windows Firewall prompt when running tests during build
This procedure establishes a telnet listen port solely so that the console
output traffic can be buffered (and not emitted).  Since nothing will ever
connect to this port we bound it to the localhost address so that firewall
prompts aren't generated when building in a new directory.
2019-12-21 06:51:41 -08:00
Matt Burke
42271bd410 VAX8200: Extended tests (EVKAB, EVKAC) now passing 2019-05-17 00:43:39 +01:00
Matt Burke
63a39369dc VAX8200: Hardware core test (EVKAA) now passing 2019-05-16 22:15:53 +01:00
Mark Pizzolato
f88c1b8b2a VAX: Add build time diag execution for many new simulators 2019-05-07 12:03:49 -07:00
Mark Pizzolato
621e97e170 MicroVAX1, all VAX: Add model specific instruction execution and emulation
- Different VAX models had different groups of instructions which were
  implemented in hardware vs trappng to the OS for emulation.  Functionality
  has been added to differentiate the various mix of instruction groups for
  different models and to display both the groups and the actual instructions.
- Visibility to Instruction groups is provided by SHOW CPU INSTRUCTIONS
  and the list of the active instructions implemented and emulated via
  SHOW CPU -V INSTRUCTIONS.
- The MicroVAX I CPU handled some execution fault conditions differently
  from other VAX systems these differences are now specifically handled.
- Add build time test support to MicroVAX I running EHKAA v1.13
  suggested in #683
- Add more CPU debug details relating to exception and interrupt processing
2019-04-30 14:28:37 -07:00
Matt Burke
f028802bff VAX: Added many different model VAX simulators
- MicroVAX 2000 & VAXstation 2000
- MicroVAX 3100 M10/M20
- MicroVAX 3100 M10e/M20e
- InfoServer 100
- InfoServer 150 VXT
- VAXstation 3100 M30
- VAXstation 3100 M38
- VAXstation 3100 M76
- VAXstation 4000 VLC
- VAXstation 4000 M60
- MicroVAX 3100 M80
- InfoServer 1000
2019-04-21 16:29:45 -07:00
Mark Pizzolato
d372899a2f VAX: Fix spelling in message output while running diagnostic tests
As mentioned in #634
2018-10-19 14:49:39 -07:00
Mark Pizzolato
31c512c6e7 makefile: Avoid using PCRE REGEX support on OS X
- OS X libpcreposix segfaults when a compiled regular expression is freed.
- Revise regular expression syntax used in VAX diagnostic scripts to avoid
  Perl oriented extensions.
2018-09-30 12:37:49 -07:00
Mark Pizzolato
a274a1f208 VAX: Fix test script for the VAX simulators that don't have available diags 2018-09-28 21:09:27 -07:00
Mark Pizzolato
a56e55b8ac All VAX: fix makefile invocation of VAX diagbistuc tests 2018-09-28 15:46:50 -07:00
Mark Pizzolato
6747c7fdc2 All VAX: Extend tests to include available DEC instruction diagnostics
- Diagnostic execution happens as a normal part of the makefile build.
- Diagnostic execution can be suppressed by invoking make with TESTS=0
  on the command line
- Diagnostic execution during build is produced in summary form.
2018-09-27 22:00:38 -07:00
Mark Pizzolato
0fe4bf3281 VAX tests: Fix spelling error in success/fail messages 2018-09-19 22:36:48 -07:00
Mark Pizzolato
49cfac9019 VAX: Add EHKAA (aka HCORE) Harware Core Instruction test for MicroVAX 3900 2018-09-19 21:51:28 -07:00
Mark Pizzolato
1adc76a5dd All Unibus VAX: Simplify output produced by Hardware Core Instruction test 2018-09-19 19:57:55 -07:00
Mark Pizzolato
22ad3706bc All Unibus VAX: Add execution of CPU hardcore instruction test EVKAA to build 2018-09-19 14:53:35 -07:00