dev,arch-x86: Added softstrobe mode to intel8254 timer (#1447)
This PR should fix the #1195
This commit is contained in:
@@ -210,8 +210,10 @@ Intel8254Timer::Counter::setRW(int rw_val)
|
|||||||
void
|
void
|
||||||
Intel8254Timer::Counter::setMode(int mode_val)
|
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 &&
|
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);
|
panic("PIT mode %#x is not implemented: \n", mode_val);
|
||||||
|
|
||||||
mode = mode_val;
|
mode = mode_val;
|
||||||
@@ -292,6 +294,7 @@ Intel8254Timer::Counter::CounterEvent::process()
|
|||||||
break;
|
break;
|
||||||
case RateGen:
|
case RateGen:
|
||||||
case SquareWave:
|
case SquareWave:
|
||||||
|
case SoftwareStrobe:
|
||||||
setTo(counter->period);
|
setTo(counter->period);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user