[m5-dev] Cron m5test@zizzer /z/m5/regression/do-regression quick

2011-05-02 Thread Cron Daemon
* build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-timing 
passed.
* build/ALPHA_SE/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby 
passed.
* build/ALPHA_SE/tests/opt/quick/20.eio-short/alpha/eio/simple-atomic 
passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-atomic passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing passed.
* build/ALPHA_SE/tests/opt/quick/30.eio-mp/alpha/eio/simple-timing-mp 
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/linux/simple-timing-ruby 
passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing-ruby 
passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-timing 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/linux/inorder-timing passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/simple-timing passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing passed.
* build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/simple-atomic 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/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_SE_MOESI_hammer/tests/opt/quick/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_SE_MESI_CMP_directory/tests/opt/quick/60.rubytest/alpha/linux/rubytest-ruby-MESI_CMP_directory
 passed.
* build/ALPHA_SE/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby 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_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/tests/opt/quick/50.memtest/alpha/linux/memtest 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_MOESI_hammer/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer
 passed.
* 
build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing 
passed.
* 
build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
 passed.
* 
build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
 passed.
* 
build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic 
passed.
* build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-atomic passed.
* build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-timing-ruby 
passed.
* build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/simple-timing passed.
* build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/o3-timing passed.
* 
build/ALPHA_FS/tests/opt/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
 passed.
* build/MIPS_SE/tests/opt/quick/00.hello/mips/linux/inorder-timing passed.
* build/POWER_SE/tests/opt/quick/00.hello/power/linux/o3-timing passed.
* build/POWER_SE/tests/opt/quick/00.hello/power/linux/simple-atomic passed.
* 
build/ALPHA_SE_MOESI_CMP_token/tests/opt/quick/50.memtest/alpha/linux/memtest-ruby-MOESI_CMP_token
 passed.
* build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/simple-atomic 
passed.
* build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/o3-timing passed.
* build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-atomic passed.
* 
build/SPARC_SE/tests/opt/quick/40.m5threads-test-atomic/sparc/linux/simple-timing-mp
 passed.
* build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-timing-ruby 
passed.
* 
build/SPARC_SE/tests/opt/quick/40.m5threads-test-atomic/sparc/linux/o3-timing-mp
 passed.
* build/SPARC_SE/tests/opt/quick/02.insttest/sparc/linux/simple-timing 
passed.
* build/SPARC_SE/tests/opt/quick/00.hello/sparc/linux/simple-timing passed.
* 
build/SPARC_SE/tests/opt/quick/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp
 passed.
* build/X86_SE/tests/opt/quick/00.hello/x86/linux/simple-timing-ruby passed.
* 

[m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Steve Reinhardt

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

SConstruct: automatically update .hg/hgrc with style hooks

Seems easier than pestering people about it.
Note also that path is now absolute, so you don't get errors
when invoking hg from subdirectories.


Diffs
-

  SConstruct 66a3187a6714 

Diff: http://reviews.m5sim.org/r/668/diff


Testing
---


Thanks,

Steve

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] changeset in m5: scons: allow use of current builds as default b...

2011-05-02 Thread Steve Reinhardt
changeset 06f3a4cbd585 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=06f3a4cbd585
description:
scons: allow use of current builds as default build settings
Currently the --default= option only looks at the predefined
build configs (in m5/build_opts), so you're limited to basing
a new build config off of those (ALPHA_SE, etc.).  If you've
already defined a non-standard build config and want to clone
it or tweak it, you have to start from scratch.  This patch
causes --default= to look first among the existing builds
(in build/variables) before looking in build_opts so you
can specify an existing non-standard build config as a
starting point for a new config.

diffstat:

 SConstruct |  20 +---
 1 files changed, 13 insertions(+), 7 deletions(-)

diffs (35 lines):

diff -r 66a3187a6714 -r 06f3a4cbd585 SConstruct
--- a/SConstructMon May 02 00:16:14 2011 -0400
+++ b/SConstructMon May 02 12:40:31 2011 -0700
@@ -967,18 +967,24 @@
 
 # Get default build variables from source tree.  Variables are
 # normally determined by name of $VARIANT_DIR, but can be
-# overriden by 'default=' arg on command line.
+# overridden by '--default=' arg on command line.
 default = GetOption('default')
-if not default:
-default = variant_dir
-default_vars_file = joinpath('build_opts', default)
-if isfile(default_vars_file):
+opts_dir = joinpath(main.root.abspath, 'build_opts')
+if default:
+default_vars_files = [joinpath(build_root, 'variables', default),
+  joinpath(opts_dir, default)]
+else:
+default_vars_files = [joinpath(opts_dir, variant_dir)]
+existing_files = filter(isfile, default_vars_files)
+if existing_files:
+default_vars_file = existing_files[0]
 sticky_vars.files.append(default_vars_file)
 print Variables file %s not found,\n  using defaults in %s \
   % (current_vars_file, default_vars_file)
 else:
-print Error: cannot find variables file %s or %s \
-  % (current_vars_file, default_vars_file)
+print Error: cannot find variables file %s or  \
+  default file(s) %s \
+  % (current_vars_file, ' or '.join(default_vars_files))
 Exit(1)
 
 # Apply current variable settings to env
