cpu, o3: consider split requests for LSQ checksnoop operations
authorHongil Yoon <ongal@cs.wisc.edu>
Tue, 15 Sep 2015 13:14:06 +0000 (08:14 -0500)
committerHongil Yoon <ongal@cs.wisc.edu>
Tue, 15 Sep 2015 13:14:06 +0000 (08:14 -0500)
commitfb0f9884e27f33c434ef67a5cfd284331a2a89e0
treea3c1c8df37385eb1c2e7b5ace8631a93bd40b3ff
parent6bee1d912482ee57ed79bb557afdad25563e9955
cpu, o3: consider split requests for LSQ checksnoop operations

This patch enables instructions in LSQ to track two physical addresses for
corresponding two split requests. Later, the information is used in
checksnoop() to search for/invalidate the corresponding LD instructions.

The current implementation has kept track of only the physical address that is
referenced by the first split request. Thus, for checksnoop(), the line
accessed by the second request has not been considered, causing potential
correctness issues.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>
src/cpu/base_dyn_inst.hh
src/cpu/base_dyn_inst_impl.hh
src/cpu/o3/iew_impl.hh
src/cpu/o3/lsq_unit_impl.hh