diff options
Diffstat (limited to 'src/cpu/base_dyn_inst.hh')
-rw-r--r-- | src/cpu/base_dyn_inst.hh | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cpu/base_dyn_inst.hh b/src/cpu/base_dyn_inst.hh index 8b6662d70..a5357a7b0 100644 --- a/src/cpu/base_dyn_inst.hh +++ b/src/cpu/base_dyn_inst.hh @@ -243,6 +243,9 @@ class BaseDynInst : public FastAlloc, public RefCounted /** The effective virtual address (lds & stores only). */ Addr effAddr; + /** The size of the request */ + Addr effSize; + /** Is the effective virtual address valid. */ bool effAddrValid; @@ -892,6 +895,7 @@ BaseDynInst<Impl>::readBytes(Addr addr, uint8_t *data, if (translationCompleted) { if (fault == NoFault) { effAddr = req->getVaddr(); + effSize = size; effAddrValid = true; fault = cpu->read(req, sreqLow, sreqHigh, data, lqIdx); } else { @@ -962,6 +966,7 @@ BaseDynInst<Impl>::writeBytes(uint8_t *data, unsigned size, if (fault == NoFault && translationCompleted) { effAddr = req->getVaddr(); + effSize = size; effAddrValid = true; fault = cpu->write(req, sreqLow, sreqHigh, data, sqIdx); } |