___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] changeset in m5: scons: interpret paths relative to launch direc...

2011-05-02 Thread Steve Reinhardt
changeset 3f49ed206f46 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=3f49ed206f46
description:
scons: interpret paths relative to launch directory

Make sure all command-line targets and EXTRAS directories
are interpreted relative to the launch directory.  This
turns out to be very useful when building code from an
EXTRAS directory using SCons's -C option.

We were trying to do this with targets but it didn't actually
work since we didn't update BUILD_TARGETS (so SCons got
confused internally).  We weren't even trying with EXTRAS.

To simplify the code, the default target is also interpreted
relative to the launch dir even though it was explicitly
handled as relative to the m5 dir before... I doubt anyone
really uses this anyway so it didn't seem worth the complexity.
(Maybe we should get rid of it?)

diffstat:

 SConstruct |  52 +++-
 1 files changed, 19 insertions(+), 33 deletions(-)

diffs (102 lines):

diff -r 06f3a4cbd585 -r 3f49ed206f46 SConstruct
--- a/SConstructMon May 02 12:40:31 2011 -0700
+++ b/SConstructMon May 02 12:40:32 2011 -0700
@@ -264,30 +264,29 @@
 return i
 raise ValueError, element not found
 
+# Take a list of paths (or SCons Nodes) and return a list with all
+# paths made absolute and ~-expanded.  Paths will be interpreted
+# relative to the launch directory unless a different root is provided
+def makePathListAbsolute(path_list, root=GetLaunchDir()):
+return [abspath(joinpath(root, expanduser(str(p
+for p in path_list]
+
 # Each target must have 'build' in the interior of the path; the
 # directory below this will determine the build parameters.  For
 # example, for target 'foo/bar/build/ALPHA_SE/arch/alpha/blah.do' we
 # recognize that ALPHA_SE specifies the configuration because it
-# follow 'build' in the bulid path.
+# follow 'build' in the build path.
 
-# Generate absolute paths to targets so we can see where the build dir is
-if COMMAND_LINE_TARGETS:
-# Ask SCons which directory it was invoked from
-launch_dir = GetLaunchDir()
-# Make targets relative to invocation directory
-abs_targets = [ normpath(joinpath(launch_dir, str(x))) for x in \
-COMMAND_LINE_TARGETS]
-else:
-# Default targets are relative to root of tree
-abs_targets = [ normpath(joinpath(main.root.abspath, str(x))) for x in \
-DEFAULT_TARGETS]
-
+# The funky assignment to [:] is needed to replace the list contents
+# in place rather than reassign the symbol to a new list, which
+# doesn't work (obviously!).
+BUILD_TARGETS[:] = makePathListAbsolute(BUILD_TARGETS)
 
 # Generate a list of the unique build roots and configs that the
 # collected targets reference.
 variant_paths = []
 build_root = None
-for t in abs_targets:
+for t in BUILD_TARGETS:
 path_dirs = t.split('/')
 try:
 build_top = rfind(path_dirs, 'build', -2)
@@ -326,21 +325,6 @@
 # tree (not specific to a particular build like ALPHA_SE)
 #
 
-# Variable validators  converters for global sticky variables
-def PathListMakeAbsolute(val):
-if not val:
-return val
-f = lambda p: abspath(expanduser(p))
-return ':'.join(map(f, val.split(':')))
-
-def PathListAllExist(key, val, env):
-if not val:
-return
-paths = val.split(':')
-for path in paths:
-if not isdir(path):
-raise SCons.Errors.UserError(Path does not exist: '%s' % path)
-
 global_vars_file = joinpath(build_root, 'variables.global')
 
 global_vars = Variables(global_vars_file, args=ARGUMENTS)
@@ -351,8 +335,7 @@
 ('BATCH', 'Use batch pool for build and tests', False),
 ('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
 ('M5_BUILD_CACHE', 'Cache built objects in this directory', False),
-('EXTRAS', 'Add extra directories to the compilation', '',
- PathListAllExist, PathListMakeAbsolute),
+('EXTRAS', 'Add extra directories to the compilation', '')
 )
 
 # Update main environment with values from ARGUMENTS  global_vars_file
@@ -363,10 +346,10 @@
 global_vars.Save(global_vars_file, main)
 
 # Parse EXTRAS variable to build list of all directories where we're
-# look for sources etc.  This list is exported as base_dir_list.
+# look for sources etc.  This list is exported as extras_dir_list.
 base_dir = main.srcdir.abspath
 if main['EXTRAS']:
-extras_dir_list = main['EXTRAS'].split(':')
+extras_dir_list = makePathListAbsolute(main['EXTRAS'].split(':'))
 else:
 extras_dir_list = []
 
@@ -808,6 +791,9 @@
 # Walk the tree and execute all SConsopts scripts that wil add to the
 # above variables
 for bdir in [ base_dir ] + extras_dir_list:
+if not isdir(bdir):
+print Error: directory '%s' does not exist % bdir
+Exit(1)
 for root, dirs, files in os.walk(bdir):
 if 

Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Nathan Binkert

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---



SConstruct
http://reviews.m5sim.org/r/668/#comment1609

I know you didn't change this, but should we check for both hooks?  (I 
added the pre-qrefresh one a while ago)



SConstruct
http://reviews.m5sim.org/r/668/#comment1610

Should we prompt the user for permission?  That way the user would at least 
know that something happened.


- Nathan


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Steve Reinhardt


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 243
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line243
 
  I know you didn't change this, but should we check for both hooks?  (I 
  added the pre-qrefresh one a while ago)

Doesn't make me much difference... seems pretty unlikely anyone would have one 
and not the other though.


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.

I doubt most people care.  How many would really say no?  Most people just want 
things to be automatic.

If they really do care they can always edit it out later (the comments will let 
them know where the hooks came from).


- Steve


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Nathan Binkert


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.
 
 Steve Reinhardt wrote:
 I doubt most people care.  How many would really say no?  Most people 
 just want things to be automatic.
 
 If they really do care they can always edit it out later (the comments 
 will let them know where the hooks came from).


I agree that nobody would say no, but most people also would never notice that 
it had happened because the message would just fly by if there was no prompt.  
I guess that you're arguing that that would be a good thing :)


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 243
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line243
 
  I know you didn't change this, but should we check for both hooks?  (I 
  added the pre-qrefresh one a while ago)
 
 Steve Reinhardt wrote:
 Doesn't make me much difference... seems pretty unlikely anyone would 
 have one and not the other though.

Old repos may not have the new hook. (I only found out that we could use 
pre-qrefresh a few months ago).


- Nathan


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Nathan Binkert

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1176
---

Ship it!


Whether you decide to change this or not, it's a good idea.

- Nathan


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Steve Reinhardt


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 243
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line243
 
  I know you didn't change this, but should we check for both hooks?  (I 
  added the pre-qrefresh one a while ago)
 
 Steve Reinhardt wrote:
 Doesn't make me much difference... seems pretty unlikely anyone would 
 have one and not the other though.
 
 Nathan Binkert wrote:
 Old repos may not have the new hook. (I only found out that we could use 
 pre-qrefresh a few months ago).

