41 #ifndef __DEV_ARM_GICV3_DISTRIBUTOR_H__ 42 #define __DEV_ARM_GICV3_DISTRIBUTOR_H__ 139 static const uint32_t GICD_CTLR_ENABLEGRP0 = 1 << 0;
195 panic(
"Gicv3Distributor::groupEnabled(): " 208 panic(
"Gicv3Distributor::groupEnabled(): " 245 bool is_secure_access);
248 #endif //__DEV_ARM_GICV3_DISTRIBUTOR_H__
#define panic(...)
This implements a cprintf based panic() function.
static const AddrRange GICD_SPENDSGIR
std::vector< uint8_t > irqGrpmod
static const AddrRange GICD_ISENABLER
uint64_t read(Addr addr, size_t size, bool is_secure_access)
std::vector< uint8_t > irqPriority
bool nsAccessToSecInt(uint32_t int_id, bool is_secure_access) const
Overload hash function for BasicBlockRange type.
std::vector< uint8_t > irqNsacr
void write(Addr addr, uint64_t data, size_t size, bool is_secure_access)
std::vector< IROUTER > irqAffinityRouting
void sendInt(uint32_t int_id)
static const AddrRange GICD_CPENDSGIR
static const AddrRange GICD_IGROUPR
static const AddrRange GICD_ITARGETSR
void deassertSPI(uint32_t int_id)
void clearIrqCpuInterface(uint32_t int_id)
static const uint32_t GICD_CTLR_ENABLEGRP1
static const AddrRange GICD_ICENABLER
BitUnion64(IROUTER) Bitfield< 63
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
static const AddrRange GICD_ICFGR
static const AddrRange GICD_ISACTIVER
EndBitUnion(IROUTER) static const uint32_t GICD_CTLR_ENABLEGRP0
static const uint32_t IDBITS
static const AddrRange GICD_ISPENDR
std::vector< bool > irqPending
bool isNotSPI(uint32_t int_id) const
static const uint32_t ADDR_RANGE_SIZE
Gicv3Distributor(Gicv3 *gic, uint32_t it_lines)
void activateIRQ(uint32_t int_id)
std::vector< bool > irqEnabled
static const AddrRange GICD_ICACTIVER
void unserialize(CheckpointIn &cp) override
Unserialize an object.
static const AddrRange GICD_NSACR
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Gicv3::IntStatus intStatus(uint32_t int_id) const
Basic support for object serialization.
std::vector< bool > irqActive
Gicv3::GroupId getIntGroup(int int_id) const
std::ostream CheckpointOut
static const AddrRange GICD_IPRIORITYR
static const uint32_t GICD_CTLR_ENABLEGRP1S
Gicv3CPUInterface * route(uint32_t int_id)
std::vector< Gicv3::IntTriggerType > irqConfig
static const uint32_t GICD_CTLR_ENABLEGRP1NS
static const uint32_t GICD_CTLR_DS
bool groupEnabled(Gicv3::GroupId group) const
void serialize(CheckpointOut &cp) const override
Serialize an object.
Bitfield< 30, 24 > res0_2
static const AddrRange GICD_IGRPMODR
static const uint32_t GICD_CTLR_ENABLEGRP1A
static const AddrRange GICD_IROUTER
static const AddrRange GICD_ICPENDR
std::vector< uint8_t > irqGroup
void deactivateIRQ(uint32_t int_id)