Go to the documentation of this file.
41 #ifndef __DEV_ARM_GICV3_CPU_INTERFACE_H__
42 #define __DEV_ARM_GICV3_CPU_INTERFACE_H__
108 Bitfield<63, 1>
res0;
113 Bitfield<63, 2>
res0;
119 Bitfield<63, 3>
res0;
126 Bitfield<63, 4>
res0;
134 Bitfield<63, 4>
res0;
141 static const uint8_t PRIORITY_BITS = 5;
227 static const uint64_t ICH_LR_EL2_STATE_INVALID = 0;
233 Bitfield<31, 30>
State;
244 Bitfield<63, 8>
res0;
357 #endif //__DEV_ARM_GICV3_CPU_INTERFACE_H__
void setMiscReg(int misc_reg, RegVal val) override
Write to a system register belonging to this device.
void activateIRQ(uint32_t int_id)
Bitfield< 31, 27 > EOIcount
bool isSecureBelowEL3() const
void deactivateIRQ(uint32_t intid, Gicv3::GroupId group)
void setThreadContext(ThreadContext *tc) override
Bitfield< 1 > EnableGrp1S
Base class for devices that use the MiscReg interfaces.
static const AddrRange GICH_LR
bool isEOISplitMode() const
bool getHCREL2IMO() const
static const uint8_t GIC_MIN_BPR_NS
Basic support for object serialization.
Bitfield< 3 > EOImode_EL1S
static const uint64_t ICH_LR_EL2_STATE_ACTIVE
EndBitUnion(ICC_CTLR_EL1) BitUnion64(ICC_CTLR_EL3) Bitfield< 63
Bitfield< 13, 11 > IDbits
void virtualActivateIRQ(uint32_t lrIdx)
uint32_t virtualGroupPriorityMask(Gicv3::GroupId group) const
void resetHppi(uint32_t intid)
static const AddrRange GICH_APR
Bitfield< 28, 26 > PREbits
uint8_t virtualHighestActivePriority() const
uint64_t eoiMaintenanceInterruptStatus() const
RegVal bpr1(Gicv3::GroupId group)
uint32_t getHPPIR1() const
BitUnion64(ICC_CTLR_EL1) Bitfield< 63
int highestActiveGroup() const
static const uint64_t ICH_LR_EL2_STATE_PENDING
void unserialize(CheckpointIn &cp) override
Unserialize an object.
static const uint8_t GIC_MIN_VBPR
RegVal readMiscReg(int misc_reg) override
Read a system register belonging to this device.
bool inSecureState() const
ArmISA::InterruptTypes intSignalType(Gicv3::GroupId group) const
void serialize(CheckpointOut &cp) const override
Serialize an object.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
static const uint8_t VIRTUAL_NUM_LIST_REGS
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
Bitfield< 4 > EOImode_EL1NS
static const uint8_t VIRTUAL_PREEMPTION_BITS
static const uint8_t GIC_MIN_BPR
void assertWakeRequest(void)
uint32_t groupPriorityMask(Gicv3::GroupId group)
Bitfield< 2 > EOImode_EL3
void deassertWakeRequest(void)
Bitfield< 44, 32 > pINTID
Bitfield< 26, 15 > res0_1
bool getHCREL2FMO() const
Gicv3Distributor * distributor
BitUnion32(ICH_LRC) Bitfield< 31
Bitfield< 10, 8 > PRIbits
uint8_t highestActivePriority() const
void virtualIncrementEOICount()
bool groupEnabled(Gicv3::GroupId group) const
static const uint8_t VIRTUAL_PRIORITY_BITS
EndBitUnion(ICV_CTLR_EL1) protected void generateSGI(RegVal val, Gicv3::GroupId group)
void dropPriority(Gicv3::GroupId group)
int virtualFindActive(uint32_t intid) const
void clearPendingInterrupts(void)
RegVal readBankedMiscReg(ArmISA::MiscRegIndex misc_reg) const
Bitfield< 0 > EnableGrp1NS
Generic representation of an Arm interrupt pin.
ArmInterruptPin * maintenanceInterrupt
void virtualDeactivateIRQ(int lrIdx)
bool virtualIsEOISplitMode() const
std::ostream CheckpointOut
static const AddrRange GICC_APR
uint32_t getHPPIR0() const
static const AddrRange GICC_NSAPR
void setBankedMiscReg(ArmISA::MiscRegIndex misc_reg, RegVal val) const
bool hppviCanPreempt(int lrIdx) const
bool haveEL(ArmISA::ExceptionLevel el) const
Bitfield< 4, 0 > ListRegs
bool havePendingInterrupts(void) const
Gicv3Redistributor * redistributor
Bitfield< 17, 16 > res0_2
Bitfield< 55, 48 > Priority
uint8_t virtualDropPriority()
static const uint64_t ICH_LR_EL2_STATE_ACTIVE_PENDING
ICH_MISR_EL2 maintenanceInterruptStatus() const
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17