dan@rna.UUCP (Dan Ts'o) (06/19/84)
Hi, Re: your clock problems. UNIX can't use a KWV-11C. That is a programmable real-time clock and unless you hack your UNIX, it expects a simple line clock. Most 11/23 systems have a LTC (line-time clock) hardwired into the backplane from the power supply. The 60Hz signal is applied to the BEVENT line of the Qbus. UNIX expects a hardware device register at 177546 to be able to switch the 60Hz interrupts on and off. There a few Qbus modules which implement this function, for example the BDV-11 bootstrap board implements the LTC switch by clamping the BEVENT line on the bus. The KPV-11 also implements this clock register. If you don't have any of these clock boards, you can still run UNIX by commenting out the references to 177546, I believe in clock.c and main.c. Most Qbus chassis provide a switch to turn on and off the 60Hz signal to the BEVENT line. So 1) comment out the references to 177546 and recompile the system then 2) turn off the LTC before booting, then 3) turn on the LTC after booting. You could, I suppose, cheat by putting a parallel interface (or maybe even serial) at 177546 to avoid recompiling the system since all UNIX does is to write a 115 (clock on) into 177546. To avoid the inconvenience of having to turn off and on the LTC during booting you must add code into UNIX and the UNIX bootstrap to ignore the LTC interrupts during a boot. Basically run the bootstrap at spl7() (I believe all the old bootstraps only do polled I/O, not interrupt I/O). Then add code in main.c to spl7() and include code in clock.c to ignore clock interrupts until the kernel is initialized (e.g. iinit(), cinit(), etc. done). I hope this helps. Cheers, Dan Ts'o ...cmcl2!rna!dan