#include <rwmem.h>


Public Member Functions | |
| IOSpecialReg (TraceValueRegister *registry, const std::string &tracename) | |
| Creates a IOSpecialReg instance, see RWMemoryMember for more info. | |
| void | connectSRegClient (IOSpecialRegClient *c) |
| Registers a client to this IO register to inform this client on read or write access. | |
| void | Reset (void) |
| Register reset functionality, sets internal register value to 0. | |
| void | Reset (unsigned char val) |
| void | hardwareChange (unsigned char val) |
| void | hardwareChangeMask (unsigned char val, unsigned char mask) |
Protected Member Functions | |
| unsigned char | get () const |
| Get value method, see RWMemoryMember. | |
| void | set (unsigned char) |
| Set value method, see RWMemoryMember. | |
Protected Attributes | |
| std::vector< IOSpecialRegClient * > | clients |
| clients-list with registered clients | |
Private Attributes | |
| unsigned char | value |
| Internal register value. | |
IO register, which holds configuration for more than one hardware unit
Definition at line 253 of file rwmem.h.
| IOSpecialReg::IOSpecialReg | ( | TraceValueRegister * | registry, | |
| const std::string & | tracename | |||
| ) |
Creates a IOSpecialReg instance, see RWMemoryMember for more info.
Definition at line 141 of file rwmem.cpp.
References Reset().

| void IOSpecialReg::connectSRegClient | ( | IOSpecialRegClient * | c | ) | [inline] |
Registers a client to this IO register to inform this client on read or write access.
Definition at line 260 of file rwmem.h.
References clients.
Referenced by ExternalIRQ::ExternalIRQ(), ExternalIRQHandler::ExternalIRQHandler(), HWPrescaler::HWPrescaler(), HWPrescalerAsync::HWPrescalerAsync(), and TimerIRQRegister::TimerIRQRegister().

| unsigned char IOSpecialReg::get | ( | ) | const [protected, virtual] |
Get value method, see RWMemoryMember.
Implements RWMemoryMember.
| void IOSpecialReg::hardwareChange | ( | unsigned char | val | ) | [inline] |
Reflects a value change from hardware (for example timer count occured)
| val | the new register value |
Definition at line 270 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by TimerIRQRegister::ClearIrqFlag(), and TimerIRQRegister::fireInterrupt().


| void IOSpecialReg::hardwareChangeMask | ( | unsigned char | val, | |
| unsigned char | mask | |||
| ) | [inline] |
Reflects a value change from hardware (for example timer count occured), but with bitmask
| val | the new register value | |
| mask | the bitmask for val |
Definition at line 275 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by ExternalIRQHandler::ClearIrqFlag(), and ExternalIRQHandler::fireInterrupt().


| void IOSpecialReg::Reset | ( | unsigned char | val | ) | [inline] |
Register reset functionality, sets internal register value to val.
| val | the reset value |
Definition at line 266 of file rwmem.h.
References TraceValue::set_written(), RWMemoryMember::tv, and value.

| void IOSpecialReg::Reset | ( | void | ) | [inline] |
Register reset functionality, sets internal register value to 0.
Definition at line 263 of file rwmem.h.
References Reset().
Referenced by IOSpecialReg(), Reset(), and TimerIRQRegister::Reset().


| void IOSpecialReg::set | ( | unsigned char | val | ) | [protected, virtual] |
Set value method, see RWMemoryMember.
Implements RWMemoryMember.
std::vector<IOSpecialRegClient*> IOSpecialReg::clients [protected] |
clients-list with registered clients
Definition at line 278 of file rwmem.h.
Referenced by connectSRegClient(), get(), and set().
unsigned char IOSpecialReg::value [private] |
1.6.3