The only hitch is that if we just append the hook text when only one is missing 
we'll get duplicates, like this:

[extensions]
style = /home/stever/hg/amd/m5/util/style.py

[hooks]
pretxncommit.style = python:style.check_style

# The following lines were automatically added by m5/SConstruct
# to provide the m5 style-checking hooks
[extensions]
style = /home/stever/hg/amd/m5/util/style.py

[hooks]
pretxncommit.style = python:style.check_style
pre-qrefresh.style = python:style.check_style
# End of SConstruct additions

I don't think it's a problem (my very limited testing hasn't shown anything), 
but it is a little weird.  If you think this is OK, then I'll go ahead and test 
for both.  Otherwise I could test for both, print a warning if they're only 
half there, and only do the auto append if they're both missing.


- Steve


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Gabe Black


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.
 
 Steve Reinhardt wrote:
 I doubt most people care.  How many would really say no?  Most people 
 just want things to be automatic.
 
 If they really do care they can always edit it out later (the comments 
 will let them know where the hooks came from).

 
 Nathan Binkert wrote:
 I agree that nobody would say no, but most people also would never notice 
 that it had happened because the message would just fly by if there was no 
 prompt.  I guess that you're arguing that that would be a good thing :)

Changing config files behind peoples back is a really bad idea in my opinion. I 
know I've stopped using entire distros (Suse) because they mucked with config 
files behind my back and perpetually broke my system. My configs are mine, and 
the minimal level of respect for that would be if we asked permission before we 
let ourselves in. I think leaving well enough alone and having the user go in 
and fix it themselves is actually the best approach.


- Gabe


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] Review Request: CPU: Fix a case where timing simple cpu faults can nest.

2011-05-02 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/670/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

CPU: Fix a case where timing simple cpu faults can nest.

If we fault, change the state to faulting so that we don't fault again in the 
same cycle.


Diffs
-

  src/cpu/simple/base.hh 3f49ed206f46 
  src/cpu/simple/timing.cc 3f49ed206f46 

Diff: http://reviews.m5sim.org/r/670/diff


Testing
---


Thanks,

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/669/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

ARM: Add vfpv3 support to native trace.


Diffs
-

  src/arch/arm/nativetrace.hh 3f49ed206f46 
  src/arch/arm/nativetrace.cc 3f49ed206f46 
  util/statetrace/arch/arm/tracechild.hh 3f49ed206f46 
  util/statetrace/arch/arm/tracechild.cc 3f49ed206f46 

Diff: http://reviews.m5sim.org/r/669/diff


Testing
---


Thanks,

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] Review Request: CPU: Add some useful debug message to the timing simple cpu.

2011-05-02 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/671/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

CPU: Add some useful debug message to the timing simple cpu.


Diffs
-

  src/cpu/simple/timing.cc 3f49ed206f46 

Diff: http://reviews.m5sim.org/r/671/diff


Testing
---


Thanks,

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


[m5-dev] Review Request: Debug: Add a function to cause the simulator to create a checkpoint from GDB.

2011-05-02 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/672/
---

Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and Nathan 
Binkert.


Summary
---

Debug: Add a function to cause the simulator to create a checkpoint from GDB.


Diffs
-

  src/sim/debug.hh 3f49ed206f46 
  src/sim/debug.cc 3f49ed206f46 

