Repository navigation
Tags
Tags
cpu-o3: fix atomic instructions non-speculative Fix problem with O3 and AMO instructions. At initial stages amo instruction is considered a type of non-speculative store. After the instruction has been commited and during the squash step, acquire_release version of the AMO operation is considered speculative, that differents results in an assert fault. This fix ensures that AMO instructions are always considered non-speculative, during early stages and during squas/removal of the instruction. Change-Id: Ia0c5fbb9dc44a9991337b57eb759b1ed08e4149e Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19815 Maintainer: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
cpu-o3: fix atomic instructions non-speculative Fix problem with O3 and AMO instructions. At initial stages amo instruction is considered a type of non-speculative store. After the instruction has been commited and during the squash step, acquire_release version of the AMO operation is considered speculative, that differents results in an assert fault. This fix ensures that AMO instructions are always considered non-speculative, during early stages and during squas/removal of the instruction. Change-Id: Ia0c5fbb9dc44a9991337b57eb759b1ed08e4149e Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19815 Maintainer: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
Added some documentation, minor changes for clarity Change-Id: Ibef80516471d9af83817292ce2674ea3beeab5dd Signed-off-by: Bradley Wang <radwang@ucdavis.edu>
ispass-19 submitted gem5 version with configurations
An attempt at implementing an SLB. From the HASP paper, this was a Figure 3b with a buffer after the L1 cache on misses. I tried to implement the SLB by modifying the SimpleMemObject to buffer any speculative loads. The CPU notified this object on each commit and each squash. However, if I remember correctly, this caused some timing problems. Also, the stupid coherence stuff caused a lot of problems.
For showing spectre vulnerability You can use this code to show spectre working in gem5.
First set of tests run for the cf18 no speculation paper
Updated power numbers. Important to re-run everything now
IGbE: Implement sending packet that is contained in more than 2 descr… …iptors. --HG-- extra : convert_revision : 8fb7d5fad5cb840f69c31aa8b331dbe09e46ee9d