On 13 Mar 2013, at 16:12, "Mark Pizzolato - Info Comm" <Mark at
infocomm.com> wrote:
On Wednesday, March 13, 2013 at 1:06 PM, Cory Smelosky wrote:
"Solaris timing uses a real-time clock that can generate interrupts
at a resolution bound by the processor speed. For scheduling
purposes, it fires every 10 milliseconds. As in Linux, this is a
clock "tick." Note that 2.6 Linux uses a 1000-tick/second clock, as
opposed to the 100-tick/second clock used by Solaris and by previous
versions of Linux. User-level programs on Solaris can program the real
time clock to fire at nanosecond granularity, rounded up by processor time--
much finer than the clock tick granularity of ten or one milliseconds.
However, the program interface to use the high-resolution timers is
not visible in the DDI/DKI. See clock_settime(3rt) for user-level
details andusr/src/uts/common/os/cyclic.c for details on high-resolution
timing in Solaris.
Also note that in Solaris, you can change the value of hz or clock
ticks/second by setting hires_tick to 1 and hires_hz to the desired
time in the /etc/system file. The default is
1000 ticks per second. Here's an example:
set hires_tick=1
set hires_hz=10000 <~--- 10000 ticks per second"
Looks like Solaris can set it in user mode, too.
This 'documented' tick rate would seem to meet simh's requirements
without any adjustments.
Does the current simh code work? If not, what does it think the tick size is?
I will tell you once I work around ld: fatal: auxiliary filter option (-f, --auxiliary)
is only available when building a shared object
ld: fatal: flags processing errors
;)
Are you getting this problem while building the simh vax?
You are just typing:
$ make vax
Right?
Yup.
Please supply the output make produces while building.
bash-3.2$ gmake vax
lib paths are: /lib /usr/lib
using libm: /lib/libm.so
using librt: /lib/librt.so
using libpthread: /lib/libpthread.so /usr/include/pthread.h
using libdl: /lib/libdl.so /usr/include/dlfcn.h
using libpcap: /usr/local/lib/libpcap.a /usr/local/include/pcap.h
*** Warning ***
*** Warning *** vax Simulator being built with networking support using
*** Warning *** libpcap components from
www.tcpdump.org.
*** Warning *** Some users have had problems using the
www.tcpdump.org libpcap
*** Warning *** components for simh networking. For best results, with
*** Warning *** simh networking, it is recommended that you install the
*** Warning *** libpcap-dev package from your Solaris distribution
*** Warning ***
***
*** vax Simulator being built with:
*** - compiler optimizations and no debugging support. GCC Version: 4.6.3.
*** - networking support using libpcap components from
www.tcpdump.org.
***
mkdir -p BIN
gcc -std=c99 -U__STRICT_ANSI__ -O2 -finline-functions -fgcse-after-reload
-fpredictive-commoning -fipa-cp-clone -fno-unsafe-loop-optimizations -fno-strict-overflow
-flto -fwhole-program -Wno-unused-result -I . -D_GNU_SOURCE -DUSE_READER_THREAD
-DSIM_ASYNCH_IO -DHAVE_DLOPEN=so sim_BuildROMs.c -o BIN/BuildROMs
ld: fatal: auxiliary filter option (-f, --auxiliary) is only available when building a
shared object
ld: fatal: flags processing errors
Modification to makefile is to remove -flto -fwhole-program. Then it builds fine. ;)
- Mark