Diff: http://reviews.m5sim.org/r/672/diff


Testing
---


Thanks,

Ali

___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Ali Saidi

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1180
---

Ship it!


- Ali


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: Debug: Add a function to cause the simulator to create a checkpoint from GDB.

2011-05-02 Thread Nathan Binkert

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/672/#review1182
---

Ship it!


Looks fine.


src/sim/debug.hh
http://reviews.m5sim.org/r/672/#comment1620

Maybe put a note that the definition is in eventq.cc?


- Nathan


On 2011-05-02 15:42:09, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/672/
 ---
 
 (Updated 2011-05-02 15:42:09)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 Debug: Add a function to cause the simulator to create a checkpoint from GDB.
 
 
 Diffs
 -
 
   src/sim/debug.hh 3f49ed206f46 
   src/sim/debug.cc 3f49ed206f46 
 
 Diff: http://reviews.m5sim.org/r/672/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ali
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Gabe Black

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/669/#review1181
---



src/arch/arm/nativetrace.cc
http://reviews.m5sim.org/r/669/#comment1619

You should divide by two here instead of shifting by 1. It's more obvious 
what you're doing, and the compiler will be smart enough to use a shift it it's 
faster.



src/arch/arm/nativetrace.cc
http://reviews.m5sim.org/r/669/#comment1618

spaces around the +



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1621

Hmm... I wonder how that got there? Good catch.



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1622

I don't know how easy this would be to accommodate, but you're going to be 
sending a bunch of extra zeros for int regs that aren't 64 bits wide. Can you 
make it so you send full 64 bit values only when the source is actually 64 bits 
wide?



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1623

The idea is to verify that you're not falling off of uregs. Maybe you could 
do something more flexible like sizeof(myregs.uregs) / sizeof (myregs.uregs[0]).



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1624

The same comment applies as in getRegs, except that you have to deal with 
an offset. It would probably be a good idea to define something in the enum to 
mark the start of the FP regs. You can move the assert to after the if and 
subtract out the offset right before indexing fpregs.



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1625

Just because libc would use a macro doesn't mean we have to. You should 
replace this with a constant of the appropriate type.



util/statetrace/arch/arm/tracechild.cc
http://reviews.m5sim.org/r/669/#comment1626

Is the cast actually necessary here? I can believe it is to avoid a 
warning, but you could try leaving it out if you haven't already.


- Gabe


On 2011-05-02 15:41:28, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/669/
 ---
 
 (Updated 2011-05-02 15:41:28)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 ARM: Add vfpv3 support to native trace.
 
 
 Diffs
 -
 
   src/arch/arm/nativetrace.hh 3f49ed206f46 
   src/arch/arm/nativetrace.cc 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.hh 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.cc 3f49ed206f46 
 
 Diff: http://reviews.m5sim.org/r/669/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ali
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Nathan Binkert


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 243
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line243
 
  I know you didn't change this, but should we check for both hooks?  (I 
  added the pre-qrefresh one a while ago)
 
 Steve Reinhardt wrote:
 Doesn't make me much difference... seems pretty unlikely anyone would 
 have one and not the other though.
 
 Nathan Binkert wrote:
 Old repos may not have the new hook. (I only found out that we could use 
 pre-qrefresh a few months ago).
 
 Steve Reinhardt wrote:
 The only hitch is that if we just append the hook text when only one is 
 missing we'll get duplicates, like this:
 
 [extensions]
 style = /home/stever/hg/amd/m5/util/style.py
 
 [hooks]
 pretxncommit.style = python:style.check_style
 
 # The following lines were automatically added by m5/SConstruct
 # to provide the m5 style-checking hooks
 [extensions]
 style = /home/stever/hg/amd/m5/util/style.py
 
 [hooks]
 pretxncommit.style = python:style.check_style
 pre-qrefresh.style = python:style.check_style
 # End of SConstruct additions
 
 I don't think it's a problem (my very limited testing hasn't shown 
 anything), but it is a little weird.  If you think this is OK, then I'll go 
 ahead and test for both.  Otherwise I could test for both, print a warning if 
 they're only half there, and only do the auto append if they're both missing.


I thought about that.  It's probably fine.  A warning is probably worth it.  
Though, again, if you don't stop output for the user, nobody will notice it, so 
maybe it doesn't matter


- Nathan


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Nathan Binkert


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.
 
 Steve Reinhardt wrote:
 I doubt most people care.  How many would really say no?  Most people 
 just want things to be automatic.
 
 If they really do care they can always edit it out later (the comments 
 will let them know where the hooks came from).

 
 Nathan Binkert wrote:
 I agree that nobody would say no, but most people also would never notice 
 that it had happened because the message would just fly by if there was no 
 prompt.  I guess that you're arguing that that would be a good thing :)
 
 Gabe Black wrote:
 Changing config files behind peoples back is a really bad idea in my 
 opinion. I know I've stopped using entire distros (Suse) because they mucked 
 with config files behind my back and perpetually broke my system. My configs 
 are mine, and the minimal level of respect for that would be if we asked 
 permission before we let ourselves in. I think leaving well enough alone and 
 having the user go in and fix it themselves is actually the best approach.

