process.hh (12448:b299e560f1d8) process.hh (13557:fc33e6048b25)
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

--- 59 unchanged lines hidden (view full) ---

68
69 void serialize(CheckpointOut &cp) const override;
70 void unserialize(CheckpointIn &cp) override;
71
72 void initState() override;
73 DrainState drain() override;
74
75 virtual void syscall(int64_t callnum, ThreadContext *tc, Fault *fault);
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

--- 59 unchanged lines hidden (view full) ---

68
69 void serialize(CheckpointOut &cp) const override;
70 void unserialize(CheckpointIn &cp) override;
71
72 void initState() override;
73 DrainState drain() override;
74
75 virtual void syscall(int64_t callnum, ThreadContext *tc, Fault *fault);
76 virtual TheISA::IntReg getSyscallArg(ThreadContext *tc, int &i) = 0;
77 virtual TheISA::IntReg getSyscallArg(ThreadContext *tc, int &i, int width);
78 virtual void setSyscallArg(ThreadContext *tc, int i,
79 TheISA::IntReg val) = 0;
76 virtual RegVal getSyscallArg(ThreadContext *tc, int &i) = 0;
77 virtual RegVal getSyscallArg(ThreadContext *tc, int &i, int width);
78 virtual void setSyscallArg(ThreadContext *tc, int i, RegVal val) = 0;
80 virtual void setSyscallReturn(ThreadContext *tc,
81 SyscallReturn return_value) = 0;
82 virtual SyscallDesc *getDesc(int callnum) = 0;
83
84 inline uint64_t uid() { return _uid; }
85 inline uint64_t euid() { return _euid; }
86 inline uint64_t gid() { return _gid; }
87 inline uint64_t egid() { return _egid; }

--- 70 unchanged lines hidden (view full) ---

158 * point in time, the map operation always succeeds.)
159 */
160 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true);
161
162 void replicatePage(Addr vaddr, Addr new_paddr, ThreadContext *old_tc,
163 ThreadContext *new_tc, bool alloc_page);
164
165 virtual void clone(ThreadContext *old_tc, ThreadContext *new_tc,
79 virtual void setSyscallReturn(ThreadContext *tc,
80 SyscallReturn return_value) = 0;
81 virtual SyscallDesc *getDesc(int callnum) = 0;
82
83 inline uint64_t uid() { return _uid; }
84 inline uint64_t euid() { return _euid; }
85 inline uint64_t gid() { return _gid; }
86 inline uint64_t egid() { return _egid; }

--- 70 unchanged lines hidden (view full) ---

157 * point in time, the map operation always succeeds.)
158 */
159 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true);
160
161 void replicatePage(Addr vaddr, Addr new_paddr, ThreadContext *old_tc,
162 ThreadContext *new_tc, bool alloc_page);
163
164 virtual void clone(ThreadContext *old_tc, ThreadContext *new_tc,
166 Process *new_p, TheISA::IntReg flags);
165 Process *new_p, RegVal flags);
167
168 // thread contexts associated with this process
169 std::vector<ContextID> contextIds;
170
171 // system object which owns this process
172 System *system;
173
174 Stats::Scalar numSyscalls; // track how many system calls are executed

--- 45 unchanged lines hidden ---
166
167 // thread contexts associated with this process
168 std::vector<ContextID> contextIds;
169
170 // system object which owns this process
171 System *system;
172
173 Stats::Scalar numSyscalls; // track how many system calls are executed

--- 45 unchanged lines hidden ---