} else {
if (tid < (ThreadID)params->workload.size()) {
DPRINTF(InOrderCPU, "Workload[%i] process is %#x\n",
- tid, params->workload[tid]->prog_fname);
+ tid, params->workload[tid]->progName());
thread[tid] =
new Thread(this, tid, params->workload[tid]);
} else {
Addr nxm_start;
Addr nxm_end;
- std::string prog_fname; // file name
-
Stats::Scalar num_syscalls; // number of syscalls executed
-
protected:
// constructor
Process(ProcessParams *params);
// Find a free context to use
ThreadContext *findFreeContext();
+ // provide program name for debug messages
+ virtual const char *progName() const { return "<unknown>"; }
+
// map simulator fd sim_fd to target fd tgt_fd
void dup_fd(int sim_fd, int tgt_fd);
inline uint64_t pid() {return __pid;}
inline uint64_t ppid() {return __ppid;}
+ // provide program name for debug messages
+ virtual const char *progName() const { return argv[0].c_str(); }
+
std::string
fullPath(const std::string &filename)
{