> On Aug. 18, 2016, 8:50 a.m., Andreas Sandberg wrote: > > src/cpu/kvm/base.cc, line 505 > > <http://reviews.gem5.org/r/3619/diff/2/?file=57574#file57574line505> > > > > I would prefer if we could keep the bypass caches check. Classic memory > > will definitely break if it isn't executing in cache bypass mode. I don't > > know if it is worth fixing, but I also don't like the fact that we can get > > really weird errors if this is removed. > > > > I'm not sure how this would interact with your Ruby patches though. You > > might need to add a timing cache bypass mode. > > Michael LeBeane wrote: > Just so I understand better, what issues are you concerned about if we > don't operate in bypass cache mode? It looks like caches won't be flushed > when entering KVM without being in bypass cache mode, so that's a concern. > Are you also concerned that other devices can write to the cache and KVM > won't see it? KVM itself only issues uncacheable IO requests, which > shouldn't matter whether bypass cache is enabled. > > For Ruby, we definately timing cache bypass mode, if only to make sure > caches are properly flushed when switching into KVM from Ruby-land. But > that's probably a seperate patch.
Turns out I was wrong, we don't need to flush Ruby caches because of the backing store. But I will still need to introduce a timing_noncacheable mode if you would like to keep this assertion, else I can't actually use this in Ruby. - Michael ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/3619/#review8656 ----------------------------------------------------------- On Aug. 17, 2016, 8:07 p.m., Michael LeBeane wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/3619/ > ----------------------------------------------------------- > > (Updated Aug. 17, 2016, 8:07 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > ------- > > Changeset 11561:4595cc3848fc > --------------------------- > kvm: Support timing accesses for KVM cpu > This patch enables timing accesses for KVM cpu. A new state, > RunningMMIOPending, is added to indicate that there are outstanding timing > requests generated by KVM in the system. KVM's tick() is disabled and the > simulation does not enter into KVM until all outstanding timing requests have > completed. The main motivation for this is to allow KVM CPU to perform MMIO > in Ruby, since Ruby does not support atomic accesses. > > > Diffs > ----- > > src/cpu/kvm/base.hh 91f58918a76abf1a1dedcaa70a9b95789da7b88c > src/cpu/kvm/base.cc 91f58918a76abf1a1dedcaa70a9b95789da7b88c > src/cpu/kvm/x86_cpu.cc 91f58918a76abf1a1dedcaa70a9b95789da7b88c > > Diff: http://reviews.gem5.org/r/3619/diff/ > > > Testing > ------- > > > Thanks, > > Michael LeBeane > > _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev