gem5/src
Marco Elver b884fcf412 cpu: o3: lsq: Fix TSO implementation
This patch fixes violation of TSO in the O3CPU, as all loads must be
ordered with all other loads. In the LQ, if a snoop is observed, all
subsequent loads need to be squashed if the system is TSO.

Prior to this patch, the following case could be violated:

 P0         | P1          ;
 MOV [x],mail=/usr/spool/mail/nilay | MOV EAX,[y] ;
 MOV [y],mail=/usr/spool/mail/nilay | MOV EBX,[x] ;

exists (1:EAX=1 /\ 1:EBX=0) [is a violation]

The problem was found using litmus [http://diy.inria.fr].

Committed by: Nilay Vaish <nilay@cs.wisc.edu
2014-03-25 13:15:04 -05:00
..
arch arm: m5ops readfile64 args broken, offset coming through garbage 2014-03-23 11:11:34 -04:00
base base: Fix error message time unit (cycle -> tick) 2014-03-23 11:11:32 -04:00
cpu cpu: o3: lsq: Fix TSO implementation 2014-03-25 13:15:04 -05:00
dev dev: Fix IsaFake's cxx_header setting 2014-03-23 11:11:37 -04:00
doc MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
doxygen MEM: Put memory system document into doxygen 2012-09-25 11:49:41 -05:00
kern sim: Add openat/fstatat syscalls and fix mremap 2014-01-24 15:29:30 -06:00
mem mem: Track DRAM read/write switching and add hysteresis 2014-03-23 11:12:14 -04:00
proto mem: Edit proto Packet and enhance the python script 2014-03-07 15:56:23 -05:00
python misc: Fix -q (quiet) flag 2014-03-23 11:11:49 -04:00
sim scons: Fixes uninitialized warnings issued by clang 2014-03-07 15:56:23 -05:00
unittest unittest: Fix build errors 2014-01-30 12:21:58 -06:00
Doxyfile Doxygen: Update the version of the Doxyfile 2012-10-11 06:38:42 -04:00
SConscript cpu: allow the fetch buffer to be smaller than a cache line 2013-11-15 13:21:15 -05:00