53 #ifndef ETISS_INCLUDE_INTERRUPTHANDLER_H_
54 #define ETISS_INCLUDE_INTERRUPTHANDLER_H_
61 #include "etiss/jit/types.h"
110 std::list<std::pair<etiss::uint64, std::pair<unsigned, bool>>>
pending_;
contains neccesary interfaces for instruction translation.
interrupt checking and signaling
defines a general interface to set interrupt bits
class for simple library access.
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
InterruptHandler(etiss::InterruptVector *interruptVector, etiss::InterruptEnable *interruptEnable, std::shared_ptr< etiss::CPUArch > arch, InterruptType itype=EDGE_TRIGGERED, bool sync=true)
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
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
InterruptType
interrupt types supported by the default implementation