4#include "../NDRegisterAccessor.h"
5#include "../RegisterPath.h"
53 static std::unique_ptr<GenericMuxedInterruptDistributor>
create(std::string
const& description,
62 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_isr;
63 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_ier;
64 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_icr;
65 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_mer;
67 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_sie;
68 boost::shared_ptr<NDRegisterAccessor<uint32_t>>
_cie;
Class to store a register path name.
Class for generating and holding version numbers without exposing a numeric representation.
void clearInterruptsFromMask(uint32_t mask)
In mask, 1 bits clear the corresponding registers, 0 bits do nothing.
void enableInterruptsFromMask(uint32_t mask)
For each bit in mask that is a 1, the corresponding interrupt gets enabled, and the internal copy of ...
~GenericMuxedInterruptDistributor() override
void disableInterruptsFromMask(uint32_t mask)
Disables each interrupt corresponding to the 1 bits in mask, and updates _activeInterrupts.
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _ier
uint32_t _activeInterrupts
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _cie
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _isr
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _sie
void clearOneInterrupt(uint32_t ithInterrupt)
void clearAllEnabledInterrupts()
void handle(VersionNumber version) override
Handle gets called when a trigger comes in.
void activate(VersionNumber version) override
void activateSubDomain(SubDomain< std::nullptr_t > &subDomain, VersionNumber const &version) override
Function to activate a (new) single SubDomain if the MuxedInterruptDistributor is already active.
void clearAllInterrupts()
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _icr
boost::shared_ptr< NDRegisterAccessor< uint32_t > > _mer
static std::unique_ptr< GenericMuxedInterruptDistributor > create(std::string const &description, const boost::shared_ptr< SubDomain< std::nullptr_t > > &parent)
Create parses the json configuration snippet 'description', and calls the constructor.
void enableOneInterrupt(uint32_t ithInterrupt)
void disableOneInterrupt(uint32_t ithInterrupt)
Interface base class for interrupt controller handlers.
Send backend-specific asynchronous data to different distributors: