[gem5-dev] Mailing List Changes

2011-05-15 Thread Ali Saidi
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

2011-05-15 Thread Cron Daemon
* 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.

2011-05-15 Thread Ali Saidi

---
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

2011-05-15 Thread Gabe Black
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

2011-05-15 Thread Gabe Black
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

2011-05-15 Thread Gabe Black
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