process.hh (10782:0a78638881d7) process.hh (10905:a6ca6831e775)
1/*
2 * Copyright (c) 2014 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

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

115 Stats::Scalar num_syscalls; // number of syscalls executed
116
117 protected:
118 // constructor
119 Process(ProcessParams *params);
120
121 virtual void initState();
122
1/*
2 * Copyright (c) 2014 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

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

115 Stats::Scalar num_syscalls; // number of syscalls executed
116
117 protected:
118 // constructor
119 Process(ProcessParams *params);
120
121 virtual void initState();
122
123 unsigned int drain(DrainManager *dm) M5_ATTR_OVERRIDE;
124
123 public:
124
125 //This id is assigned by m5 and is used to keep process' tlb entries
126 //separated.
127 uint64_t M5_pid;
128
129 // flag for using architecture specific page table
130 bool useArchPT;
131 // running KvmCPU in SE mode requires special initialization
132 bool kvmInSE;
133
134 PageTableBase* pTable;
135
125 public:
126
127 //This id is assigned by m5 and is used to keep process' tlb entries
128 //separated.
129 uint64_t M5_pid;
130
131 // flag for using architecture specific page table
132 bool useArchPT;
133 // running KvmCPU in SE mode requires special initialization
134 bool kvmInSE;
135
136 PageTableBase* pTable;
137
136 class FdMap
138 class FdMap : public Serializable
137 {
138 public:
139 int fd;
140 std::string filename;
141 int mode;
142 int flags;
143 bool isPipe;
144 int readPipeSource;
145 uint64_t fileOffset;
146 EmulatedDriver *driver;
147
148 FdMap()
149 : fd(-1), filename("NULL"), mode(0), flags(0),
150 isPipe(false), readPipeSource(0), fileOffset(0), driver(NULL)
151 { }
152
139 {
140 public:
141 int fd;
142 std::string filename;
143 int mode;
144 int flags;
145 bool isPipe;
146 int readPipeSource;
147 uint64_t fileOffset;
148 EmulatedDriver *driver;
149
150 FdMap()
151 : fd(-1), filename("NULL"), mode(0), flags(0),
152 isPipe(false), readPipeSource(0), fileOffset(0), driver(NULL)
153 { }
154
153 void serialize(std::ostream &os);
154 void unserialize(Checkpoint *cp, const std::string &section);
155 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
156 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
155 };
156
157 protected:
158 /// Memory proxy for initialization (image loading)
159 SETranslatingPortProxy initVirtMem;
160
161 private:
162 // file descriptor remapping support

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

228 * @param paddr The starting physical address of the range.
229 * @param size The length of the range in bytes.
230 * @param cacheable Specifies whether accesses are cacheable.
231 * @return True if the map operation was successful. (At this
232 * point in time, the map operation always succeeds.)
233 */
234 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true);
235
157 };
158
159 protected:
160 /// Memory proxy for initialization (image loading)
161 SETranslatingPortProxy initVirtMem;
162
163 private:
164 // file descriptor remapping support

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

230 * @param paddr The starting physical address of the range.
231 * @param size The length of the range in bytes.
232 * @param cacheable Specifies whether accesses are cacheable.
233 * @return True if the map operation was successful. (At this
234 * point in time, the map operation always succeeds.)
235 */
236 bool map(Addr vaddr, Addr paddr, int size, bool cacheable = true);
237
236 void serialize(std::ostream &os);
237 void unserialize(Checkpoint *cp, const std::string &section);
238 void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
239 void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
238};
239
240//
241// "Live" process with system calls redirected to host system
242//
243class ObjectFile;
244class LiveProcess : public Process
245{

--- 106 unchanged lines hidden ---
240};
241
242//
243// "Live" process with system calls redirected to host system
244//
245class ObjectFile;
246class LiveProcess : public Process
247{

--- 106 unchanged lines hidden ---