Some devices already had one. Some I had to add an empty one.
I did a little cleaning of init() methods to make them more uniform
but generally I left them alone.
- I also put these exact diffs into a patch "patch.iodev-add-reset"
in case I want to revert these changes for some reason, for example
if they break an old patch. It should be deleted after a while.
This seems to work, but I don't think it works on slow machines (like mine.)
At least, I'm getting fails with the dlxlinux image, but they're pretty
sporadic. This code shouldn't cause any fails.
This is basically the opposite of the slowdown timer. Instead
of trying to keep the PIT ticks in sync with bochs time, we
keep them in sync with REAL time. This is bad because it creates
unreproducible fails, but it's good if you want to run bochs at
maximum speed on your machine. However, bochs will take all of
the available resources from the machine also.
DO NOT use this with the slowdown timer. Results would be
unpredictable.
Fixed a "feature" in pc_system.cc with setting timers to small values
that can cause bochs to hang.
Significantly improved the performance of the new PIT.
It's probably ready to become the default now.
Added a preliminary implementation of the slowdown timer
that Bryce and I had talked about.
Also added a hack to keep the OpenBSD timer problem from filling the log.
The new PIT seems to work, but until some
enhancements are made to the way the timers
and devices.cc work, it'll be slower than
the old one.