diff options
author | Iru Cai <mytbk920423@gmail.com> | 2019-04-08 10:42:39 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2019-05-31 15:59:17 +0800 |
commit | 57eb50e414a3aaa6e8bc96ae158af55246cb6754 (patch) | |
tree | 9d7c2d4a2598ae916d3976e6dbcc739c6b16fb59 /src/cpu/base_dyn_inst.hh | |
parent | c0d7cca1d9895f1c3476ce9864584eb4fb2e6ee9 (diff) | |
download | gem5-57eb50e414a3aaa6e8bc96ae158af55246cb6754.tar.xz |
implement taint propagation
Diffstat (limited to 'src/cpu/base_dyn_inst.hh')
-rw-r--r-- | src/cpu/base_dyn_inst.hh | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cpu/base_dyn_inst.hh b/src/cpu/base_dyn_inst.hh index 3ddf25095..c42224c6d 100644 --- a/src/cpu/base_dyn_inst.hh +++ b/src/cpu/base_dyn_inst.hh @@ -478,11 +478,15 @@ class BaseDynInst : public ExecContext, public RefCounted _prevDestRegIdx[idx] = previous_rename; } - void taintDestRegs(void) + void taintDestRegs(bool istaint) { for (size_t i = 0; i < numDestRegs(); i++) { auto dstreg = _destRegIdx[i]; - cpu->setTaint(dstreg); + if (istaint) { + cpu->setTaint(dstreg); + } else { + cpu->clearTaint(dstreg); + } } } |