|
simulavr
1.1.0
|
#include <rwmem.h>
Public Member Functions | |
| IOSpecialReg (TraceValueRegister *registry, const std::string &tracename) | |
| Creates a IOSpecialReg instance, see RWMemoryMember for more info. More... | |
| void | connectSRegClient (IOSpecialRegClient *c) |
| Registers a client to this IO register to inform this client on read or write access. More... | |
| void | Reset (void) |
| Register reset functionality, sets internal register value to 0. More... | |
| void | Reset (unsigned char val) |
| void | hardwareChange (unsigned char val) |
| void | hardwareChangeMask (unsigned char val, unsigned char mask) |
Public Member Functions inherited from RWMemoryMember | |
| RWMemoryMember (TraceValueRegister *registry, const std::string &tracename="", const int index=-1) | |
| RWMemoryMember (void) | |
| operator unsigned char () const | |
| Read access on memory. More... | |
| unsigned char | operator= (unsigned char val) |
| Write access on memory. More... | |
| unsigned char | operator= (const RWMemoryMember &mm) |
| Write access on memory. More... | |
| virtual | ~RWMemoryMember () |
| virtual void | set_bit (unsigned int bitaddr) |
| virtual void | clear_bit (unsigned int bitaddr) |
| const std::string & | GetTraceName (void) |
| bool | IsInvalid (void) const |
Protected Member Functions | |
| unsigned char | get () const |
| Get value method, see RWMemoryMember. More... | |
| void | set (unsigned char) |
| Set value method, see RWMemoryMember. More... | |
Protected Attributes | |
| std::vector< IOSpecialRegClient * > | clients |
| clients-list with registered clients More... | |
Protected Attributes inherited from RWMemoryMember | |
| TraceValue * | tv |
| TraceValueRegister * | registry |
| const std::string | tracename |
| const bool | isInvalid |
Private Attributes | |
| unsigned char | value |
| Internal register value. More... | |
IO register, which holds configuration for more than one hardware unit
| IOSpecialReg::IOSpecialReg | ( | TraceValueRegister * | registry, |
| const std::string & | tracename | ||
| ) |
Creates a IOSpecialReg instance, see RWMemoryMember for more info.
Definition at line 303 of file rwmem.cpp.
References Reset().
|
inline |
Registers a client to this IO register to inform this client on read or write access.
Definition at line 429 of file rwmem.h.
Referenced by ExternalIRQ::ExternalIRQ(), ExternalIRQHandler::ExternalIRQHandler(), HWAcomp::HWAcomp(), HWAd_SFIOR::HWAd_SFIOR(), HWPrescaler::HWPrescaler(), HWPrescalerAsync::HWPrescalerAsync(), HWTimerTinyX5::HWTimerTinyX5(), and TimerIRQRegister::TimerIRQRegister().
|
protectedvirtual |
Get value method, see RWMemoryMember.
Implements RWMemoryMember.
|
inline |
Reflects a value change from hardware (for example timer count occured)
| val | the new register value |
Definition at line 439 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by TimerIRQRegister::ClearIrqFlag(), TimerIRQRegister::fireInterrupt(), and set().
|
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 444 of file rwmem.h.
References TraceValue::change(), and RWMemoryMember::tv.
Referenced by ExternalIRQHandler::ClearIrqFlag(), and ExternalIRQHandler::fireInterrupt().
|
inline |
Register reset functionality, sets internal register value to 0.
Definition at line 432 of file rwmem.h.
References Reset().
Referenced by IOSpecialReg(), TimerIRQRegister::Reset(), and Reset().
|
inline |
Register reset functionality, sets internal register value to val.
| val | the reset value |
Definition at line 435 of file rwmem.h.
References TraceValue::set_written(), and RWMemoryMember::tv.
|
protectedvirtual |
Set value method, see RWMemoryMember.
Implements RWMemoryMember.
Definition at line 316 of file rwmem.cpp.
References clients, hardwareChange(), and value.
|
protected |
|
private |