"failstar" sounds like a name for a cruise liner from the 80s. As "*" isn't a desirable part of directory names, just name the whole thing "fail/", the core parts being stored in "fail/core/". Additionally fixing two build system dependency issues: - missing jobserver -> protomessages dependency - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain file dependencies ... cmake for the win) git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
28 lines
696 B
Plaintext
28 lines
696 B
Plaintext
#ifndef __FIRETIMER_AH__
|
|
#define __FIRETIMER_AH__
|
|
|
|
#include <iostream>
|
|
|
|
|
|
aspect fireTimer {
|
|
|
|
advice "bx_pc_system_c" : slice class {
|
|
public:
|
|
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__
|