Commit Graph

20 Commits

Author SHA1 Message Date
Bryce Denney
7fdc7303c2 - add "void reset(unsigned type)" method to every I/O device.
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.
2002-08-27 19:54:46 +00:00
Gregory Alexander
b30fdb2487 Fix problem with PIT when the machine is being really slow.
This means that the REALTIME_PIT now only works on machines
that are capable of sustaining 150000 IPS, in aggregate.  This
seems a reasonable requirement, as even my 200Mhz PPC with 16MB
of memory can sustain that.

This is now probably ready for primetime, so I need to get it
added to the configure options.
2002-05-21 15:07:45 +00:00
Gregory Alexander
e92fb8deff Updated realtime PIT code.
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.
2002-05-20 21:53:26 +00:00
Gregory Alexander
cfab846fe1 More #define changes. 2002-02-08 22:27:51 +00:00
Gregory Alexander
49e715178d More updates to the realtime PIT code. 2002-02-08 05:18:14 +00:00
Gregory Alexander
6b0dca1508 Fix using 1/4 speed. 2002-02-08 02:57:27 +00:00
Gregory Alexander
57273620e6 Added an experimental realtime PIT to the mix.
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.
2002-02-07 21:22:55 +00:00
Gregory Alexander
dcdc5b2624 Minor fix to raise/lower irq code. 2002-01-31 17:26:26 +00:00
Gregory Alexander
05983c7a48 Changes to the pit wrapper code that should help synchronization some. 2002-01-31 17:18:38 +00:00
Volker Ruppert
ad072e2bc6 - implementation of the edge triggered IRQ mode
- new functions raise_irq() and lower_irq()
- all trigger_irq() / untrigger_irq() calls are replaced by the new functions
- REMARK: timer IRQ handling is not correct but it works
- TODO: IOAPIC IRQ handling needs to be changed
2002-01-29 17:20:12 +00:00
Gregory Alexander
f952b17c62 Trying to improve interactive performance.
Changed frequency on timer in pit_wrap.
Changed time quantum on slowdown_timer.

 Modified Files:
 	pit_wrap.cc slowdown_timer.cc
2001-10-11 13:01:27 +00:00
Bryce Denney
daf2a9fb55 - add RCS Id to header of every file. This makes it easier to know what's
going on when someone sends in a modified file.
2001-10-03 13:10:38 +00:00
Bryce Denney
b966bf0bab - fix expression that required implicit bool->int which caused havoc on
vc++.  Now it says (boolean expression)?1:0 instead.
2001-08-30 02:02:10 +00:00
Gregory Alexander
9aa7a88028 Lots of timer stuff.
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.
2001-08-18 03:28:23 +00:00
Bryce Denney
06a7658f88 - changed #ifdefs to #ifs. Even when the new PIT is unused, there will
still be a definition of BX_USE_NEW_PIT=0 in config.h.
2001-08-15 20:23:58 +00:00
Gregory Alexander
fc0ee2dc3e Added compiler define to use the new PIT.
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.
2001-07-01 20:49:46 +00:00
Gregory Alexander
85b5157a7e Added significant improvements to the new pit. It's about ready for use.
The only big thing it's lacking right now is testing, which is a
little difficult to do, considering the new interface.  Oh, well.
2001-06-27 22:25:24 +00:00
Todd T.Fries
a06b031dcf setprefix -> put 2001-06-27 19:16:01 +00:00
Todd T.Fries
12985edb26 setprefix now uses a variable length name as a string for an argument 2001-06-19 21:36:09 +00:00
Gregory Alexander
32f50ddc6d Added hooks for new PIT. Now compiles it into bochs binary
but doesn't use it yet.  Still needs improvement before it
becomes the default bochs PIT.
2001-06-11 03:09:40 +00:00