+ Add a quirk table.
+ Assume all else is a modern drive that can do variable block
lengths (this is the main reason for this work - the old driver
only ever seemed to write 512 byte blocks!).
+ Keep track of values for mtget's mt_fileno, mt_blkno.
+ Handle a few extra MTIOCTOP commands.
Ideas gleaned from our MI scsi tape driver and the FreeBSD CAM tape
driver. Tested on a TKZ09 (DEC badged Exabyte 8500), a TLZ06 (DEC
DAT) and TK50.
Many thanks to Pierre Bergdolt for helping with testing.
Prevent buffer overflows when configuring boot selector.
Cycle through partitions when entering boot names.
Use '<UNUSED>' consistently.
Reviewed by: fvdl
we buzzloop calling gettimeofday() until we see a big jump.
old code would take the difference between the immediately previous return value.
Now, compute the difference based on the clock value as of right
after the previous big jump.
An alpha pc164 at 500MHz can do about 700 calls to gettimeofday() in
one clock tick, each of which increments tv_usec by 1 -- so the "big
jump" at the end is only ~270us rather than the real clock tick of
976us, which yields a precision value which is overoptimistic by a
factor of ~4. The corrected code now yields the exact tick value
(which is correct since NetBSD/alpha doesn't have a precise
microtime).
more than one per timer tick. this will hopefully cause faster
convergence since the responses are less likely to pile up on top of
each other. (they'll eventually get randomized out of synch with each
other, but there's no sense in starting them off synchronized).
approximation of reality if the MD code doesn't. This variable is the
equivalent of "tickfix" for the non-NTP path.
This allows an alpha kernel (where hz=1024) with "options NTP" to
synch up quite nicely (as opposed to having an frequency error of
~560ppm, which is outside the capture range of the PLL).
discuss what these should *really* look like, customize them tightly
for wscons, and then send them off to Eric Raymond for inclusion in
the master file.