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