Go to the documentation of this file.
41 #ifndef __DEV_ARM_GICV3_CPU_INTERFACE_H__
42 #define __DEV_ARM_GICV3_CPU_INTERFACE_H__
50 class Gicv3Distributor;
51 class Gicv3Redistributor;
118 Bitfield<63, 1>
res0;
123 Bitfield<63, 2>
res0;
129 Bitfield<63, 3>
res0;
136 Bitfield<63, 4>
res0;
144 Bitfield<63, 4>
res0;
151 static const uint8_t PRIORITY_BITS = 5;
231 Bitfield<63, 62>
State;
242 static const uint64_t ICH_LR_EL2_STATE_INVALID = 0;
259 Bitfield<63, 8>
res0;
313 void activateIRQ(uint32_t intid,
Gicv3::GroupId group);
377 #endif //__DEV_ARM_GICV3_CPU_INTERFACE_H__
bool groupEnabled(Gicv3::GroupId group) const
uint8_t highestActivePriority() const
Bitfield< 26, 15 > res0_1
void setThreadContext(ThreadContext *tc) override
uint8_t virtualHighestActivePriority() const
Bitfield< 47, 45 > res0_0
ArmInterruptPin * maintenanceInterrupt
Bitfield< 4 > EOImode_EL1NS
ArmISA::ExceptionLevel currEL() const
Gicv3Distributor * distributor
EndBitUnion(ICH_HCR_EL2) protected Bitfield< 61 > HW
Bitfield< 44, 32 > pINTID
Gicv3Redistributor * redistributor
void deassertWakeRequest(void)
static const uint8_t GIC_MIN_VBPR
RegVal readBankedMiscReg(ArmISA::MiscRegIndex misc_reg) const
uint32_t virtualGroupPriorityMask(Gicv3::GroupId group) const
void dropPriority(Gicv3::GroupId group)
Bitfield< 0 > EnableGrp1NS
void clearPendingInterrupts(void)
Bitfield< 31, 27 > EOIcount
void resetHppi(uint32_t intid)
static const uint8_t VIRTUAL_NUM_LIST_REGS
uint64_t eoiMaintenanceInterruptStatus() const
bool havePendingInterrupts(void) const
void unserialize(CheckpointIn &cp) override
Unserialize an object.
bool isEOISplitMode() const
Bitfield< 28, 26 > PREbits
Basic support for object serialization.
EndBitUnion(ICV_CTLR_EL1) protected void generateSGI(RegVal val, Gicv3::GroupId group)
static const uint64_t ICH_LR_EL2_STATE_PENDING
int highestActiveGroup() const
ThreadContext is the external interface to all thread state for anything outside of the CPU.
EndBitUnion(ICC_CTLR_EL1) BitUnion64(ICC_CTLR_EL3) Bitfield< 63
bool hppviCanPreempt(int lrIdx) const
static const uint8_t GIC_MIN_BPR_NS
ArmISA::InterruptTypes intSignalType(Gicv3::GroupId group) const
bool isSecureBelowEL3() const
Bitfield< 59, 56 > res0_1
BitUnion64(ICC_CTLR_EL1) Bitfield< 63
BitUnion32(ICH_LRC) Bitfield< 31
void copy(Gicv3Registers *from, Gicv3Registers *to)
void virtualDeactivateIRQ(int lrIdx)
Bitfield< 3 > EOImode_EL1S
bool getHCREL2FMO() const
bool getHCREL2IMO() const
void serialize(CheckpointOut &cp) const override
Serialize an object.
static const AddrRange GICH_APR
static const AddrRange GICC_NSAPR
static const uint8_t VIRTUAL_PREEMPTION_BITS
void setMiscReg(int misc_reg, RegVal val) override
Write to a system register belonging to this device.
void virtualIncrementEOICount()
void deactivateIRQ(uint32_t intid, Gicv3::GroupId group)
static const uint64_t ICH_LR_EL2_STATE_ACTIVE_PENDING
Bitfield< 2 > EOImode_EL3
uint8_t virtualDropPriority()
Bitfield< 4, 0 > ListRegs
Bitfield< 13, 11 > IDbits
Bitfield< 10, 8 > PRIbits
bool inSecureState() const
uint32_t groupPriorityMask(Gicv3::GroupId group)
static const AddrRange GICH_LR
ICH_MISR_EL2 maintenanceInterruptStatus() const
Generic representation of an Arm interrupt pin.
std::ostream CheckpointOut
static const AddrRange GICC_APR
void assertWakeRequest(void)
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
void setBankedMiscReg(ArmISA::MiscRegIndex misc_reg, RegVal val) const
int virtualFindActive(uint32_t intid) const
RegVal readMiscReg(int misc_reg) override
Read a system register belonging to this device.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
static const uint8_t GIC_MIN_BPR
RegVal bpr1(Gicv3::GroupId group)
uint32_t getHPPIR0() const
Bitfield< 1 > EnableGrp1S
void virtualActivateIRQ(uint32_t lrIdx)
bool virtualIsEOISplitMode() const
uint32_t getHPPIR1() const
bool haveEL(ArmISA::ExceptionLevel el) const
Bitfield< 17, 16 > res0_2
static const uint64_t ICH_LR_EL2_STATE_ACTIVE
Base class for devices that use the MiscReg interfaces.
Bitfield< 55, 48 > Priority
static const uint8_t VIRTUAL_PRIORITY_BITS
Generated on Sun Jul 30 2023 01:56:54 for gem5 by doxygen 1.8.17