|
gem5 [DEVELOP-FOR-25.0]
|
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) |
| 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::FillNNormal::invoke(), gem5::SparcISA::SparcFaultBase::invoke(), and gem5::SparcISA::SpillNNormal::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 | ) |
References gem5::MipsISA::ie.
Referenced by EndSubBitUnion().
| gem5::SparcISA::EndBitUnion | ( | PSTATE | ) |
| gem5::SparcISA::EndSubBitUnion | ( | icc | ) |
Definition at line 153 of file misc.hh.
References EndBitUnion(), and EndSubBitUnion().
| gem5::SparcISA::EndSubBitUnion | ( | xcc | ) |
References c, EndSubBitUnion(), n, gem5::ArmISA::SubBitUnion(), v, and z.
Referenced by EndSubBitUnion(), and EndSubBitUnion().
| 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::PowerOnReset::invoke(), and gem5::SparcISA::SparcFaultBase::invoke().
|
inlineconstexpr |
References gem5::FloatRegClass, gem5::FloatRegClassName, and gem5::SparcISA::float_reg::NumRegs.
Referenced by gem5::SparcISA::ISA::copyRegsFrom(), and gem5::SparcISA::ISA::ISA().
| 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::PowerOnReset::invoke(), and gem5::SparcISA::SparcFaultBase::invoke().
|
static |
Definition at line 71 of file syscalls.cc.
References gem5::BufferArg::bufferPtr(), gem5::BaseBufferArg::copyOut(), and gem5::htobe().
|
inlineconstexpr |
References gem5::MiscRegClass, gem5::MiscRegClassName, and NumMiscRegs.
Referenced by gem5::SparcISA::ISA::ISA().
|
static |
Target uname() handler.
Definition at line 56 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 EndSubBitUnion(), and 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().
| 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::RemoteGDB::SPARC64GdbRegCache::getRegs(), gem5::SparcISA::RemoteGDB::SPARCGdbRegCache::getRegs(), gem5::SparcISA::int_reg::i(), gem5::SparcISA::int_reg::l(), gem5::SparcISA::int_reg::o(), gem5::SparcISA::RemoteGDB::SPARC64GdbRegCache::setRegs(), and gem5::SparcISA::RemoteGDB::SPARCGdbRegCache::setRegs().
|
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::PowerOnReset::invoke(), gem5::SparcISA::SparcFaultBase::invoke(), gem5::SparcISA::ISA::readFSReg(), gem5::SparcISA::ISA::serialize(), and gem5::SparcISA::ISA::unserialize().
| Bitfield<7, 6> gem5::SparcISA::mm |
Definition at line 134 of file misc.hh.
Referenced by gem5::ArmISA::DumpStats64::getTaskDetails(), gem5::ArmISA::DumpStats::getTaskDetails(), and gem5::ArmISA::DumpStats::process().
| Bitfield< 3 > gem5::SparcISA::n |
Definition at line 143 of file misc.hh.
Referenced by EndSubBitUnion(), gem5::SparcISA::EnumeratedFault< T >::EnumeratedFault(), gem5::SparcISA::FillNNormal::FillNNormal(), gem5::SparcISA::FillNOther::FillNOther(), gem5::SparcISA::InterruptLevelN::InterruptLevelN(), gem5::SparcISA::SparcStaticInst::passesCondition(), gem5::SparcISA::SpillNNormal::SpillNNormal(), gem5::SparcISA::SpillNOther::SpillNOther(), and gem5::SparcISA::TrapInstruction::TrapInstruction().
| 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(), and miscRegClass().
| 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.
Referenced by gem5::SparcISA::EmuLinux::EmuLinux().
| Bitfield<2> gem5::SparcISA::priv |
Definition at line 131 of file misc.hh.
Referenced by doREDFault(), gem5::ArmISA::MiscRegLUTEntryInitializer::highest(), and gem5::SDMAEngine::registerRLCQueue().
|
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(), TEST(), and TEST().
|
inlineconstexpr |
| auto & gem5::SparcISA::ReturnValueReg = int_reg::O0 |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< CleanWindow >::vals | ( | "clean_window" | , |
| 0x024 | , | ||
| 1010 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< CpuMondo >::vals | ( | "cpu_mondo" | , |
| 0x07C | , | ||
| 1608 | , | ||
| {{P, P, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DataAccessError >::vals | ( | "data_access_error" | , |
| 0x032 | , | ||
| 1210 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DataAccessException >::vals | ( | "data_access_exception" | , |
| 0x030 | , | ||
| 1201 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DataAccessProtection >::vals | ( | "data_access_protection" | , |
| 0x033 | , | ||
| 1207 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DataInvalidTSBEntry >::vals | ( | "data_invalid_tsb_entry" | , |
| 0x02B | , | ||
| 1203 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DataRealTranslationMiss >::vals | ( | "data_real_translation_miss" | , |
| 0x03F | , | ||
| 1203 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DevMondo >::vals | ( | "dev_mondo" | , |
| 0x07D | , | ||
| 1611 | , | ||
| {{P, P, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< DivisionByZero >::vals | ( | "division_by_zero" | , |
| 0x028 | , | ||
| 1500 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< ExternallyInitiatedReset >::vals | ( | "externally_initiated_reset" | , |
| 0x003 | , | ||
| 110 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FastDataAccessMMUMiss >::vals | ( | "fast_data_access_MMU_miss" | , |
| 0x068 | , | ||
| 1203 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FastDataAccessProtection >::vals | ( | "fast_data_access_protection" | , |
| 0x06C | , | ||
| 1207 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FastInstructionAccessMMUMiss >::vals | ( | "fast_instruction_access_MMU_miss" | , |
| 0x064 | , | ||
| 208 | , | ||
| {{H, H, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FillNNormal >::vals | ( | "fill_n_normal" | , |
| 0x0C0 | , | ||
| 900 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FillNOther >::vals | ( | "fill_n_other" | , |
| 0x0E0 | , | ||
| 900 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FpDisabled >::vals | ( | "fp_disabled" | , |
| 0x020 | , | ||
| 800 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FpExceptionIEEE754 >::vals | ( | "fp_exception_ieee_754" | , |
| 0x021 | , | ||
| 1110 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< FpExceptionOther >::vals | ( | "fp_exception_other" | , |
| 0x022 | , | ||
| 1110 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< HstickMatch >::vals | ( | "hstick_match" | , |
| 0x05E | , | ||
| 1601 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< IllegalInstruction >::vals | ( | "illegal_instruction" | , |
| 0x010 | , | ||
| 620 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InstructionAccessError >::vals | ( | "instruction_access_error" | , |
| 0x00A | , | ||
| 400 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InstructionAccessException >::vals | ( | "instruction_access_exception" | , |
| 0x008 | , | ||
| 300 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InstructionBreakpoint >::vals | ( | "instruction_break" | , |
| 0x076 | , | ||
| 610 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InstructionInvalidTSBEntry >::vals | ( | "instruction_invalid_tsb_entry" | , |
| 0x02A | , | ||
| 210 | , | ||
| {{H, H, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InstructionRealTranslationMiss >::vals | ( | "instruction_real_translation_miss" | , |
| 0x03E | , | ||
| 208 | , | ||
| {{H, H, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InternalProcessorError >::vals | ( | "internal_processor_error" | , |
| 0x029 | , | ||
| 4 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InterruptLevelN >::vals | ( | "interrupt_level_n" | , |
| 0x040 | , | ||
| 0 | , | ||
| {{P, P, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< InterruptVector >::vals | ( | "interrupt_vector" | , |
| 0x060 | , | ||
| 2630 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< LDDFMemAddressNotAligned >::vals | ( | "LDDF_mem_address_not_aligned" | , |
| 0x035 | , | ||
| 1010 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< LDQFMemAddressNotAligned >::vals | ( | "LDQF_mem_address_not_aligned" | , |
| 0x038 | , | ||
| 1010 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< MemAddressNotAligned >::vals | ( | "mem_address_not_aligned" | , |
| 0x034 | , | ||
| 1020 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< PAWatchpoint >::vals | ( | "PA_watchpoint" | , |
| 0x061 | , | ||
| 1209 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< PowerOnReset >::vals | ( | "power_on_reset" | , |
| 0x001 | , | ||
| 0 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< PrivilegedAction >::vals | ( | "privileged_action" | , |
| 0x037 | , | ||
| 1110 | , | ||
| {{H, H, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< PrivilegedOpcode >::vals | ( | "privileged_opcode" | , |
| 0x011 | , | ||
| 700 | , | ||
| {{P, SH, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< REDStateException >::vals | ( | "RED_state_exception" | , |
| 0x005 | , | ||
| 1 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< ResumableError >::vals | ( | "resume_error" | , |
| 0x07E | , | ||
| 3330 | , | ||
| {{P, P, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< SoftwareInitiatedReset >::vals | ( | "software_initiated_reset" | , |
| 0x004 | , | ||
| 130 | , | ||
| {{SH, SH, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< SpillNNormal >::vals | ( | "spill_n_normal" | , |
| 0x080 | , | ||
| 900 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< SpillNOther >::vals | ( | "spill_n_other" | , |
| 0x0A0 | , | ||
| 900 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< STDFMemAddressNotAligned >::vals | ( | "STDF_mem_address_not_aligned" | , |
| 0x036 | , | ||
| 1010 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< StoreError >::vals | ( | "store_error" | , |
| 0x007 | , | ||
| 201 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< STQFMemAddressNotAligned >::vals | ( | "STQF_mem_address_not_aligned" | , |
| 0x039 | , | ||
| 1010 | , | ||
| {{H, H, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< TagOverflow >::vals | ( | "tag_overflow" | , |
| 0x023 | , | ||
| 1400 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< TrapInstruction >::vals | ( | "trap_instruction" | , |
| 0x100 | , | ||
| 1602 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< TrapLevelZero >::vals | ( | "trap_level_zero" | , |
| 0x05F | , | ||
| 202 | , | ||
| {{H, H, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< VAWatchpoint >::vals | ( | "VA_watchpoint" | , |
| 0x062 | , | ||
| 1120 | , | ||
| {{P, P, SH}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< VecDisabled >::vals | ( | "fp_disabled" | , |
| 0x020 | , | ||
| 800 | , | ||
| {{P, P, H}} | ) |
| SparcFaultBase::FaultVals gem5::SparcISA::SparcFault< WatchDogReset >::vals | ( | "watch_dog_reset" | , |
| 0x002 | , | ||
| 120 | , | ||
| {{H, H, H}} | ) |
| 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().
| 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().
| 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 EndSubBitUnion(), and 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 EndSubBitUnion(), and gem5::SparcISA::SparcStaticInst::passesCondition().