1/* 2 * Copyright (c) 2001-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 37 unchanged lines hidden (view full) --- 46#include "base/statistics.hh" 47#include "sim/sim_object.hh" 48 49class ThreadContext; 50class SyscallDesc; 51class PageTable; 52class TranslatingPort; 53class System; |
54class GDBListener; 55namespace TheISA 56{ 57 class RemoteGDB; 58} |
59 60void 61copyStringArray(std::vector<std::string> &strings, Addr array_ptr, 62 Addr data_ptr, TranslatingPort* memPort); 63 64class Process : public SimObject 65{ 66 public: --- 5 unchanged lines hidden (view full) --- 72 // have we initialized a thread context from this process? If 73 // yes, subsequent contexts are assumed to be for dynamically 74 // created threads and are not initialized. 75 bool initialContextLoaded; 76 77 // thread contexts associated with this process 78 std::vector<ThreadContext *> threadContexts; 79 |
80 // remote gdb objects 81 std::vector<TheISA::RemoteGDB *> remoteGDB; 82 std::vector<GDBListener *> gdbListen; 83 bool breakpoint(); 84 |
85 // number of CPUs (esxec contexts, really) assigned to this process. 86 unsigned int numCpus() { return threadContexts.size(); } 87 88 // record of blocked context 89 struct WaitRec 90 { 91 Addr waitChan; 92 ThreadContext *waitingContext; --- 166 unchanged lines hidden --- |