git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
30 lines
756 B
Plaintext
30 lines
756 B
Plaintext
#ifndef __FIRETIMER_AH__
|
|
#define __FIRETIMER_AH__
|
|
|
|
#include <iostream>
|
|
|
|
// FIXME: This seems deprecated...?!
|
|
|
|
aspect fireTimer {
|
|
|
|
advice "bx_pc_system_c" : slice class {
|
|
public:
|
|
// TODO: Log-level?
|
|
void fireTimer(Bit32u timerNum){
|
|
if(timerNum <= numTimers){
|
|
if(!timer[timerNum].active){
|
|
std::cout << "[FAIL] WARNING: The selected timer is actually NOT active!" << std::endl;
|
|
}
|
|
currCountdownPeriod = Bit64u(1);
|
|
timer[timerNum].timeToFire = Bit64u(currCountdownPeriod) + ticksTotal;
|
|
std::cout << "[FAIL] Timer " << timerNum <<" will fire now!" << std::endl;
|
|
}else{
|
|
std::cout << "[FAIL] There are actually only " << numTimers <<" allocated!" << std::endl;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
#endif // __FIRETIMER_AH__
|