Go to the documentation of this file.
41 #ifndef __DEV_ARM_GICV3_REDISTRIBUTOR_H__
42 #define __DEV_ARM_GICV3_REDISTRIBUTOR_H__
178 static const uint32_t GICR_CTLR_ENABLE_LPIS = 1 << 0;
259 #endif //__DEV_ARM_GICV3_REDISTRIBUTOR_H__
void activateIRQ(uint32_t int_id)
uint32_t getAffinity() const
std::vector< bool > irqPendingIspendr
Gicv3Distributor * distributor
static const uint32_t GICR_WAKER_ProcessorSleep
Addr lpiConfigurationTablePtr
uint64_t read(Addr addr, size_t size, bool is_secure_access)
static const uint32_t GICR_CTLR_DPG0
Basic support for object serialization.
void writeEntryLPI(uint32_t intid, uint8_t lpi_entry)
Gicv3Redistributor(Gicv3 *gic, uint32_t cpu_id)
std::vector< bool > irqPending
std::vector< bool > irqActive
bool isPendingLPI(uint32_t intid)
bool isLevelSensitive(uint32_t int_id) const
std::vector< uint8_t > irqGroup
std::vector< uint8_t > irqPriority
static const uint32_t GICR_CTLR_DPG1S
uint8_t readEntryLPI(uint32_t intid)
void clearPPInt(uint32_t int_id)
std::vector< Gicv3::IntTriggerType > irqConfig
Gicv3::GroupId getIntGroup(int int_id) const
static const uint32_t GICR_CTLR_DPG1NS
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
std::vector< bool > irqEnabled
Gicv3CPUInterface * cpuInterface
Gicv3CPUInterface * getCPUInterface() const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
static const uint32_t RD_base
static const AddrRange GICR_IPRIORITYR
BitUnion8(LPIConfigurationTableEntry) Bitfield< 7
static const uint32_t GICR_WAKER_ChildrenAsleep
void sendSGI(uint32_t int_id, Gicv3::GroupId group, bool ns)
Gicv3::IntStatus intStatus(uint32_t int_id) const
This object is a proxy for a port or other object which implements the functional response protocol,...
void write(Addr addr, uint64_t data, size_t size, bool is_secure_access)
void serialize(CheckpointOut &cp) const override
Serialize an object.
uint32_t processorNumber() const
void sendPPInt(uint32_t int_id)
std::vector< uint8_t > irqGrpmod
void deactivateIRQ(uint32_t int_id)
EndBitUnion(LPIConfigurationTableEntry) static const uint32_t GICR_CTLR_ENABLE_LPIS
std::ostream CheckpointOut
static const uint32_t SMALLEST_LPI_ID
static const uint32_t SGI_base
bool treatAsEdgeTriggered(uint32_t int_id) const
This helper is used to check if an interrupt should be treated as edge triggered in the following sce...
bool canBeSelectedFor1toNInterrupt(Gicv3::GroupId group) const
void unserialize(CheckpointIn &cp) override
Unserialize an object.
const uint32_t addrRangeSize
void setClrLPI(uint64_t data, bool set)
std::vector< uint8_t > irqNsacr
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17