* latencies. This field is set to curTick any time paddr or vaddr
* is written.
*/
- Tick time;
+ Tick _time;
/** The address space ID. */
int asid;
setPhys(paddr, size, flags);
}
+ Request(Addr paddr, int size, Flags flags, Tick time)
+ {
+ setPhys(paddr, size, flags, time);
+ }
+
Request(int asid, Addr vaddr, int size, Flags flags, Addr pc,
int cid, ThreadID tid)
{
* allocated Request object.
*/
void
- setPhys(Addr _paddr, int _size, Flags _flags)
+ setPhys(Addr _paddr, int _size, Flags _flags, Tick time)
{
assert(_size >= 0);
paddr = _paddr;
size = _size;
- time = curTick;
+ _time = time;
flags.clear(~STICKY_FLAGS);
flags.set(_flags);
privateFlags.set(VALID_PADDR|VALID_SIZE);
}
+ void
+ setPhys(Addr _paddr, int _size, Flags _flags)
+ {
+ setPhys(_paddr, _size, _flags, curTick);
+ }
+
/**
* Set up a virtual (e.g., CPU) request in a previously
* allocated Request object.
size = _size;
flags = _flags;
pc = _pc;
- time = curTick;
+ _time = curTick;
flags.clear(~STICKY_FLAGS);
flags.set(_flags);
/** Accessor for time. */
Tick
- getTime()
+ time() const
+ {
+ assert(privateFlags.isSet(VALID_PADDR|VALID_VADDR));
+ return _time;
+ }
+
+ void
+ time(Tick time)
{
assert(privateFlags.isSet(VALID_PADDR|VALID_VADDR));
- return time;
+ _time = time;
}
/** Accessor for flags. */