Searched refs:tc (Results 101 - 125 of 304) sorted by relevance

1234567891011>>

/gem5/src/sim/
H A Dfaults.hh48 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 Dfutex_map.hh88 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 Dua2005.cc47 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 Dprocess.hh65 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 Dvtophys.cc61 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 Dstatic_inst.cc632 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 Dinterrupts.hh138 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 Dprocess.cc177 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 Dkernel_stats.hh58 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 Disa.hh72 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 Dutility.hh115 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 Disa.hh78 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 Dprocess.hh54 RegVal getSyscallArg(ThreadContext *tc, int &i) override;
57 void setSyscallArg(ThreadContext *tc, int i, RegVal val) override;
58 void setSyscallReturn(ThreadContext *tc,
H A Dinterrupts.hh75 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 Dstage2_mmu.hh90 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 Dinterrupts.hh133 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 Dnativetrace.cc72 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 Dprocess.cc151 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 Dprocess.hh73 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 Disa.hh72 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 Dbase_gic.hh138 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 Dcpuevent.cc58 if ((*i)->tc == oldTc)
59 (*i)->tc = newTc;
H A Dinteltrace.hh67 getInstRecord(Tick when, ThreadContext *tc, argument
74 return new IntelTraceRecord(when, tc, staticInst, pc, macroStaticInst);
H A Dpc_event.cc89 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 Dsystem.cc253 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...]

Completed in 34 milliseconds

1234567891011>>