[gem5-dev] Mailing List Changes
Hi Everyone, Over the past two years code from the GEMS simulator has been integrated into the M5 simulator as part of a long term effort to merge the two simulators into one. The new simulator will be known as gem5, pronounced gem-five. It is the combination of tens of man years worth of effort from a combination of academic institutions and industry. As part of the merging the simulators together their will be a variety of changes to the simulator and m5 website in the coming months to reflect the new branding. One of those changes is a renaming of the mailing lists from m5-* to gem5-*, which has just taken place. Aliases from the old names have been created to allow for a seamless transition. As a reminder there are three mailing lists for the gem5 simulator: gem5-users: General discussion about gem5 and its use. (~3 messages/day) gem5-dev: Discussions of gem5 development, commit messages, and code reviews (~7 messages/day) gem5-announce: Major announcements about the gem5 simulator (~2 messages/year) We will be holding a tutorial about gem5 at ISCA 2011 and encourage you to attend. For more information on the tutorial please see: http://www.gem5.org/ISCA_2011_Tutorial Thank you, Ali ___ gem5-dev mailing list gem5-dev@m5sim.org http://m5sim.org/mailman/listinfo/gem5-dev
[m5-dev] Cron /z/m5/regression/do-regression --scratch all
* build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/01.hello-2T-smt/alpha/linux/o3-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/quick/30.eio-mp/alpha/eio/simple-timing-mp passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/inorder-timing passed. * build/ALPHA_SE/tests/opt/quick/30.eio-mp/alpha/eio/simple-atomic-mp passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing passed. * build/ALPHA_SE/tests/opt/long/70.twolf/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/long/50.vortex/alpha/tru64/o3-timing passed. * build/ALPHA_SE/tests/opt/long/70.twolf/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/00.gzip/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/long/30.eon/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/50.memtest/alpha/linux/memtest passed. * build/ALPHA_SE/tests/opt/long/70.twolf/alpha/tru64/o3-timing passed. * build/ALPHA_SE/tests/opt/long/50.vortex/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/long/30.eon/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/70.twolf/alpha/tru64/inorder-timing passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby passed. * build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-timing passed. * build/ALPHA_SE/tests/opt/long/40.perlbmk/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/60.bzip2/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby passed. * build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby passed. * build/ALPHA_SE/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby passed. * build/ALPHA_SE/tests/opt/long/60.bzip2/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/40.perlbmk/alpha/tru64/simple-timing passed. * build/ALPHA_SE/tests/opt/long/00.gzip/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/50.vortex/alpha/tru64/simple-atomic passed. * build/ALPHA_SE/tests/opt/long/50.vortex/alpha/tru64/inorder-timing passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer passed. * build/ALPHA_SE/tests/opt/long/00.gzip/alpha/tru64/o3-timing passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer passed. * build/ALPHA_SE_MOESI_hammer/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer passed. * build/ALPHA_SE/tests/opt/long/30.eon/alpha/tru64/o3-timing passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_directory/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_directory passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MOESI_CMP_token passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_CMP_token passed. * build/ALPHA_SE/tests/opt/long/00.gzip/alpha/tru64/inorder-timing passed. * build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_token passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic passed. * build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing passed. * build/ALPHA_FS/tests/o
Re: [m5-dev] Review Request: Fixed an LSQ full check condition at rename.
--- This is an automatically generated e-mail. To reply, visit: http://reviews.m5sim.org/r/693/#review1236 --- This seems OK, but could you describe in more detail what this patch does and why it's necessary? What problems does it fix? How do the problems manifest themselves? Thanks, Ali - Ali On 2011-05-13 14:30:38, Yasuko Watanabe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.m5sim.org/r/693/ > --- > > (Updated 2011-05-13 14:30:38) > > > Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and > Nathan Binkert. > > > Summary > --- > > O3: Fixed an LSQ full check condition at rename. > > > Diffs > - > > src/cpu/o3/rename.hh 54a65799e4c1 > src/cpu/o3/rename_impl.hh 54a65799e4c1 > > Diff: http://reviews.m5sim.org/r/693/diff > > > Testing > --- > > > Thanks, > > Yasuko > > ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
Re: [m5-dev] SimObject generated includes
On 05/15/11 06:53, Gabe Black wrote: > I'm working on some patches that pull the kernel stuff out of the System > object into it's own thing, and I'm running into some circular includes > in the generated files. I have a new Workload object which Process and > Kernel inherit from and which has a pointer back to System, and System > has a pointer to kernel. More or less the WorkloadParams header includes > the SystemParams header includes the KernelParams header includes the > WorkloadParams header, and things break. This could be fixed by still > making inheritance include the base class header files but make > parameter pointers use prototype declarations. Does anybody know how to > actually implement that? > > Gabe > ___ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev Ok, I think I sort of figured that part out (example patch attached) but now SWIG is unhappy. It's including the param struct for an object which no longer includes the param header files for all parameters it has, so it doesn't have definitions for their Param structs, or their base class Param structs. Then it sets up these conversion functions which cast things around using those types. I don't know why or how to change it, and I'm getting lost in all this SWIG goop, and python generating SWIG files and python files getting turned into wrapper .cc files including other generated files including each other, and my head a-splode. So if somebody (Nate) could please look at this and figure out what's going on that would be great. This sort of thing should work, so this is something we should fix. It would also make my life easier if I didn't actually write any of the code for this yet. Testing any patches would probably be ok. Gabe # HG changeset patch # Parent 685345c45fe5600c2d745ea86846688e8e36ade7 diff -r 685345c45fe5 -r 17f669336cf9 src/python/m5/SimObject.py --- a/src/python/m5/SimObject.pySun May 15 03:20:19 2011 -0700 +++ b/src/python/m5/SimObject.pySun May 15 04:04:44 2011 -0700 @@ -98,7 +98,15 @@ instanceDict = {} def default_cxx_predecls(cls, code): -code('#include "params/$cls.hh"') +class_path = cls._value_dict['cxx_class'].split('::') +# A forward class declaration is sufficient since we are just +# declaring a pointer. +for ns in class_path[:-1]: +code('namespace $ns {') +code('class $0;', class_path[-1]) +for ns in reversed(class_path[:-1]): +code('} // namespace $ns') +code() def default_swig_predecls(cls, code): code('%import "python/m5/internal/param_$cls.i"') ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
Re: [m5-dev] src/dest detection in the ISA descriptions
Ping... On 05/05/11 10:38, Steve Reinhardt wrote: > On Wed, May 4, 2011 at 2:25 PM, Gabe Black wrote: > >> Did that make sense? > > I see how that could work... I think I was more puzzled by how you would > figure out that > > for (int i = 0; i < 7; i++) > Dest.bytes[i] = Source1.bytes[i] + Source2.bytes[i]; > > overwrote all of Dest, but > > for (int i = 0; i < 4; i++) > Dest.bytes[i] = Source1.bytes[i] + Source2.bytes[i]; > > wouldn't... but looking back I see now that you'd expect to need manual > annotations in at least one of those cases. > > >> Do you think you'll be able to review those patches >> soonish? >> > I'll try... thanks for the reminder, that definitely increases the > probability :-). > > Steve > ___ > m5-dev mailing list > m5-dev@m5sim.org > http://m5sim.org/mailman/listinfo/m5-dev ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev
[m5-dev] SimObject generated includes
I'm working on some patches that pull the kernel stuff out of the System object into it's own thing, and I'm running into some circular includes in the generated files. I have a new Workload object which Process and Kernel inherit from and which has a pointer back to System, and System has a pointer to kernel. More or less the WorkloadParams header includes the SystemParams header includes the KernelParams header includes the WorkloadParams header, and things break. This could be fixed by still making inheritance include the base class header files but make parameter pointers use prototype declarations. Does anybody know how to actually implement that? Gabe ___ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev