request.hh (7708:956ac83b0a58) request.hh (7823:dac01f14f20f)
1/*
2 * Copyright (c) 2002-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;

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

140 /** Flag structure for the request. */
141 Flags _flags;
142
143 /** Private flags for field validity checking. */
144 PrivateFlags privateFlags;
145
146 /**
147 * The time this request was started. Used to calculate
1/*
2 * Copyright (c) 2002-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;

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

140 /** Flag structure for the request. */
141 Flags _flags;
142
143 /** Private flags for field validity checking. */
144 PrivateFlags privateFlags;
145
146 /**
147 * The time this request was started. Used to calculate
148 * latencies. This field is set to curTick any time paddr or vaddr
148 * latencies. This field is set to curTick() any time paddr or vaddr
149 * is written.
150 */
151 Tick _time;
152
153 /** The address space ID. */
154 int _asid;
155
156 /** The virtual address of the request. */

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

174 * (Note that _flags and privateFlags are cleared by Flags
175 * default constructor.)
176 */
177 Request()
178 {}
179
180 /**
181 * Constructor for physical (e.g. device) requests. Initializes
149 * is written.
150 */
151 Tick _time;
152
153 /** The address space ID. */
154 int _asid;
155
156 /** The virtual address of the request. */

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

174 * (Note that _flags and privateFlags are cleared by Flags
175 * default constructor.)
176 */
177 Request()
178 {}
179
180 /**
181 * Constructor for physical (e.g. device) requests. Initializes
182 * just physical address, size, flags, and timestamp (to curTick).
182 * just physical address, size, flags, and timestamp (to curTick()).
183 * These fields are adequate to perform a request.
184 */
185 Request(Addr paddr, int size, Flags flags)
186 {
187 setPhys(paddr, size, flags);
188 }
189
190 Request(Addr paddr, int size, Flags flags, Tick time)

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

235 _flags.set(flags);
236 privateFlags.clear(~STICKY_PRIVATE_FLAGS);
237 privateFlags.set(VALID_PADDR|VALID_SIZE);
238 }
239
240 void
241 setPhys(Addr paddr, int size, Flags flags)
242 {
183 * These fields are adequate to perform a request.
184 */
185 Request(Addr paddr, int size, Flags flags)
186 {
187 setPhys(paddr, size, flags);
188 }
189
190 Request(Addr paddr, int size, Flags flags, Tick time)

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

235 _flags.set(flags);
236 privateFlags.clear(~STICKY_PRIVATE_FLAGS);
237 privateFlags.set(VALID_PADDR|VALID_SIZE);
238 }
239
240 void
241 setPhys(Addr paddr, int size, Flags flags)
242 {
243 setPhys(paddr, size, flags, curTick);
243 setPhys(paddr, size, flags, curTick());
244 }
245
246 /**
247 * Set up a virtual (e.g., CPU) request in a previously
248 * allocated Request object.
249 */
250 void
251 setVirt(int asid, Addr vaddr, int size, Flags flags, Addr pc)
252 {
253 assert(size >= 0);
254 _asid = asid;
255 _vaddr = vaddr;
256 _size = size;
257 _pc = pc;
244 }
245
246 /**
247 * Set up a virtual (e.g., CPU) request in a previously
248 * allocated Request object.
249 */
250 void
251 setVirt(int asid, Addr vaddr, int size, Flags flags, Addr pc)
252 {
253 assert(size >= 0);
254 _asid = asid;
255 _vaddr = vaddr;
256 _size = size;
257 _pc = pc;
258 _time = curTick;
258 _time = curTick();
259
260 _flags.clear(~STICKY_FLAGS);
261 _flags.set(flags);
262 privateFlags.clear(~STICKY_PRIVATE_FLAGS);
263 privateFlags.set(VALID_VADDR|VALID_SIZE|VALID_PC);
264 }
265
266 /**

--- 194 unchanged lines hidden ---
259
260 _flags.clear(~STICKY_FLAGS);
261 _flags.set(flags);
262 privateFlags.clear(~STICKY_PRIVATE_FLAGS);
263 privateFlags.set(VALID_VADDR|VALID_SIZE|VALID_PC);
264 }
265
266 /**

--- 194 unchanged lines hidden ---