ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
template implementation of an InterruptVector that uses integer variables to store interrupt bit values and to read interrupt masks. More...
#include <InterruptVector.h>
Public Types | |
typedef std::vector< INT * > | Vector |
Public Member Functions | |
MappedInterruptVector (Vector vec, Vector mask) | |
pass two equally long integer pointer vectors that will be used for interrupt bit vectors and masks More... | |
virtual | ~MappedInterruptVector () |
virtual void | setBit (unsigned bit, bool state) |
set the bit of an interrupt line to state (true = raised) More... | |
virtual bool | getBit (unsigned bit) const |
get the bit of an interrupt line More... | |
virtual unsigned | width () const |
number of interrupt bits More... | |
virtual bool | isActive () const |
virtual void | clear () |
sets every bit to false More... | |
Public Member Functions inherited from etiss::InterruptVector | |
virtual | ~InterruptVector () |
Private Attributes | |
Vector | vector_ |
Vector | mask_ |
Additional Inherited Members | |
Public Attributes inherited from etiss::InterruptVector | |
bool | consumed_by_interruptlistener_ { false } |
template implementation of an InterruptVector that uses integer variables to store interrupt bit values and to read interrupt masks.
this implementaion should work with most cpu architecture implementations.
Definition at line 102 of file InterruptVector.h.
typedef std::vector<INT *> etiss::MappedInterruptVector< INT >::Vector |
Definition at line 105 of file InterruptVector.h.
|
inline |
pass two equally long integer pointer vectors that will be used for interrupt bit vectors and masks
Definition at line 109 of file InterruptVector.h.
References etiss::ERROR, etiss::log(), and etiss::MappedInterruptVector< INT >::vector_.
|
inlinevirtual |
Definition at line 122 of file InterruptVector.h.
|
inlinevirtual |
sets every bit to false
Reimplemented from etiss::InterruptVector.
Definition at line 157 of file InterruptVector.h.
References etiss::MappedInterruptVector< INT >::vector_.
|
inlinevirtual |
get the bit of an interrupt line
Implements etiss::InterruptVector.
Definition at line 136 of file InterruptVector.h.
References etiss::MappedInterruptVector< INT >::mask_, and etiss::MappedInterruptVector< INT >::vector_.
|
inlinevirtual |
Reimplemented from etiss::InterruptVector.
Definition at line 148 of file InterruptVector.h.
References etiss::MappedInterruptVector< INT >::mask_, and etiss::MappedInterruptVector< INT >::vector_.
|
inlinevirtual |
set the bit of an interrupt line to state (true = raised)
Implements etiss::InterruptVector.
Definition at line 123 of file InterruptVector.h.
References etiss::MappedInterruptVector< INT >::vector_.
|
inlinevirtual |
number of interrupt bits
Implements etiss::InterruptVector.
Definition at line 147 of file InterruptVector.h.
References etiss::MappedInterruptVector< INT >::vector_.
|
private |
Definition at line 167 of file InterruptVector.h.
Referenced by etiss::MappedInterruptVector< INT >::getBit(), and etiss::MappedInterruptVector< INT >::isActive().
|
private |
Definition at line 166 of file InterruptVector.h.
Referenced by etiss::MappedInterruptVector< INT >::clear(), etiss::MappedInterruptVector< INT >::getBit(), etiss::MappedInterruptVector< INT >::isActive(), etiss::MappedInterruptVector< INT >::MappedInterruptVector(), etiss::MappedInterruptVector< INT >::setBit(), and etiss::MappedInterruptVector< INT >::width().