/gem5/src/sim/ |
H A D | faults.hh | 48 virtual void invoke(ThreadContext * tc, const StaticInstPtr &inst = 64 void invoke(ThreadContext * tc, const StaticInstPtr &inst = 73 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 89 void invoke(ThreadContext *tc, const StaticInstPtr &inst = 100 void invoke(ThreadContext * tc, const StaticInstPtr &inst = 112 void invoke(ThreadContext * tc, const StaticInstPtr &inst =
|
H A D | futex_map.hh | 88 ThreadContext* tc; member in class:WaiterState 95 : tc(_tc), bitmask(_bitmask) 102 : tc(_tc), bitmask(0xffffffff) 126 suspend(Addr addr, uint64_t tgid, ThreadContext *tc) argument 132 WaiterList waiterList {WaiterState(tc)}; 135 it->second.push_back(WaiterState(tc)); 139 tc->suspend(); 156 waiterList.front().tc->activate(); 172 suspend_bitset(Addr addr, uint64_t tgid, ThreadContext *tc, argument 179 WaiterList waiterList {WaiterState(tc, bitmas [all...] |
/gem5/src/arch/sparc/ |
H A D | ua2005.cc | 47 ISA::checkSoftInt(ThreadContext *tc) argument 49 BaseCPU *cpu = tc->getCpuPtr(); 92 ISA::setFSReg(int miscReg, RegVal val, ThreadContext *tc) argument 94 BaseCPU *cpu = tc->getCpuPtr(); 101 checkSoftInt(tc); 104 return setMiscReg(MISCREG_SOFTINT, ~val & softint, tc); 106 return setMiscReg(MISCREG_SOFTINT, val | softint, tc); 110 tickCompare = new TickCompareEvent(this, tc); 125 sTickCompare = new STickCompareEvent(this, tc); 145 checkSoftInt(tc); 247 readFSReg(int miscReg, ThreadContext * tc) argument 321 processTickCompare(ThreadContext *tc) argument 327 processSTickCompare(ThreadContext *tc) argument 351 processHSTickCompare(ThreadContext *tc) argument [all...] |
H A D | process.hh | 65 virtual void handleTrap(int trapNum, ThreadContext *tc, Fault *fault); 70 virtual void flushWindows(ThreadContext *tc) = 0; 71 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value); 110 void flushWindows(ThreadContext *tc); 112 RegVal getSyscallArg(ThreadContext *tc, int &i); 116 void setSyscallArg(ThreadContext *tc, int i, RegVal val); 154 void flushWindows(ThreadContext *tc); 156 RegVal getSyscallArg(ThreadContext *tc, int &i); 160 void setSyscallArg(ThreadContext *tc, int i, RegVal val);
|
H A D | vtophys.cc | 61 vtophys(ThreadContext *tc, Addr addr) argument 73 uint64_t tlbdata = tc->readMiscRegNoEffect(MISCREG_TLB_DATA); 85 PortProxy &mem = tc->getPhysProxy(); 86 TLB* itb = dynamic_cast<TLB *>(tc->getITBPtr()); 87 TLB* dtb = dynamic_cast<TLB *>(tc->getDTBPtr()); 111 dtb->GetTsbPtr(tc, addr, ctx_zero ? 0 : pri_context, tsbs);
|
/gem5/src/arch/arm/insts/ |
H A D | static_inst.cc | 632 const auto tc = xc->tcBase(); 633 const HCR hcr = tc->readMiscReg(MISCREG_HCR_EL2); 634 const HDCR mdcr = tc->readMiscRegNoEffect(MISCREG_MDCR_EL2); 635 if ((ArmSystem::haveEL(tc, EL2) && !inSecureState(tc) && 636 !ELIs32(tc, EL2) && (hcr.tge == 1 || mdcr.tde == 1)) || 637 !ELIs32(tc, EL1)) { 668 ArmStaticInst::checkFPAdvSIMDTrap64(ThreadContext *tc, CPSR cpsr) const 670 if (ArmSystem::haveVirtualization(tc) && !inSecureState(tc)) { [all...] |
/gem5/src/arch/alpha/ |
H A D | interrupts.hh | 138 checkInterrupts(ThreadContext *tc) const 143 if (tc->pcState().pc() & 0x3) 146 if (tc->readMiscRegNoEffect(IPR_ASTRR)) 152 if (tc->readMiscRegNoEffect(IPR_SIRR)) { 155 if (tc->readMiscRegNoEffect(IPR_SIRR) & (ULL(1) << i)) { 172 return ipl && ipl > tc->readMiscRegNoEffect(IPR_IPLR); 176 getInterrupt(ThreadContext *tc) argument 178 assert(checkInterrupts(tc)); 182 if (tc->readMiscRegNoEffect(IPR_SIRR)) { 185 if (tc 212 updateIntrInfo(ThreadContext *tc) argument [all...] |
H A D | process.cc | 177 ThreadContext *tc = system->getThreadContext(contextIds[0]); local 179 setSyscallArg(tc, 0, argc); 180 setSyscallArg(tc, 1, argv_array_base); 181 tc->setIntReg(StackPointerReg, memState->getStackMin()); 183 tc->pcState(getStartPC()); 189 ThreadContext *tc = system->getThreadContext(contextIds[0]); local 190 tc->setMiscRegNoEffect(IPR_DTB_ASN, _pid << 57); 215 ThreadContext *tc = system->getThreadContext(contextIds[0]); local 216 tc->setIntReg(GlobalPointerReg, objFile->globalPointer()); 218 tc 225 getSyscallArg(ThreadContext *tc, int &i) argument 232 setSyscallArg(ThreadContext *tc, int i, RegVal val) argument 239 setSyscallReturn(ThreadContext *tc, SyscallReturn sysret) argument [all...] |
H A D | kernel_stats.hh | 58 void changeMode(cpu_mode newmode, ThreadContext *tc); 87 void mode(cpu_mode newmode, ThreadContext *tc); 88 void context(Addr oldpcbb, Addr newpcbb, ThreadContext *tc); 89 void callpal(int code, ThreadContext *tc); 93 void setIdleProcess(Addr idle, ThreadContext *tc);
|
H A D | isa.hh | 72 InternalProcReg readIpr(int idx, ThreadContext *tc); 73 void setIpr(int idx, InternalProcReg val, ThreadContext *tc); 78 RegVal readMiscReg(int misc_reg, ThreadContext *tc, ThreadID tid = 0); 81 void setMiscReg(int misc_reg, RegVal val, ThreadContext *tc, 147 void startup(ThreadContext *tc) {} argument
|
/gem5/src/arch/riscv/ |
H A D | utility.hh | 115 getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp) argument 120 inline void startupCPU(ThreadContext *tc, int cpuId) argument 122 tc->activate(); 166 skipFunction(ThreadContext *tc) argument 178 inUserMode(ThreadContext *tc) argument 184 getExecutingAsid(ThreadContext *tc) argument 192 void initCPU(ThreadContext *tc, int cpuId);
|
H A D | isa.hh | 78 RegVal readMiscReg(int misc_reg, ThreadContext *tc); 80 void setMiscReg(int misc_reg, RegVal val, ThreadContext *tc); 91 void startup(ThreadContext *tc) {} argument
|
H A D | process.hh | 54 RegVal getSyscallArg(ThreadContext *tc, int &i) override; 57 void setSyscallArg(ThreadContext *tc, int i, RegVal val) override; 58 void setSyscallReturn(ThreadContext *tc,
|
H A D | interrupts.hh | 75 globalMask(ThreadContext *tc) const 78 STATUS status = tc->readMiscReg(MISCREG_STATUS); 89 bool checkInterrupts(ThreadContext *tc) const 91 return (ip & ie & globalMask(tc)).any(); 95 getInterrupt(ThreadContext *tc) const 97 assert(checkInterrupts(tc)); 98 std::bitset<NumInterruptTypes> mask = globalMask(tc); 105 void updateIntrInfo(ThreadContext *tc) {} argument
|
/gem5/src/arch/arm/ |
H A D | stage2_mmu.hh | 90 finish(const Fault &fault, const RequestPtr &req, ThreadContext *tc, 99 void translateTiming(ThreadContext *tc) argument 101 parent.stage2Tlb()->translateTiming(req, tc, this, BaseTLB::Read); 115 Fault readDataUntimed(ThreadContext *tc, Addr oVAddr, Addr descAddr, 117 void readDataTimed(ThreadContext *tc, Addr descAddr,
|
H A D | interrupts.hh | 133 bool takeInt(ThreadContext *tc, InterruptTypes int_type) const; 136 checkInterrupts(ThreadContext *tc) const 138 HCR hcr = tc->readMiscReg(MISCREG_HCR); 143 CPSR cpsr = tc->readMiscReg(MISCREG_CPSR); 145 bool isHypMode = currEL(tc) == EL2; 146 bool isSecure = inSecureState(tc); 155 bool take_irq = takeInt(tc, INT_IRQ); 156 bool take_fiq = takeInt(tc, INT_FIQ); 157 bool take_ea = takeInt(tc, INT_ABT); 225 getInterrupt(ThreadContext *tc) argument 268 updateIntrInfo(ThreadContext *tc) argument [all...] |
/gem5/src/arch/x86/ |
H A D | nativetrace.cc | 72 X86NativeTrace::ThreadState::update(ThreadContext *tc) argument 74 rax = tc->readIntReg(X86ISA::INTREG_RAX); 75 rcx = tc->readIntReg(X86ISA::INTREG_RCX); 76 rdx = tc->readIntReg(X86ISA::INTREG_RDX); 77 rbx = tc->readIntReg(X86ISA::INTREG_RBX); 78 rsp = tc->readIntReg(X86ISA::INTREG_RSP); 79 rbp = tc->readIntReg(X86ISA::INTREG_RBP); 80 rsi = tc->readIntReg(X86ISA::INTREG_RSI); 81 rdi = tc->readIntReg(X86ISA::INTREG_RDI); 82 r8 = tc [all...] |
H A D | process.cc | 151 I386Process::syscall(int64_t callnum, ThreadContext *tc, Fault *fault) argument 153 PCState pc = tc->pcState(); 158 tc->pcState(pc); 160 X86Process::syscall(callnum, tc, fault); 357 ThreadContext * tc = system->getThreadContext(contextIds[i]); local 359 tc->setMiscReg(MISCREG_CS, cs); 360 tc->setMiscReg(MISCREG_DS, ds); 361 tc->setMiscReg(MISCREG_ES, ds); 362 tc->setMiscReg(MISCREG_FS, ds); 363 tc 568 ThreadContext * tc = system->getThreadContext(contextIds[i]); local 679 ThreadContext * tc = system->getThreadContext(contextIds[i]); local 1033 ThreadContext *tc = system->getThreadContext(contextIds[0]); local 1065 setSyscallReturn(ThreadContext *tc, SyscallReturn retval) argument 1071 getSyscallArg(ThreadContext *tc, int &i) argument 1078 setSyscallArg(ThreadContext *tc, int i, RegVal val) argument 1093 getSyscallArg(ThreadContext *tc, int &i) argument 1100 getSyscallArg(ThreadContext *tc, int &i, int width) argument 1111 setSyscallArg(ThreadContext *tc, int i, RegVal val) argument [all...] |
/gem5/src/arch/sparc/linux/ |
H A D | process.hh | 73 void handleTrap(int trapNum, ThreadContext *tc, Fault *fault); 89 void handleTrap(int trapNum, ThreadContext *tc, Fault *fault); 93 Process *p, ThreadContext *tc);
|
/gem5/src/arch/power/ |
H A D | isa.hh | 72 readMiscReg(int misc_reg, ThreadContext *tc) argument 85 setMiscReg(int misc_reg, RegVal val, ThreadContext *tc) argument 135 void startup(ThreadContext *tc) {} argument
|
/gem5/src/dev/arm/ |
H A D | base_gic.hh | 138 virtual ArmInterruptPin* get(ThreadContext *tc = nullptr) = 0; 151 ArmInterruptPin* get(ThreadContext *tc = nullptr) override; 166 ArmInterruptPin* get(ThreadContext* tc = nullptr) override; 178 ArmInterruptPin(Platform *platform, ThreadContext *tc, 189 void setThreadContext(ThreadContext *tc); 236 ArmPPI(Platform *platform, ThreadContext *tc, uint32_t int_num);
|
/gem5/src/cpu/ |
H A D | cpuevent.cc | 58 if ((*i)->tc == oldTc) 59 (*i)->tc = newTc;
|
H A D | inteltrace.hh | 67 getInstRecord(Tick when, ThreadContext *tc, argument 74 return new IntelTraceRecord(when, tc, staticInst, pc, macroStaticInst);
|
H A D | pc_event.cc | 89 PCEventQueue::doService(ThreadContext *tc) argument 93 Addr pc = tc->instAddr(); 101 if (pc != tc->instAddr()) 107 (*i)->process(tc); 138 BreakPCEvent::process(ThreadContext *tc) argument 140 StringWrap name(tc->getCpuPtr()->name() + ".break_event"); 169 PanicPCEvent::process(ThreadContext *tc) argument 171 StringWrap name(tc->getCpuPtr()->name() + ".panic_event");
|
/gem5/src/arch/arm/linux/ |
H A D | system.cc | 253 for (const auto tc : threadContexts) { 254 uint32_t pid = tc->getCpuPtr()->getPid(); 256 mapPid(tc, pid); 257 tc->getCpuPtr()->taskId(taskMap[pid]); 264 LinuxArmSystem::mapPid(ThreadContext *tc, uint32_t pid) argument 294 DumpStatsPCEvent::getTaskDetails(ThreadContext *tc, uint32_t &pid, argument 297 Linux::ThreadInfo ti(tc); 298 Addr task_descriptor = tc->readIntReg(2); 316 DumpStatsPCEvent64::getTaskDetails(ThreadContext *tc, uint32_t &pid, argument 319 Linux::ThreadInfo ti(tc); 334 process(ThreadContext *tc) argument [all...] |