|
gem5 v23.0.0.1
|
Namespaces | |
| namespace | float_reg |
| namespace | int_reg |
Classes | |
| class | BlockMem |
| class | BlockMemImm |
| class | BlockMemImmMicro |
| class | BlockMemMicro |
| class | Branch |
| Base class for branch operations. More... | |
| class | BranchDisp |
| Base class for branch operations with an immediate displacement. More... | |
| class | BranchImm13 |
| Base class for branches that use an immediate and a register to compute their displacements. More... | |
| class | BranchNBits |
| Base class for branches with n bit displacements. More... | |
| class | BranchSplit |
| Base class for 16bit split displacements. More... | |
| class | CleanWindow |
| class | CpuMondo |
| class | DataAccessError |
| class | DataAccessException |
| class | DataAccessProtection |
| class | DataInvalidTSBEntry |
| class | DataRealTranslationMiss |
| class | Decoder |
| class | DevMondo |
| class | DivisionByZero |
| class | EmuLinux |
| class | EnumeratedFault |
| class | ExternallyInitiatedReset |
| class | FailUnimplemented |
| Static instruction class for unimplemented instructions that cause simulator termination. More... | |
| class | FastDataAccessMMUMiss |
| class | FastDataAccessProtection |
| class | FastInstructionAccessMMUMiss |
| class | FillNNormal |
| class | FillNOther |
| class | FpDisabled |
| class | FpExceptionIEEE754 |
| class | FpExceptionOther |
| class | FpUnimpl |
| class | FsWorkload |
| class | HstickMatch |
| class | IllegalInstruction |
| class | InstructionAccessError |
| class | InstructionAccessException |
| class | InstructionBreakpoint |
| class | InstructionInvalidTSBEntry |
| class | InstructionRealTranslationMiss |
| class | InternalProcessorError |
| class | InterruptLevelN |
| class | Interrupts |
| class | InterruptVector |
| class | IntOp |
| Base class for integer operations. More... | |
| class | IntOpImm |
| Base class for immediate integer operations. More... | |
| class | IntOpImm10 |
| Base class for 10 bit immediate integer operations. More... | |
| class | IntOpImm11 |
| Base class for 11 bit immediate integer operations. More... | |
| class | IntOpImm13 |
| Base class for 13 bit immediate integer operations. More... | |
| class | IntRegClassOps |
| class | ISA |
| class | LDDFMemAddressNotAligned |
| class | LDQFMemAddressNotAligned |
| class | Mem |
| Base class for memory operations. More... | |
| class | MemAddressNotAligned |
| class | MemImm |
| Class for memory operations which use an immediate offset. More... | |
| class | MMU |
| class | Nop |
| Nop class. More... | |
| class | PageTableEntry |
| class | PAWatchpoint |
| class | PowerOnReset |
| class | Priv |
| Base class for privelege mode operations. More... | |
| class | PrivilegedAction |
| class | PrivilegedOpcode |
| class | PrivImm |
| Base class for privelege mode operations with immediates. More... | |
| class | PrivReg |
| class | RdPriv |
| class | REDStateException |
| class | RemoteGDB |
| class | ResumableError |
| class | SetHi |
| Base class for sethi. More... | |
| class | SEWorkload |
| class | SoftwareInitiatedReset |
| class | SparcDelayedMicroInst |
| class | SparcFault |
| class | SparcFaultBase |
| class | SparcMacroInst |
| class | SparcMicroInst |
| class | SparcStaticInst |
| Base class for all SPARC static instructions. More... | |
| class | SpillNNormal |
| class | SpillNOther |
| class | StackTrace |
| class | STDFMemAddressNotAligned |
| class | StoreError |
| class | STQFMemAddressNotAligned |
| class | TagOverflow |
| class | TLB |
| struct | TlbEntry |
| class | TlbMap |
| struct | TlbRange |
| class | Trap |
| Base class for trap instructions, or instructions that always fault. More... | |
| class | TrapInstruction |
| class | TrapLevelZero |
| class | TteTag |
| class | Unknown |
| Class for Unknown/Illegal instructions. More... | |
| class | VAWatchpoint |
| class | VecDisabled |
| class | WarnUnimplemented |
| Base class for unimplemented instructions that cause a warning to be printed (but do not terminate simulation). More... | |
| class | WatchDogReset |
| class | WrPriv |
| class | WrPrivImm |
Typedefs | |
| typedef uint32_t | TrapType |
| typedef uint32_t | FaultPriority |
| typedef GenericISA::DelaySlotUPCState< 4 > | PCState |
| typedef uint32_t | MachInst |
| typedef uint64_t | ExtMachInst |
Functions | |
| bool | asiIsBlock (ASI asi) |
| bool | asiIsPrimary (ASI asi) |
| bool | asiIsSecondary (ASI asi) |
| bool | asiIsNucleus (ASI asi) |
| bool | asiIsAsIfUser (ASI asi) |
| bool | asiIsIO (ASI asi) |
| bool | asiIsReal (ASI asi) |
| bool | asiIsLittle (ASI asi) |
| bool | asiIsTwin (ASI asi) |
| bool | asiIsPartialStore (ASI asi) |
| bool | asiIsFloatingLoad (ASI asi) |
| bool | asiIsNoFault (ASI asi) |
| bool | asiIsScratchPad (ASI asi) |
| bool | asiIsCmt (ASI asi) |
| bool | asiIsQueue (ASI asi) |
| bool | asiIsInterrupt (ASI asi) |
| bool | asiIsMmu (ASI asi) |
| bool | asiIsUnPriv (ASI asi) |
| bool | asiIsPriv (ASI asi) |
| bool | asiIsHPriv (ASI asi) |
| bool | asiIsReg (ASI asi) |
| bool | asiIsSparcError (ASI asi) |
| bool | asiIsDtlb (ASI) |
| void | enterREDState (ThreadContext *tc) |
| This causes the thread context to enter RED state. | |
| void | doREDFault (ThreadContext *tc, TrapType tt) |
| This sets everything up for a RED state trap except for actually jumping to the handler. | |
| void | doNormalFault (ThreadContext *tc, TrapType tt, bool gotoHpriv) |
| This sets everything up for a normal trap except for actually jumping to the handler. | |
| void | getREDVector (RegVal TT, Addr &PC, Addr &NPC) |
| void | getHyperVector (ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT) |
| void | getPrivVector (ThreadContext *tc, Addr &PC, Addr &NPC, RegVal TT, RegVal TL) |
| static PSTATE | buildPstateMask () |
| static void | copyMiscRegs (ThreadContext *src, ThreadContext *dest) |
| static SyscallReturn | unameFunc (SyscallDesc *desc, ThreadContext *tc, VPtr< Linux::utsname > name) |
| Target uname() handler. | |
| static SyscallReturn | getresuidFunc (SyscallDesc *desc, ThreadContext *tc, VPtr<> ruid, VPtr<> euid, VPtr<> suid) |
| constexpr RegClass | floatRegClass (FloatRegClass, FloatRegClassName, float_reg::NumRegs, debug::FloatRegs) |
| BitUnion64 (HPSTATE) Bitfield< 0 > tlz | |
| EndBitUnion (HPSTATE) BitUnion16(PSTATE) Bitfield< 1 > ie | |
| EndBitUnion (PSTATE) BitUnion8(CCR) SubBitUnion(xcc | |
| EndSubBitUnion (xcc) SubBitUnion(icc | |
| EndSubBitUnion (icc) EndBitUnion(CCR) struct STS | |
| constexpr RegClass | miscRegClass (MiscRegClass, MiscRegClassName, NumMiscRegs, debug::MiscRegs) |
Variables | |
| const int | numFillInsts = 32 |
| const int | numSpillInsts = 32 |
| const MachInst | fillHandler64 [numFillInsts] |
| const MachInst | fillHandler32 [numFillInsts] |
| const MachInst | spillHandler64 [numSpillInsts] |
| const MachInst | spillHandler32 [numSpillInsts] |
| const char * | CondTestAbbrev [] |
| static const PSTATE | PstateMask = buildPstateMask() |
| const Addr | PageShift = 13 |
| const Addr | PageBytes = 1ULL << PageShift |
| constexpr IntRegClassOps | intRegClassOps |
| constexpr RegClass | intRegClass |
| constexpr RegClass | flatIntRegClass |
| constexpr auto & | ReturnAddressReg = int_reg::I7 |
| constexpr auto & | ReturnValueReg = int_reg::O0 |
| constexpr auto & | StackPointerReg = int_reg::O6 |
| constexpr auto & | FramePointerReg = int_reg::I6 |
| constexpr auto & | SyscallPseudoReturnReg = int_reg::O1 |
| Bitfield< 2 > | hpriv |
| Bitfield< 5 > | red |
| Bitfield< 10 > | ibe |
| Bitfield< 11 > | id |
| Bitfield< 2 > | priv |
| Bitfield< 3 > | am |
| Bitfield< 4 > | pef |
| Bitfield< 7, 6 > | mm |
| Bitfield< 8 > | tle |
| Bitfield< 9 > | cle |
| Bitfield< 10 > | pid0 |
| Bitfield< 11 > | pid1 |
| Bitfield< 7 > | n |
| Bitfield< 6 > | z |
| Bitfield< 5 > | v |
| Bitfield< 4 > | c |
| const int | NumMiscRegs = MISCREG_NUMMISCREGS |
| const int | MaxPTL = 2 |
| const int | MaxTL = 6 |
| const int | MaxGL = 3 |
| const int | MaxPGL = 2 |
| const int | NWindows = 8 |
| const Addr | StartVAddrHole = 0x0000800000000000ULL |
| const Addr | EndVAddrHole = 0xFFFF7FFFFFFFFFFFULL |
| const Addr | VAddrAMask = 0xFFFFFFFFULL |
| const Addr | PAddrImplMask = 0x000000FFFFFFFFFFULL |
| typedef uint64_t gem5::SparcISA::ExtMachInst |
| typedef uint32_t gem5::SparcISA::FaultPriority |
| typedef uint32_t gem5::SparcISA::MachInst |
Definition at line 40 of file pcstate.hh.
| typedef uint32_t gem5::SparcISA::TrapType |
| enum gem5::SparcISA::ASI |
| Enumerator | |
|---|---|
| Always | |
| Never | |
| NotEqual | |
| Equal | |
| Greater | |
| LessOrEqual | |
| GreaterOrEqual | |
| Less | |
| GreaterUnsigned | |
| LessOrEqualUnsigned | |
| CarryClear | |
| CarrySet | |
| Positive | |
| Negative | |
| OverflowClear | |
| OverflowSet | |
Definition at line 48 of file static_inst.hh.
Definition at line 70 of file static_inst.hh.
| Enumerator | |
|---|---|
| IT_TRAP_LEVEL_ZERO | |
| IT_HINTP | |
| IT_INT_VEC | |
| IT_CPU_MONDO | |
| IT_DEV_MONDO | |
| IT_RES_ERROR | |
| IT_SOFT_INT | |
| NumInterruptTypes | |
Definition at line 46 of file interrupts.hh.
| Enumerator | |
|---|---|
| MISCREG_ASI | Ancillary State Registers. |
| MISCREG_TICK | |
| MISCREG_FPRS | |
| MISCREG_PCR | |
| MISCREG_PIC | |
| MISCREG_GSR | |
| MISCREG_SOFTINT_SET | |
| MISCREG_SOFTINT_CLR | |
| MISCREG_SOFTINT | |
| MISCREG_TICK_CMPR | |
| MISCREG_STICK | |
| MISCREG_STICK_CMPR | |
| MISCREG_TPC | Privilged Registers. |
| MISCREG_TNPC | |
| MISCREG_TSTATE | |
| MISCREG_TT | |
| MISCREG_PRIVTICK | |
| MISCREG_TBA | |
| MISCREG_PSTATE | |
| MISCREG_TL | |
| MISCREG_PIL | |
| MISCREG_CWP | |
| MISCREG_GL | |
| MISCREG_HPSTATE | Hyper privileged registers. |
| MISCREG_HTSTATE | |
| MISCREG_HINTP | |
| MISCREG_HTBA | |
| MISCREG_HVER | |
| MISCREG_STRAND_STS_REG | |
| MISCREG_HSTICK_CMPR | |
| MISCREG_FSR | Floating Point Status Register. |
| MISCREG_MMU_P_CONTEXT | MMU Internal Registers. |
| MISCREG_MMU_S_CONTEXT | |
| MISCREG_MMU_PART_ID | |
| MISCREG_MMU_LSU_CTRL | |
| MISCREG_SCRATCHPAD_R0 | Scratchpad regiscers. |
| MISCREG_SCRATCHPAD_R1 | |
| MISCREG_SCRATCHPAD_R2 | |
| MISCREG_SCRATCHPAD_R3 | |
| MISCREG_SCRATCHPAD_R4 | |
| MISCREG_SCRATCHPAD_R5 | |
| MISCREG_SCRATCHPAD_R6 | |
| MISCREG_SCRATCHPAD_R7 | |
| MISCREG_QUEUE_CPU_MONDO_HEAD | |
| MISCREG_QUEUE_CPU_MONDO_TAIL | |
| MISCREG_QUEUE_DEV_MONDO_HEAD | |
| MISCREG_QUEUE_DEV_MONDO_TAIL | |
| MISCREG_QUEUE_RES_ERROR_HEAD | |
| MISCREG_QUEUE_RES_ERROR_TAIL | |
| MISCREG_QUEUE_NRES_ERROR_HEAD | |
| MISCREG_QUEUE_NRES_ERROR_TAIL | |
| MISCREG_TLB_DATA | |
| MISCREG_NUMMISCREGS | |
| bool gem5::SparcISA::asiIsAsIfUser | ( | ASI | asi | ) |
Definition at line 118 of file asi.cc.
References ASI_AIUP, ASI_AIUP_L, ASI_AIUS, ASI_AIUS_L, ASI_BLK_AIUP, ASI_BLK_AIUP_L, ASI_BLK_AIUS, ASI_BLK_AIUS_L, ASI_LDTX_AIUP, ASI_LDTX_AIUP_L, ASI_LDTX_AIUS, and ASI_LDTX_AIUS_L.
| bool gem5::SparcISA::asiIsBlock | ( | ASI | asi | ) |
Definition at line 38 of file asi.cc.
References ASI_BLK_AIUP, ASI_BLK_AIUP_L, ASI_BLK_AIUS, ASI_BLK_AIUS_L, ASI_BLK_P, ASI_BLK_PL, ASI_BLK_S, and ASI_BLK_SL.
| bool gem5::SparcISA::asiIsCmt | ( | ASI | asi | ) |
Definition at line 249 of file asi.cc.
References ASI_CMT_PER_STRAND, and ASI_CMT_SHARED.
Referenced by asiIsReg().
| bool gem5::SparcISA::asiIsDtlb | ( | ASI | ) |
| bool gem5::SparcISA::asiIsFloatingLoad | ( | ASI | asi | ) |
Definition at line 220 of file asi.cc.
References ASI_FL16_P, ASI_FL16_PL, ASI_FL16_S, ASI_FL16_SL, ASI_FL8_P, ASI_FL8_PL, ASI_FL8_S, and ASI_FL8_SL.
| bool gem5::SparcISA::asiIsInterrupt | ( | ASI | asi | ) |
Definition at line 262 of file asi.cc.
References ASI_SWVR_INTR_RECEIVE, ASI_SWVR_UDB_INTR_R, and ASI_SWVR_UDB_INTR_W.
Referenced by asiIsReg().
| bool gem5::SparcISA::asiIsIO | ( | ASI | asi | ) |
Definition at line 135 of file asi.cc.
References ASI_REAL_IO, and ASI_REAL_IO_L.
| bool gem5::SparcISA::asiIsLittle | ( | ASI | asi | ) |
Definition at line 153 of file asi.cc.
References ASI_AIUP_L, ASI_AIUS_L, ASI_BLK_AIUP_L, ASI_BLK_AIUS_L, ASI_BLK_PL, ASI_BLK_SL, ASI_FL16_PL, ASI_FL16_SL, ASI_FL8_PL, ASI_FL8_SL, ASI_LDTX_AIUP_L, ASI_LDTX_AIUS_L, ASI_LDTX_NL, ASI_LDTX_PL, ASI_LDTX_REAL_L, ASI_LDTX_SL, ASI_LTX_L, ASI_NL, ASI_PL, ASI_PNFL, ASI_PST16_PL, ASI_PST16_SL, ASI_PST32_PL, ASI_PST32_SL, ASI_PST8_PL, ASI_PST8_SL, ASI_REAL_IO_L, ASI_REAL_L, ASI_SL, and ASI_SNFL.
| bool gem5::SparcISA::asiIsMmu | ( | ASI | asi | ) |
Definition at line 270 of file asi.cc.
References ASI_DMMU_CTXT_NONZERO_TSB_BASE_PS0, ASI_DMMU_CTXT_ZERO_TSB_BASE_PS0, ASI_IMMU, ASI_IMMU_CTXT_NONZERO_CONFIG, ASI_IMMU_CTXT_ZERO_CONFIG, ASI_IMMU_TSB_PS1_PTR_REG, ASI_ITLB_DATA_IN_REG, ASI_LSU_CONTROL_REG, ASI_MMU, and ASI_TLB_INVALIDATE_ALL.
Referenced by asiIsReg().
| bool gem5::SparcISA::asiIsNoFault | ( | ASI | asi | ) |
| bool gem5::SparcISA::asiIsNucleus | ( | ASI | asi | ) |
Definition at line 109 of file asi.cc.
References ASI_LDTX_N, ASI_LDTX_NL, ASI_N, and ASI_NL.
| bool gem5::SparcISA::asiIsPartialStore | ( | ASI | asi | ) |
Definition at line 203 of file asi.cc.
References ASI_PST16_P, ASI_PST16_PL, ASI_PST16_S, ASI_PST16_SL, ASI_PST32_P, ASI_PST32_PL, ASI_PST32_S, ASI_PST32_SL, ASI_PST8_P, ASI_PST8_PL, ASI_PST8_S, and ASI_PST8_SL.
| bool gem5::SparcISA::asiIsPrimary | ( | ASI | asi | ) |
Definition at line 51 of file asi.cc.
References ASI_AIUP, ASI_AIUP_L, ASI_BLK_AIUP, ASI_BLK_AIUP_L, ASI_BLK_P, ASI_BLK_PL, ASI_FL16_P, ASI_FL16_PL, ASI_FL8_P, ASI_FL8_PL, ASI_LDTX_AIUP, ASI_LDTX_AIUP_L, ASI_LDTX_P, ASI_LDTX_PL, ASI_P, ASI_PL, ASI_PNF, ASI_PNFL, ASI_PST16_P, ASI_PST16_PL, ASI_PST32_P, ASI_PST32_PL, ASI_PST8_P, and ASI_PST8_PL.
| bool gem5::SparcISA::asiIsQueue | ( | ASI | asi | ) |
| bool gem5::SparcISA::asiIsReal | ( | ASI | asi | ) |
Definition at line 142 of file asi.cc.
References ASI_LDTX_REAL, ASI_LDTX_REAL_L, ASI_REAL, ASI_REAL_IO, ASI_REAL_IO_L, and ASI_REAL_L.
Referenced by gem5::SparcISA::FastDataAccessMMUMiss::invoke().
| bool gem5::SparcISA::asiIsReg | ( | ASI | asi | ) |
Definition at line 304 of file asi.cc.
References asiIsCmt(), asiIsInterrupt(), asiIsMmu(), asiIsScratchPad(), and asiIsSparcError().
| bool gem5::SparcISA::asiIsScratchPad | ( | ASI | asi | ) |
Definition at line 242 of file asi.cc.
References ASI_HYP_SCRATCHPAD, and ASI_SCRATCHPAD.
Referenced by asiIsReg().
| bool gem5::SparcISA::asiIsSecondary | ( | ASI | asi | ) |
Definition at line 80 of file asi.cc.
References ASI_AIUS, ASI_AIUS_L, ASI_BLK_AIUS, ASI_BLK_AIUS_L, ASI_BLK_S, ASI_BLK_SL, ASI_FL16_S, ASI_FL16_SL, ASI_FL8_S, ASI_FL8_SL, ASI_LDTX_AIUS, ASI_LDTX_AIUS_L, ASI_LDTX_S, ASI_LDTX_SL, ASI_PST16_S, ASI_PST16_SL, ASI_PST32_S, ASI_PST32_SL, ASI_PST8_S, ASI_PST8_SL, ASI_S, ASI_SL, ASI_SNF, and ASI_SNFL.
| bool gem5::SparcISA::asiIsSparcError | ( | ASI | asi | ) |
Definition at line 312 of file asi.cc.
References ASI_SPARC_ERROR_EN_REG, and ASI_SPARC_ERROR_STATUS_REG.
Referenced by asiIsReg().
| bool gem5::SparcISA::asiIsTwin | ( | ASI | asi | ) |
Definition at line 188 of file asi.cc.
References ASI_LDTX_AIUP, ASI_LDTX_AIUP_L, ASI_LDTX_N, ASI_LDTX_NL, ASI_LDTX_P, ASI_LDTX_PL, ASI_LDTX_S, ASI_LDTX_SL, and ASI_QUEUE.
| gem5::SparcISA::BitUnion64 | ( | HPSTATE | ) |
|
static |
Definition at line 53 of file isa.cc.
References gem5::ArmISA::mask.
|
static |
Definition at line 97 of file isa.cc.
References gem5::ArmISA::i, MaxTL, MISCREG_ASI, MISCREG_CWP, MISCREG_FPRS, MISCREG_FSR, MISCREG_GL, MISCREG_HINTP, MISCREG_HPSTATE, MISCREG_HSTICK_CMPR, MISCREG_HTBA, MISCREG_MMU_LSU_CTRL, MISCREG_MMU_P_CONTEXT, MISCREG_MMU_PART_ID, MISCREG_MMU_S_CONTEXT, MISCREG_PIL, MISCREG_PSTATE, MISCREG_QUEUE_CPU_MONDO_HEAD, MISCREG_QUEUE_CPU_MONDO_TAIL, MISCREG_QUEUE_DEV_MONDO_HEAD, MISCREG_QUEUE_DEV_MONDO_TAIL, MISCREG_QUEUE_NRES_ERROR_HEAD, MISCREG_QUEUE_NRES_ERROR_TAIL, MISCREG_QUEUE_RES_ERROR_HEAD, MISCREG_QUEUE_RES_ERROR_TAIL, MISCREG_SCRATCHPAD_R0, MISCREG_SCRATCHPAD_R1, MISCREG_SCRATCHPAD_R2, MISCREG_SCRATCHPAD_R3, MISCREG_SCRATCHPAD_R4, MISCREG_SCRATCHPAD_R5, MISCREG_SCRATCHPAD_R6, MISCREG_SCRATCHPAD_R7, MISCREG_SOFTINT, MISCREG_STICK, MISCREG_STICK_CMPR, MISCREG_STRAND_STS_REG, MISCREG_TBA, MISCREG_TICK, MISCREG_TICK_CMPR, MISCREG_TL, MISCREG_TNPC, MISCREG_TPC, MISCREG_TSTATE, MISCREG_TT, gem5::ThreadContext::readMiscRegNoEffect(), gem5::ThreadContext::setMiscReg(), gem5::ThreadContext::setMiscRegNoEffect(), and gem5::MipsISA::tl.
Referenced by gem5::SparcISA::ISA::copyRegsFrom().
| void gem5::SparcISA::doNormalFault | ( | ThreadContext * | tc, |
| TrapType | tt, | ||
| bool | gotoHpriv | ||
| ) |
This sets everything up for a normal trap except for actually jumping to the handler.
Definition at line 379 of file faults.cc.
References gem5::PCStateBase::as(), gem5::SparcISA::int_reg::Cansave, gem5::SparcISA::int_reg::Ccr, gem5::ThreadContext::getReg(), gem5::ArmISA::mask, MaxGL, MaxPGL, MISCREG_ASI, MISCREG_CWP, MISCREG_GL, MISCREG_HPSTATE, MISCREG_HTSTATE, MISCREG_PSTATE, MISCREG_TL, MISCREG_TNPC, MISCREG_TPC, MISCREG_TSTATE, MISCREG_TT, NWindows, gem5::MipsISA::pc, gem5::ThreadContext::pcState(), gem5::ThreadContext::readMiscRegNoEffect(), gem5::replaceBits(), gem5::ThreadContext::setMiscReg(), and gem5::ThreadContext::setMiscRegNoEffect().
Referenced by gem5::SparcISA::SparcFaultBase::invoke(), gem5::SparcISA::SpillNNormal::invoke(), and gem5::SparcISA::FillNNormal::invoke().
| void gem5::SparcISA::doREDFault | ( | ThreadContext * | tc, |
| TrapType | tt | ||
| ) |
This sets everything up for a RED state trap except for actually jumping to the handler.
Definition at line 303 of file faults.cc.
References gem5::PCStateBase::as(), gem5::SparcISA::int_reg::Cansave, gem5::SparcISA::int_reg::Ccr, gem5::ThreadContext::getReg(), gem5::ArmISA::mask, MaxGL, MISCREG_ASI, MISCREG_CWP, MISCREG_GL, MISCREG_HPSTATE, MISCREG_HTSTATE, MISCREG_PSTATE, MISCREG_TNPC, MISCREG_TPC, MISCREG_TSTATE, MISCREG_TT, NWindows, gem5::MipsISA::pc, gem5::ThreadContext::pcState(), priv, gem5::ThreadContext::readMiscRegNoEffect(), gem5::replaceBits(), gem5::ThreadContext::setMiscReg(), and gem5::ThreadContext::setMiscRegNoEffect().
Referenced by gem5::SparcISA::SparcFaultBase::invoke().
| gem5::SparcISA::EndBitUnion | ( | HPSTATE | ) |
| gem5::SparcISA::EndBitUnion | ( | PSTATE | ) |
| gem5::SparcISA::EndSubBitUnion | ( | xcc | ) |
| void gem5::SparcISA::enterREDState | ( | ThreadContext * | tc | ) |
This causes the thread context to enter RED state.
This causes the side effects which go with entering RED state because of a trap.
Definition at line 282 of file faults.cc.
References MISCREG_HPSTATE, MISCREG_PSTATE, gem5::ThreadContext::readMiscRegNoEffect(), and gem5::ThreadContext::setMiscReg().
Referenced by gem5::SparcISA::SparcFaultBase::invoke(), and gem5::SparcISA::PowerOnReset::invoke().
|
inlineconstexpr |
| void gem5::SparcISA::getHyperVector | ( | ThreadContext * | tc, |
| Addr & | PC, | ||
| Addr & | NPC, | ||
| RegVal | TT | ||
| ) |
Definition at line 479 of file faults.cc.
References gem5::ArmISA::mask, MISCREG_HTBA, and gem5::ThreadContext::readMiscRegNoEffect().
Referenced by gem5::SparcISA::SparcFaultBase::invoke().
| void gem5::SparcISA::getPrivVector | ( | ThreadContext * | tc, |
| Addr & | PC, | ||
| Addr & | NPC, | ||
| RegVal | TT, | ||
| RegVal | TL | ||
| ) |
Definition at line 487 of file faults.cc.
References gem5::ArmISA::mask, MISCREG_TBA, and gem5::ThreadContext::readMiscRegNoEffect().
Referenced by gem5::SparcISA::SparcFaultBase::invoke().
Definition at line 470 of file faults.cc.
Referenced by gem5::SparcISA::FsWorkload::getEntry(), gem5::SparcISA::SparcFaultBase::invoke(), and gem5::SparcISA::PowerOnReset::invoke().
|
static |
Definition at line 60 of file syscalls.cc.
References gem5::BufferArg::bufferPtr(), gem5::BaseBufferArg::copyOut(), and gem5::htobe().
|
inlineconstexpr |
|
static |
Target uname() handler.
Definition at line 45 of file syscalls.cc.
References gem5::ThreadContext::getProcessPtr(), and name().
| Bitfield<3> gem5::SparcISA::am |
Definition at line 132 of file misc.hh.
Referenced by gem5::branch_prediction::MultiperspectivePerceptron::GHIST::hash(), gem5::ArmISA::FsLinux::initState(), and gem5::SparcISA::TLB::validVirtualAddress().
| Bitfield< 0 > gem5::SparcISA::c |
Definition at line 146 of file misc.hh.
Referenced by gem5::SparcISA::SparcStaticInst::passesCondition().
| const char * gem5::SparcISA::CondTestAbbrev |
Definition at line 43 of file static_inst.cc.
| const Addr gem5::SparcISA::EndVAddrHole = 0xFFFF7FFFFFFFFFFFULL |
Definition at line 49 of file tlb.hh.
Referenced by gem5::SparcISA::TLB::validVirtualAddress().
| const MachInst gem5::SparcISA::fillHandler32[numFillInsts] |
Definition at line 81 of file handlers.hh.
Referenced by gem5::Sparc32Process::argsInit().
| const MachInst gem5::SparcISA::fillHandler64[numFillInsts] |
Definition at line 45 of file handlers.hh.
Referenced by gem5::Sparc64Process::argsInit().
|
inlineconstexpr |
Definition at line 83 of file int.hh.
Referenced by gem5::SparcISA::IntRegClassOps::flatten(), and gem5::SparcISA::ISA::ISA().
| constexpr auto & gem5::SparcISA::FramePointerReg = int_reg::I6 |
Definition at line 171 of file int.hh.
Referenced by gem5::SparcISA::SparcStaticInst::printReg().
| Bitfield<2> gem5::SparcISA::hpriv |
Definition at line 123 of file misc.hh.
Referenced by gem5::SparcISA::FastDataAccessMMUMiss::invoke(), and gem5::SparcISA::TLB::translateFunctional().
|
inlineconstexpr |
Definition at line 78 of file int.hh.
Referenced by gem5::SparcLinux::archClone(), gem5::trace::SparcNativeTrace::check(), gem5::SparcISA::ISA::copyRegsFrom(), gem5::SparcISA::SEWorkload::flushWindows(), gem5::SparcISA::int_reg::g(), gem5::SparcISA::int_reg::i(), gem5::SparcISA::int_reg::l(), and gem5::SparcISA::int_reg::o().
|
inlineconstexpr |
| const int gem5::SparcISA::MaxGL = 3 |
Definition at line 40 of file sparc_traits.hh.
Referenced by gem5::SparcISA::ISA::copyRegsFrom(), doNormalFault(), doREDFault(), and gem5::SparcISA::PowerOnReset::invoke().
| const int gem5::SparcISA::MaxPGL = 2 |
Definition at line 41 of file sparc_traits.hh.
Referenced by doNormalFault().
| const int gem5::SparcISA::MaxPTL = 2 |
Definition at line 38 of file sparc_traits.hh.
Referenced by gem5::SparcISA::SparcFaultBase::invoke().
| const int gem5::SparcISA::MaxTL = 6 |
Definition at line 39 of file sparc_traits.hh.
Referenced by copyMiscRegs(), gem5::SparcISA::SparcFaultBase::invoke(), gem5::SparcISA::PowerOnReset::invoke(), gem5::SparcISA::ISA::readFSReg(), gem5::SparcISA::ISA::serialize(), and gem5::SparcISA::ISA::unserialize().
| Bitfield< 3 > gem5::SparcISA::n |
Definition at line 143 of file misc.hh.
Referenced by gem5::SparcISA::SparcStaticInst::passesCondition().
| const int gem5::SparcISA::numFillInsts = 32 |
Definition at line 42 of file handlers.hh.
Referenced by gem5::Sparc32Process::argsInit(), gem5::Sparc64Process::argsInit(), and gem5::SparcProcess::argsInit().
| const int gem5::SparcISA::NumMiscRegs = MISCREG_NUMMISCREGS |
Definition at line 175 of file misc.hh.
Referenced by gem5::getMiscRegName().
| const int gem5::SparcISA::numSpillInsts = 32 |
Definition at line 43 of file handlers.hh.
Referenced by gem5::Sparc32Process::argsInit(), and gem5::Sparc64Process::argsInit().
| const int gem5::SparcISA::NWindows = 8 |
Definition at line 44 of file sparc_traits.hh.
Referenced by gem5::SparcLinux::archClone(), gem5::SparcISA::ISA::copyRegsFrom(), doNormalFault(), doREDFault(), gem5::SparcISA::SEWorkload::flushWindows(), gem5::SparcProcess::initState(), gem5::SparcISA::ISA::readFSReg(), gem5::SparcISA::ISA::reloadRegMap(), and gem5::SparcISA::ISA::setMiscReg().
| const Addr gem5::SparcISA::PAddrImplMask = 0x000000FFFFFFFFFFULL |
Definition at line 41 of file page_size.hh.
Referenced by gem5::SparcProcess::argsInit(), gem5::Sparc32Process::Sparc32Process(), gem5::Sparc64Process::Sparc64Process(), and gem5::SparcISA::MMU::translateFunctional().
| const Addr gem5::SparcISA::PageShift = 13 |
Definition at line 40 of file page_size.hh.
| Bitfield<2> gem5::SparcISA::priv |
Definition at line 131 of file misc.hh.
Referenced by doREDFault(), and gem5::ArmISA::MiscRegLUTEntryInitializer::highest().
|
static |
Definition at line 67 of file isa.cc.
Referenced by gem5::SparcISA::ISA::setMiscReg(), and gem5::SparcISA::ISA::setMiscRegNoEffect().
| Bitfield<5> gem5::SparcISA::red |
Definition at line 124 of file misc.hh.
Referenced by gem5::SparcISA::FastDataAccessMMUMiss::invoke(), gem5::BmpWriter::BmpPixel32::operator=(), gem5::PngWriter::PngPixel24::operator=(), TEST(), and TEST().
|
inlineconstexpr |
| constexpr auto & gem5::SparcISA::ReturnValueReg = int_reg::O0 |
| const MachInst gem5::SparcISA::spillHandler32[numSpillInsts] |
Definition at line 153 of file handlers.hh.
Referenced by gem5::Sparc32Process::argsInit().
| const MachInst gem5::SparcISA::spillHandler64[numSpillInsts] |
Definition at line 117 of file handlers.hh.
Referenced by gem5::Sparc64Process::argsInit().
| constexpr auto & gem5::SparcISA::StackPointerReg = int_reg::O6 |
Definition at line 170 of file int.hh.
Referenced by gem5::SparcLinux::archClone(), gem5::SparcISA::SEWorkload::flushWindows(), and gem5::SparcISA::SparcStaticInst::printReg().
| const Addr gem5::SparcISA::StartVAddrHole = 0x0000800000000000ULL |
Definition at line 48 of file tlb.hh.
Referenced by gem5::SparcISA::TLB::validVirtualAddress().
| constexpr auto & gem5::SparcISA::SyscallPseudoReturnReg = int_reg::O1 |
Definition at line 174 of file int.hh.
Referenced by gem5::SparcLinux::archClone(), and gem5::guest_abi::Result< ABI, SyscallReturn, typename std::enable_if_t< std::is_base_of_v< SparcISA::SEWorkload::BaseSyscallABI, ABI > > >::store().
| Bitfield< 1 > gem5::SparcISA::v |
Definition at line 145 of file misc.hh.
Referenced by gem5::SparcISA::SparcStaticInst::passesCondition().
| const Addr gem5::SparcISA::VAddrAMask = 0xFFFFFFFFULL |
Definition at line 50 of file tlb.hh.
Referenced by gem5::SparcISA::TLB::translateFunctional().
| Bitfield< 2 > gem5::SparcISA::z |
Definition at line 144 of file misc.hh.
Referenced by gem5::SparcISA::SparcStaticInst::passesCondition().