This change adds support for the WE32106 Math Acceleration Unit (MAU).
The WE32106 is an IEEE-754 1985 compatible floating point math
acceleration unit that was an optional component on the 3B2/310 and
3B2/400.
The MAU is implemented using software floating point routines. As
always, there may be bugs, but the MAU currently passes extensive
floating point tests with exactly the same results as a real 3B2/400
equipped with a physical MAU, so I hope these are few.
- Recent changes in vax_watch.c changed the input parameter from a
physical address to a register address within the watch chip.
- vax630_sysdev.c called the older wtc_wr() with the new parameter,
but the length argument has been removed.
- The watch chip never starts as valid. Make it valid when the TODR is
attached (i.e. reflecting a connected battery).
- 64 bytes of bus addresses for the watch chip can sometimes be dispatched
to wtc_rd() and wtc_wr(). Make sure that reasonable memory is always
referenced for all potential accesses.
- restore vax8200 to makefile which got lost in a prior merge.
Windows 10 1803 or later NTFS filenames are set to be case-sensitive if the Windows Subsystem for Linux (WSL) feature is turned-on. This was causing a build under cygwin 3.0.1 to fail detecting the libpcap header and library locations in the ../windows-build/libpcap directory.
- 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.
- 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.
- clang's list of optimization options makes no mention of strict-overflow
or no-strict-overflow, but it silently accepts -fno-strict-overflow and
in fact honors it.
The VAX simulator is counting on undefined C language behaviors
which allow the optimizer to correctly produce unexpected results.
Hopefully this will be sufficient until the VAX architecture verifier
(AXE) can be found to validate a rewritten simulator.
As reported in #598