54 IRQLine(
const std::string& name,
int irqvector);
77 void registerLine(
int idx,
IRQLine* irq);
78 void registerLine(
int idx,
const IRQLine& irq);
82 virtual void ClearIrqFlag(
unsigned int vector);
83 virtual void Reset(
void);
85 virtual unsigned char set_from_reg(
const IOSpecialReg* reg,
unsigned char nv);
86 virtual unsigned char get_from_client(
const IOSpecialReg* reg,
unsigned char v);
Basic AVR device, contains the core functionality.
unsigned char bitmask
mask for used bits in registers
std::vector< IRQLine > lines
list with IRQ lines
HWIrqSystem * irqsystem
pointer to irq system
std::map< int, int > vector2line
mapping IRQ vector to index
int irqvector
the IRQ vector number in interrupt table, starting with 0
unsigned char irqmask
mask register value;
Represents a timer interrupt line, Frontend for timer interrupts.
std::string name
name of this IRQ line
Interface class to connect hardware units to control registers.
IOSpecialReg tifr_reg
the TIFRx register
TimerIRQRegister * irqreg
pointer to irq registers, where this line is hold
Build a register for TraceValue's.
void fireInterrupt(void)
inform interrupt system, that an interrupt occured
Provices flag and mask register for timer interrupts and connects irq lines to irqsystem.
unsigned char irqflags
flag register value;
friend class TimerIRQRegister
std::map< std::string, int > name2line
mapping IRQ line name to index
IOSpecialReg timsk_reg
the TIMSKx register