This isn't a config file in your homedir, it's the config file in the M5 repo 
and it will only be changed if you don't have it set up right, so it's not all 
that bad.  I have the same leaning that you do, so I think I'd rather see a 
prompt for the user, but I don't feel that strongly about it.


- Nathan


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: CPU: Add some useful debug message to the timing simple cpu.

2011-05-02 Thread Gabe Black

---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/671/#review1184
---


Generally speaking, I'd like to see us move towards using the same traceflags 
across ISAs and CPUs. If I'm using the SimpleCPU, being able to select DPRINTFs 
specific to the SimpleCPU isn't that useful. I'm not going to hit an O3 DPRINTF 
whether I have them turned on or not. Instead, it might be better to, say, use 
a Fetch traceflag to go with Fetch actions. Then you can be more specific and 
have to remember fewer particulars of the thing you're working with. You could 
have a compound traceflag called SimpleCPU (or just CPU?) which would turn on 
all the basics. It might get a little tricky if you have multiple CPU types and 
wanted to turn on only the ones in the SimpleCPU, but I expect that to be 
relatively uncommon.

I'd encourage you to think about changing things around like this, but I 
understand it expands the scope of what you were trying to do significantly. 
I'm ok if you leave it as is.

- Gabe


On 2011-05-02 15:41:50, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/671/
 ---
 
 (Updated 2011-05-02 15:41:50)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 CPU: Add some useful debug message to the timing simple cpu.
 
 
 Diffs
 -
 
   src/cpu/simple/timing.cc 3f49ed206f46 
 
 Diff: http://reviews.m5sim.org/r/671/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ali
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Ali Saidi


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 151
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line151
 
  Is the cast actually necessary here? I can believe it is to avoid a 
  warning, but you could try leaving it out if you haven't already.

might as well be explicit


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 129
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line129
 
  Just because libc would use a macro doesn't mean we have to. You should 
  replace this with a constant of the appropriate type.

I disagree... This will transition nicely as soon as libc gets it's act 
together. 


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 79
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line79
 
  I don't know how easy this would be to accommodate, but you're going to 
  be sending a bunch of extra zeros for int regs that aren't 64 bits wide. 
  Can you make it so you send full 64 bit values only when the source is 
  actually 64 bits wide?

There is no reason to worry about sending 4 bytes down the wire. The speed 
issue isn't about sending 4 bytes, it's all about having to put a breakpoint 
after every instruction. 


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 104
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line104
 
  The idea is to verify that you're not falling off of uregs. Maybe you 
  could do something more flexible like sizeof(myregs.uregs) / sizeof 
  (myregs.uregs[0]).

uregs is never going to get smaller than it is now and I don't see a reason to 
come up with a crazy assert to try and prove that it isn't. 


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 111
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line111
 
  The same comment applies as in getRegs, except that you have to deal 
  with an offset. It would probably be a good idea to define something in the 
  enum to mark the start of the FP regs. You can move the assert to after the 
  if and subtract out the offset right before indexing fpregs.

There are clearly 32 float registers defined in the enum and in the struct. The 
assert just verifies that we're actually accessing a floating point register 
when we should be. We don't need to verify the structure size it's correct by 
construction.  


 On 2011-05-02 16:42:25, Gabe Black wrote:
  src/arch/arm/nativetrace.cc, line 123
  http://reviews.m5sim.org/r/669/diff/1/?file=12213#file12213line123
 
  You should divide by two here instead of shifting by 1. It's more 
  obvious what you're doing, and the compiler will be smart enough to use a 
  shift it it's faster.

Personally, I like the look of the shift better, although I'm sure that the 
compiler can figure it out.


 On 2011-05-02 16:42:25, Gabe Black wrote:
  src/arch/arm/nativetrace.cc, line 124
  http://reviews.m5sim.org/r/669/diff/1/?file=12213#file12213line124
 
  spaces around the +

done


- Ali


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/669/#review1181
---


On 2011-05-02 15:41:28, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/669/
 ---
 
 (Updated 2011-05-02 15:41:28)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 ARM: Add vfpv3 support to native trace.
 
 
 Diffs
 -
 
   src/arch/arm/nativetrace.hh 3f49ed206f46 
   src/arch/arm/nativetrace.cc 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.hh 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.cc 3f49ed206f46 
 
 Diff: http://reviews.m5sim.org/r/669/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ali
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Gabe Black


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 79
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line79
 
  I don't know how easy this would be to accommodate, but you're going to 
  be sending a bunch of extra zeros for int regs that aren't 64 bits wide. 
  Can you make it so you send full 64 bit values only when the source is 
  actually 64 bits wide?
 
 Ali Saidi wrote:
 There is no reason to worry about sending 4 bytes down the wire. The 
 speed issue isn't about sending 4 bytes, it's all about having to put a 
 breakpoint after every instruction.

The reason I implemented sending diffs of the state instead of sending the 
whole state is that what you send over the wire -does- matter, significantly. 
Breakpoints are slow too, but that doesn't mean everything else is irrelevant.


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 104
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line104
 
  The idea is to verify that you're not falling off of uregs. Maybe you 
  could do something more flexible like sizeof(myregs.uregs) / sizeof 
  (myregs.uregs[0]).
 
 Ali Saidi wrote:
 uregs is never going to get smaller than it is now and I don't see a 
 reason to come up with a crazy assert to try and prove that it isn't.

