> On May 28, 2012, 7:59 a.m., Steve Reinhardt wrote: > > I'm fine with making FullSystem a property of the decoder, but all this > > mechanism to support both SE and FS in the same simulation seems like > > overkill at this point (and for the foreseeable future, IMO). Can we just > > clean up the FullSystemInt part first, and worry about simultaneous SE/FS > > when we really need it? There's clearly a performance cost here (though > > possibly a small one), and it also makes the code more complex. Since the > > vast majority of instructions don't depend on the mode, either, I don't > > really like the idea of having completely separate decode caches like most > > ISAs do. OTOH, I don't like the overhead of having to hash in and compare > > the FS bit on every decode lookup either.
Leaving out whether we were in full system or not as contextualizing state when decoding instructions was actually broken, so that part of the change is necessary. The performance cost was not measurable on x86. Having separate decode caches is an intrinsic part of the design we talked about before because se/fs has to be contextualizing information. Also we don't *have* to have SE/FS in the decoder in the first place. Some ISAs (SPARC, for instance) take care of the SE vs. FS changes in behavior when handling the trap/exception/interrupt which is requesting a system call. When set up that way, the instruction objects themselves don't know which type of system they're part of. It gets a little more complicated when there are system call instructions which don't return Fault objects (X86 has these), but then we can just inject system call targets with pseudo instructions at them which invoke a system call in SE mode. - Gabe ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1229/#review2834 ----------------------------------------------------------- On May 28, 2012, 12:52 a.m., Gabe Black wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1229/ > ----------------------------------------------------------- > > (Updated May 28, 2012, 12:52 a.m.) > > > Review request for Default. > > > Description > ------- > > Changeset 9030:674d25baca5e > --------------------------- > ISA: Factor FullSystemInt out of the decoders. > > > Diffs > ----- > > src/arch/alpha/decoder.hh 5851586f399c > src/arch/alpha/decoder.cc 5851586f399c > src/arch/alpha/isa/decoder.isa 5851586f399c > src/arch/mips/decoder.hh 5851586f399c > src/arch/mips/decoder.cc 5851586f399c > src/arch/mips/isa/decoder.isa 5851586f399c > src/arch/x86/decoder.hh 5851586f399c > src/arch/x86/isa.cc 5851586f399c > src/arch/x86/isa/decoder/one_byte_opcodes.isa 5851586f399c > src/arch/x86/isa/decoder/two_byte_opcodes.isa 5851586f399c > src/sim/full_system.hh 5851586f399c > src/sim/root.cc 5851586f399c > > Diff: http://reviews.gem5.org/r/1229/diff/ > > > Testing > ------- > > > Thanks, > > Gabe Black > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
