process.hh (11886:43b882cada33) | process.hh (11894:3afbe563324c) |
---|---|
1/* 2 * Copyright (c) 2014-2016 Advanced Micro Devices, Inc. 3 * Copyright (c) 2001-2005 The Regents of The University of Michigan 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 48 unchanged lines hidden (view full) --- 57class SyscallDesc; 58class SyscallReturn; 59class System; 60class ThreadContext; 61 62class Process : public SimObject 63{ 64 public: | 1/* 2 * Copyright (c) 2014-2016 Advanced Micro Devices, Inc. 3 * Copyright (c) 2001-2005 The Regents of The University of Michigan 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: redistributions of source code must retain the above copyright --- 48 unchanged lines hidden (view full) --- 57class SyscallDesc; 58class SyscallReturn; 59class System; 60class ThreadContext; 61 62class Process : public SimObject 63{ 64 public: |
65 struct WaitRec 66 { 67 Addr waitChan; 68 ThreadContext *waitingContext; | |
69 | 65 |
70 WaitRec(Addr chan, ThreadContext *ctx) 71 : waitChan(chan), waitingContext(ctx) 72 { } 73 }; 74 | |
75 struct MemState 76 { 77 Addr brkPoint; 78 Addr stackBase; 79 unsigned stackSize; 80 Addr stackMin; 81 Addr nextThreadStackBase; 82 Addr mmapEnd; --- 118 unchanged lines hidden (view full) --- 201 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true); 202 203 void replicatePage(Addr vaddr, Addr new_paddr, ThreadContext *old_tc, 204 ThreadContext *new_tc, bool alloc_page); 205 206 void clone(ThreadContext *old_tc, ThreadContext *new_tc, Process *new_p, 207 TheISA::IntReg flags); 208 | 66 struct MemState 67 { 68 Addr brkPoint; 69 Addr stackBase; 70 unsigned stackSize; 71 Addr stackMin; 72 Addr nextThreadStackBase; 73 Addr mmapEnd; --- 118 unchanged lines hidden (view full) --- 192 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true); 193 194 void replicatePage(Addr vaddr, Addr new_paddr, ThreadContext *old_tc, 195 ThreadContext *new_tc, bool alloc_page); 196 197 void clone(ThreadContext *old_tc, ThreadContext *new_tc, Process *new_p, 198 TheISA::IntReg flags); 199 |
209 // list of all blocked contexts 210 std::list<WaitRec> waitList; 211 | |
212 // thread contexts associated with this process 213 std::vector<ContextID> contextIds; 214 215 // system object which owns this process 216 System *system; 217 218 Stats::Scalar numSyscalls; // track how many system calls are executed 219 --- 46 unchanged lines hidden --- | 200 // thread contexts associated with this process 201 std::vector<ContextID> contextIds; 202 203 // system object which owns this process 204 System *system; 205 206 Stats::Scalar numSyscalls; // track how many system calls are executed 207 --- 46 unchanged lines hidden --- |