uregs changing size is irrelevant. That formula will be exactly right all the 
time and doesn't depend on the coincidence that the CPSR is last.


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 111
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line111
 
  The same comment applies as in getRegs, except that you have to deal 
  with an offset. It would probably be a good idea to define something in the 
  enum to mark the start of the FP regs. You can move the assert to after the 
  if and subtract out the offset right before indexing fpregs.
 
 Ali Saidi wrote:
 There are clearly 32 float registers defined in the enum and in the 
 struct. The assert just verifies that we're actually accessing a floating 
 point register when we should be. We don't need to verify the structure size 
 it's correct by construction.

I wrote the original assert and know what it's for, verifying the index and not 
the structure. Again, it assumes F0 is the first FP reg which is arbitrary.


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 129
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line129
 
  Just because libc would use a macro doesn't mean we have to. You should 
  replace this with a constant of the appropriate type.
 
 Ali Saidi wrote:
 I disagree... This will transition nicely as soon as libc gets it's act 
 together.

The fact that gcc uses macros is an unfortunate historical artifact, not a 
valid design decision. The transition won't be that nice either since it'll 
leave macro cruft in the source. We should either use their macro because we 
have to, or use our own thing that doesn't suck because it makes sense. Here 
we're combining the downsides of both of those approaches.


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 151
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line151
 
  Is the cast actually necessary here? I can believe it is to avoid a 
  warning, but you could try leaving it out if you haven't already.
 
 Ali Saidi wrote:
 might as well be explicit

It's not a huge thing, but if it's not required it's mostly visual noise. 
People will usually not care too much about exactly what type is being used, 
and if they do they can look at the function return type.


- Gabe


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/669/#review1181
---


On 2011-05-02 15:41:28, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/669/
 ---
 
 (Updated 2011-05-02 15:41:28)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 ARM: Add vfpv3 support to native trace.
 
 
 Diffs
 -
 
   src/arch/arm/nativetrace.hh 3f49ed206f46 
   src/arch/arm/nativetrace.cc 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.hh 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.cc 3f49ed206f46 
 
 Diff: http://reviews.m5sim.org/r/669/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ali
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Ali Saidi


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 79
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line79
 
  I don't know how easy this would be to accommodate, but you're going to 
  be sending a bunch of extra zeros for int regs that aren't 64 bits wide. 
  Can you make it so you send full 64 bit values only when the source is 
  actually 64 bits wide?
 
 Ali Saidi wrote:
 There is no reason to worry about sending 4 bytes down the wire. The 
 speed issue isn't about sending 4 bytes, it's all about having to put a 
 breakpoint after every instruction.
 
 Gabe Black wrote:
 The reason I implemented sending diffs of the state instead of sending 
 the whole state is that what you send over the wire -does- matter, 
 significantly. Breakpoints are slow too, but that doesn't mean everything 
 else is irrelevant.

I fully appreciate that it wouldn't be a good idea to send 1KB of data over the 
wire, but we're well past bike shedding arguing about 4 bytes. There is no 
reason to add complexity and control flow to try and avoid it. 


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 104
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line104
 
  The idea is to verify that you're not falling off of uregs. Maybe you 
  could do something more flexible like sizeof(myregs.uregs) / sizeof 
  (myregs.uregs[0]).
 
 Ali Saidi wrote:
 uregs is never going to get smaller than it is now and I don't see a 
 reason to come up with a crazy assert to try and prove that it isn't.
 
 Gabe Black wrote:
 uregs changing size is irrelevant. That formula will be exactly right all 
 the time and doesn't depend on the coincidence that the CPSR is last.

Only if you assume that the integer registers are sent first, which it seems 
like you're unwilling to make any assumptions about the code, so perhaps we 
should somehow verify that?


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 111
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line111
 
  The same comment applies as in getRegs, except that you have to deal 
  with an offset. It would probably be a good idea to define something in the 
  enum to mark the start of the FP regs. You can move the assert to after the 
  if and subtract out the offset right before indexing fpregs.
 
 Ali Saidi wrote:
 There are clearly 32 float registers defined in the enum and in the 
 struct. The assert just verifies that we're actually accessing a floating 
 point register when we should be. We don't need to verify the structure size 
 it's correct by construction.
 
 Gabe Black wrote:
 I wrote the original assert and know what it's for, verifying the index 
 and not the structure. Again, it assumes F0 is the first FP reg which is 
 arbitrary.

No it's not! F0 Is the first floating point register. 0 is the first whole 
number so it's first. Would you rather some uglyiness of START_FP, F0 = 
START_FP? Why are we arguing about code that is correct by inspection, has been 
extensively tested, and works?!


 On 2011-05-02 16:42:25, Gabe Black wrote:
  util/statetrace/arch/arm/tracechild.cc, line 129
  http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line129
 
  Just because libc would use a macro doesn't mean we have to. You should 
  replace this with a constant of the appropriate type.
 
 Ali Saidi wrote:
 I disagree... This will transition nicely as soon as libc gets it's act 
 together.
 
 Gabe Black wrote:
 The fact that gcc uses macros is an unfortunate historical artifact, not 
 a valid design decision. The transition won't be that nice either since it'll 
 leave macro cruft in the source. We should either use their macro because we 
 have to, or use our own thing that doesn't suck because it makes sense. Here 
 we're combining the downsides of both of those approaches.

