diff --git a/src/dev/intel_8254_timer.cc b/src/dev/intel_8254_timer.cc index df9b4b3d4e..548de0dd1e 100644 --- a/src/dev/intel_8254_timer.cc +++ b/src/dev/intel_8254_timer.cc @@ -210,8 +210,10 @@ Intel8254Timer::Counter::setRW(int rw_val) void Intel8254Timer::Counter::setMode(int mode_val) { + if (mode_val == SoftwareStrobe) + warn_once("SoftwareStrobe mode is used and it is not well tested\n"); if (mode_val != InitTc && mode_val != RateGen && - mode_val != SquareWave) + mode_val != SquareWave && mode_val != SoftwareStrobe) panic("PIT mode %#x is not implemented: \n", mode_val); mode = mode_val; @@ -292,6 +294,7 @@ Intel8254Timer::Counter::CounterEvent::process() break; case RateGen: case SquareWave: + case SoftwareStrobe: setTo(counter->period); break; default: