15#ifndef ETISS_INCLUDE_INTERRUPTHANDLER_H_
16#define ETISS_INCLUDE_INTERRUPTHANDLER_H_
20#include "etiss/jit/types.h"
54 virtual void setLine(
unsigned line,
bool state, etiss::uint64 time_ps);
69 std::list<std::pair<etiss::uint64, std::pair<unsigned, bool>>>
pending_;
70 const std::shared_ptr<etiss::CPUArch>
cpuarch_;
general configuration and logging
plugins for extensions to code translation and instruction execution
this plugin will be called before a block is executed.
class that handles interrupt signaling and checking.
virtual ~InterruptHandler()
virtual std::string _getPluginName() const
const std::shared_ptr< etiss::CPUArch > cpuarch_
std::set< unsigned > ed_raised_
virtual etiss::int32 execute()
apply interrupt changes to the InterruptVector
std::list< std::pair< etiss::uint64, std::pair< unsigned, bool > > > pending_
list: (time , (line ,state) )
virtual void setLine(unsigned line, bool state, etiss::uint64 time_ps)
set the state of a line at a given time.
const InterruptType itype_
InterruptVector *const vector_
InterruptEnable *const enable_
interface to set interrupt bits
InterruptType
interrupt types supported by the default implementation