Files
fail/src/core/sal/gem5/FailGem5Device.hpp

33 lines
684 B
C++

#ifndef __FAILGEM5_DEVICE_HH__
#define __FAILGEM5_DEVICE_HH__
#include "dev/io_device.hh"
#include "params/FailGem5Device.hh"
#include "cpu/thread_context.hh"
class Gem5InstructionEvent;
class FailGem5Device : public BasicPioDevice
{
public:
typedef FailGem5DeviceParams Params;
FailGem5Device(Params *p);
void setNextBreakpoints(ThreadContext *tc);
virtual void startup();
virtual Tick read(PacketPtr pkt);
virtual Tick write(PacketPtr pkt);
private:
Gem5InstructionEvent* m_BreakpointTaken;
Gem5InstructionEvent* m_BreakpointNotTaken;
void activateSingleStepMode();
void deactivateSingleStepMode();
void clearBreakpoints();
};
#endif // __FAILGEM5_DEVICE_HH__