Sure, but if for some reason the value changes when the support actually makes 
it into libc it will be correct. 


- Ali


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/669/#review1181
---


On 2011-05-02 15:41:28, Ali Saidi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/669/
 ---
 
 (Updated 2011-05-02 15:41:28)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 ARM: Add vfpv3 support to native trace.
 
 
 Diffs
 -
 
   src/arch/arm/nativetrace.hh 3f49ed206f46 
   src/arch/arm/nativetrace.cc 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.hh 3f49ed206f46 
   util/statetrace/arch/arm/tracechild.cc 3f49ed206f46 
 
 

Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Steve Reinhardt


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.
 
 Steve Reinhardt wrote:
 I doubt most people care.  How many would really say no?  Most people 
 just want things to be automatic.
 
 If they really do care they can always edit it out later (the comments 
 will let them know where the hooks came from).

 
 Nathan Binkert wrote:
 I agree that nobody would say no, but most people also would never notice 
 that it had happened because the message would just fly by if there was no 
 prompt.  I guess that you're arguing that that would be a good thing :)
 
 Gabe Black wrote:
 Changing config files behind peoples back is a really bad idea in my 
 opinion. I know I've stopped using entire distros (Suse) because they mucked 
 with config files behind my back and perpetually broke my system. My configs 
 are mine, and the minimal level of respect for that would be if we asked 
 permission before we let ourselves in. I think leaving well enough alone and 
 having the user go in and fix it themselves is actually the best approach.
 
 Nathan Binkert wrote:
 This isn't a config file in your homedir, it's the config file in the M5 
 repo and it will only be changed if you don't have it set up right, so it's 
 not all that bad.  I have the same leaning that you do, so I think I'd rather 
 see a prompt for the user, but I don't feel that strongly about it.

Yea, I would feel differently about ~/.hgrc, but this is just a local config 
file, and it's one that will need updating each time you clone a new repo.  I 
don't mind making the warning a little more prominent, but since the status quo 
is that we won't even try to compile if the hooks aren't there, it seems 
overkill to me to make too big a deal of it... is someone going to be so 
offended about this that they're going to go try a different simulator?  Plus 
if we could find a way to get these hooks to be part of the m5 repo so that 
they were automatically in place whenever you cloned, we would have done that, 
so I don't see how this is much different.


- Steve


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev


Re: [m5-dev] Review Request: ARM: Add vfpv3 support to native trace.

2011-05-02 Thread Gabriel Michael Black

Quoting Ali Saidi sa...@umich.edu:





On 2011-05-02 16:42:25, Gabe Black wrote:
 util/statetrace/arch/arm/tracechild.cc, line 79
 http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line79

 I don't know how easy this would be to accommodate, but  
you're going to be sending a bunch of extra zeros for int regs that  
aren't 64 bits wide. Can you make it so you send full 64 bit values  
only when the source is actually 64 bits wide?


Ali Saidi wrote:
There is no reason to worry about sending 4 bytes down the  
wire. The speed issue isn't about sending 4 bytes, it's all about  
having to put a breakpoint after every instruction.


Gabe Black wrote:
The reason I implemented sending diffs of the state instead of  
sending the whole state is that what you send over the wire -does-  
matter, significantly. Breakpoints are slow too, but that doesn't  
mean everything else is irrelevant.


I fully appreciate that it wouldn't be a good idea to send 1KB of  
data over the wire, but we're well past bike shedding arguing about  
4 bytes. There is no reason to add complexity and control flow to  
try and avoid it.


I don't think it's necessary, although I also don't think it would be  
that hard.


Also, I don't like our tendency to characterize disagreement as bike  
shedding. If I don't agree, I don't agree. I'm not obligated to change  
my mind or just stand by while you do whatever you want. This is my  
code and by the convention we've stated on several occasions that  
means it's my decision. You're bike shedding by continuing to argue  
after I've made my decision.






On 2011-05-02 16:42:25, Gabe Black wrote:
 util/statetrace/arch/arm/tracechild.cc, line 104
 http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line104

 The idea is to verify that you're not falling off of uregs.  
Maybe you could do something more flexible like  
sizeof(myregs.uregs) / sizeof (myregs.uregs[0]).


Ali Saidi wrote:
uregs is never going to get smaller than it is now and I don't  
see a reason to come up with a crazy assert to try and prove that  
it isn't.


Gabe Black wrote:
uregs changing size is irrelevant. That formula will be exactly  
right all the time and doesn't depend on the coincidence that the  
CPSR is last.


Only if you assume that the integer registers are sent first, which  
it seems like you're unwilling to make any assumptions about the  
code, so perhaps we should somehow verify that?





Depending on the constants in an enum or the members of a data  
structure being in a particular order for all of time is dangerous and  
in this case pointless.


I don't appreciate your sarcasm or you treating my attempts to protect  
the quality of my code like some sort of unreasonable hassle. Do you  
think I like taking my time to reverse engineer and review all this  
code somebody else wrote, and then having to fight over why it's  
wrong? It's an enormous waste of energy, and there are so many better  
uses for my time. And yet here we are. Again.



