> On June 4, 2016, 2:46 p.m., Andreas Hansson wrote: > > ext/mc2lib/contrib/mcversi/m5_host_support.h, line 89 > > <http://reviews.gem5.org/r/3448/diff/5/?file=55665#file55665line89> > > > > does x86 support flushing? both classic and ruby?
No, I had to implement this for each protocol that I used this with (it was a hacky solution and Ruby specific). Cache flushing is not critical (does not affect correctness), but is an optimization, as otherwise cache pollution could result in the same test exhibiting too different behaviour and the test evolution may not be as effective. For someone using this seriously, they should probably implement it for their protocol. > On June 4, 2016, 2:46 p.m., Andreas Hansson wrote: > > ext/mc2lib/contrib/mcversi/m5_host_support.h, line 124 > > <http://reviews.gem5.org/r/3448/diff/5/?file=55665#file55665line124> > > > > should we just get it done rather? Cache flushing is not essential, but recommended (see note about x86 clflush). It would be nice to have, but at the moment I don't have time to chase up on how to implement this for ARMv7 (contributions welcome!). Note that even without this, I'm able to find a rather hard to find bug in ARM+Classic (see http://www.mail-archive.com/[email protected]/msg18940.html ). > On June 4, 2016, 2:46 p.m., Andreas Hansson wrote: > > ext/mc2lib/contrib/mcversi/m5_host_support.h, line 44 > > <http://reviews.gem5.org/r/3448/diff/5/?file=55665#file55665line44> > > > > Is there any way we could make these non-compile time constants? > > Ultimately it would be good if all of these was parameters for the wrapper. Not quite sure what you mean here "parameters for the wrapper". All of this is not used by gem5 directly but the guest workload that should be compiled by a user for their respective guest OS, etc. The way this is meant to be set is by defining this at compile time via "-DCACHELINE_SIZE=XX". Also note that this is merely an optimization, that is used 1) during initialization 2) during cache flushing. For 2) with the provided host-side implementation (other patch), this is not used even as the host passes the used addresses to the guest (CACHELINES_SIZE is used as a fallback option if this is not provided). Since not all hosts may be able to do so (say something other than gem5), the workload itself is written to support all options, and hence this can be safely ignored for the gem5 use-case. - Marco ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/3448/#review8395 ----------------------------------------------------------- On June 4, 2016, 3:42 p.m., Marco Elver wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/3448/ > ----------------------------------------------------------- > > (Updated June 4, 2016, 3:42 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Add mc2lib to ext/ > > This is the simulator-independent component for McVerSi. > > Source: https://github.com/melver/mc2lib > > > Diffs > ----- > > ext/mc2lib/LICENSE PRE-CREATION > ext/mc2lib/README.rst PRE-CREATION > ext/mc2lib/SConscript PRE-CREATION > ext/mc2lib/_UPSTREAM PRE-CREATION > ext/mc2lib/contrib/mcversi/README.rst PRE-CREATION > ext/mc2lib/contrib/mcversi/guest_workload.c PRE-CREATION > ext/mc2lib/contrib/mcversi/host_support.h PRE-CREATION > ext/mc2lib/contrib/mcversi/m5_host_support.h PRE-CREATION > ext/mc2lib/contrib/mcversi/run-10-8KB-1synonym.sh PRE-CREATION > ext/mc2lib/contrib/mcversi/run-10-8KB.sh PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/cats.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/compiler.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/ops/armv7.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/ops/strong.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/ops/x86_64.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/codegen/rit.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/mcversi.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/memconsistency/cats.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/memconsistency/eventsets.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/memconsistency/model12.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/sets.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/simplega.hpp PRE-CREATION > ext/mc2lib/include/mc2lib/types.hpp PRE-CREATION > SConstruct e18a6c55bec0 > > Diff: http://reviews.gem5.org/r/3448/diff/ > > > Testing > ------- > > Together with http://reviews.gem5.org/r/3449/ > > > Thanks, > > Marco Elver > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
