cpu: Use the NotAnInst flag to avoid passing an inst to fetch faults.
authorGabe Black <gabeblack@google.com>
Sat, 6 Jan 2018 00:20:14 +0000 (16:20 -0800)
committerGabe Black <gabeblack@google.com>
Tue, 9 Jan 2018 03:03:12 +0000 (03:03 +0000)
commit3cc77c93735622b62d399887932bd70d0a993c61
tree90c0d660d18e0fc2db13e3a9ad2e4409beece296
parented8b7f2e310ce8828cd98caa8eb895d99da6f7ef
cpu: Use the NotAnInst flag to avoid passing an inst to fetch faults.

When a fault happens in fetch in O3, a dummy inst is created to carry
the fault through the pipeline to commit, but conceptually there isn't
actually any instruction since we failed to fetch one.

This change marks the dummy instruction as NotAnInst, and when any
such instruction gets to commit, the fault object associated with it
is invoked and passed a null static inst pointer instead of a pointer
to the dummy inst.

Change-Id: I18d993083406deb625402e06af4ba0d4772ca5a3
Reviewed-on: https://gem5-review.googlesource.com/7124
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/cpu/o3/commit_impl.hh
src/cpu/o3/fetch_impl.hh