On 2011-05-02 16:42:25, Gabe Black wrote:
 util/statetrace/arch/arm/tracechild.cc, line 111
 http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line111

 The same comment applies as in getRegs, except that you have  
to deal with an offset. It would probably be a good idea to define  
something in the enum to mark the start of the FP regs. You can  
move the assert to after the if and subtract out the offset right  
before indexing fpregs.


Ali Saidi wrote:
There are clearly 32 float registers defined in the enum and in  
the struct. The assert just verifies that we're actually accessing  
a floating point register when we should be. We don't need to  
verify the structure size it's correct by construction.


Gabe Black wrote:
I wrote the original assert and know what it's for, verifying  
the index and not the structure. Again, it assumes F0 is the first  
FP reg which is arbitrary.


No it's not! F0 Is the first floating point register. 0 is the first  
whole number so it's first. Would you rather some uglyiness of  
START_FP, F0 = START_FP? Why are we arguing about code that is  
correct by inspection, has been extensively tested, and works?!





Yes, put that in my code. Why are we arguing about what you want to do  
to my code? How could anything be wrong with code that works right  
this moment? Why shouldn't I just let you do whatever you want because  
it's expedient?



On 2011-05-02 16:42:25, Gabe Black wrote:
 util/statetrace/arch/arm/tracechild.cc, line 129
 http://reviews.m5sim.org/r/669/diff/1/?file=12215#file12215line129

 Just because libc would use a macro doesn't mean we have to.  
You should replace this with a constant of the appropriate type.


Ali Saidi wrote:
I disagree... This will transition nicely as soon as libc gets  
it's act together.


Gabe Black wrote:
The fact that gcc uses macros is an unfortunate historical  
artifact, not a valid design decision. The 

Re: [m5-dev] Review Request: SConstruct: automatically update .hg/hgrc with style hooks

2011-05-02 Thread Gabe Black


 On 2011-05-02 12:51:56, Nathan Binkert wrote:
  SConstruct, line 247
  http://reviews.m5sim.org/r/668/diff/1/?file=12211#file12211line247
 
  Should we prompt the user for permission?  That way the user would at 
  least know that something happened.
 
 Steve Reinhardt wrote:
 I doubt most people care.  How many would really say no?  Most people 
 just want things to be automatic.
 
 If they really do care they can always edit it out later (the comments 
 will let them know where the hooks came from).

 
 Nathan Binkert wrote:
 I agree that nobody would say no, but most people also would never notice 
 that it had happened because the message would just fly by if there was no 
 prompt.  I guess that you're arguing that that would be a good thing :)
 
 Gabe Black wrote:
 Changing config files behind peoples back is a really bad idea in my 
 opinion. I know I've stopped using entire distros (Suse) because they mucked 
 with config files behind my back and perpetually broke my system. My configs 
 are mine, and the minimal level of respect for that would be if we asked 
 permission before we let ourselves in. I think leaving well enough alone and 
 having the user go in and fix it themselves is actually the best approach.
 
 Nathan Binkert wrote:
 This isn't a config file in your homedir, it's the config file in the M5 
 repo and it will only be changed if you don't have it set up right, so it's 
 not all that bad.  I have the same leaning that you do, so I think I'd rather 
 see a prompt for the user, but I don't feel that strongly about it.
 
 Steve Reinhardt wrote:
 Yea, I would feel differently about ~/.hgrc, but this is just a local 
 config file, and it's one that will need updating each time you clone a new 
 repo.  I don't mind making the warning a little more prominent, but since the 
 status quo is that we won't even try to compile if the hooks aren't there, it 
 seems overkill to me to make too big a deal of it... is someone going to be 
 so offended about this that they're going to go try a different simulator?  
 Plus if we could find a way to get these hooks to be part of the m5 repo so 
 that they were automatically in place whenever you cloned, we would have done 
 that, so I don't see how this is much different.

I'm just afraid of this happening, causing some problem, somebody spending a 
long time and discovering (or not discovering) that some config file was 
changed without their knowledge and that's what was breaking everything. I 
can't imagine somebody not being a little miffed about that. But if you think 
it's really really safe and you've made it obvious what happened then I guess 
it could be ok. Maybe make it stop scons after that warning prints if those 
lines aren't there so it's harder to miss? Then they can just run it again and 
it'll go through, but they at least know what happened.

And yes, I have heard of people that have tried to use M5, got frustrated and 
gone elsewhere. It is very possible to be too annoying or difficult and to 
drive away users.


- Gabe


---
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/668/#review1173
---


On 2011-05-02 12:34:56, Steve Reinhardt wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://reviews.m5sim.org/r/668/
 ---
 
 (Updated 2011-05-02 12:34:56)
 
 
 Review request for Default, Ali Saidi, Gabe Black, Steve Reinhardt, and 
 Nathan Binkert.
 
 
 Summary
 ---
 
 SConstruct: automatically update .hg/hgrc with style hooks
 
 Seems easier than pestering people about it.
 Note also that path is now absolute, so you don't get errors
 when invoking hg from subdirectories.
 
 
 Diffs
 -
 
   SConstruct 66a3187a6714 
 
 Diff: http://reviews.m5sim.org/r/668/diff
 
 
 Testing
 ---
 
 
 Thanks,
 
 Steve
 


___
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev