[gem5-dev] Change in public/gem5[master]: misc: fix build failure in cxx_config example

2017-05-08 Thread Paul Rosenfeld (Gerrit)
Paul Rosenfeld has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/3000 )


Change subject: misc: fix build failure in cxx_config example
..

misc: fix build failure in cxx_config example

Fix a missing header in the cxx_config example which is used as a
simple example of using libgem5.so without python.

Change-Id: I758bfe42ba735ce0c7eaedd49b94a130e3bd21e3
Reviewed-on: https://gem5-review.googlesource.com/3000
Reviewed-by: Andreas Sandberg 
Reviewed-by: Jason Lowe-Power 
Reviewed-by: Curtis Dunham 
Reviewed-by: Matthias Jung 
Maintainer: Andreas Sandberg 
---
M util/cxx_config/main.cc
1 file changed, 1 insertion(+), 0 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
  Curtis Dunham: Looks good to me, approved
  Matthias Jung: Looks good to me, approved



diff --git a/util/cxx_config/main.cc b/util/cxx_config/main.cc
index 0356aea..88bdec0 100644
--- a/util/cxx_config/main.cc
+++ b/util/cxx_config/main.cc
@@ -68,6 +68,7 @@
 #include "sim/cxx_manager.hh"
 #include "sim/init_signals.hh"
 #include "sim/serialize.hh"
+#include "sim/sim_events.hh"
 #include "sim/simulate.hh"
 #include "sim/stat_control.hh"
 #include "sim/system.hh"

--
To view, visit https://gem5-review.googlesource.com/3000
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I758bfe42ba735ce0c7eaedd49b94a130e3bd21e3
Gerrit-Change-Number: 3000
Gerrit-PatchSet: 2
Gerrit-Owner: Paul Rosenfeld 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Curtis Dunham 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Matthias Jung 
Gerrit-Reviewer: Paul Rosenfeld 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: scons: Get rid of the PHONY_BASE construction variable.

2017-05-08 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/2981 )


Change subject: scons: Get rid of the PHONY_BASE construction variable.
..

scons: Get rid of the PHONY_BASE construction variable.

The value of that variable can be computed more directly and more locally
to where it's consumed.

Change-Id: I5ca1f732a34e22d4dae2aeb6ee7fc8adebe1caa0
Reviewed-on: https://gem5-review.googlesource.com/2981
Maintainer: Jason Lowe-Power 
Reviewed-by: Curtis Dunham 
Reviewed-by: Jason Lowe-Power 
---
M SConstruct
M src/SConscript
2 files changed, 8 insertions(+), 4 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  Curtis Dunham: Looks good to me, approved



diff --git a/SConstruct b/SConstruct
index d252865..f56c23d 100755
--- a/SConstruct
+++ b/SConstruct
@@ -1357,7 +1357,6 @@
 env.Command(hdr, [], switch_hdr_action)

 isa_target = Dir('.').up().name.lower().replace('_', '-')
-env['PHONY_BASE'] = '#'+isa_target
 all_isa_deps[isa_target] = None

 Export('make_switching_dir')
@@ -1421,6 +1420,11 @@
 #
 ###

+def variant_name(path):
+return os.path.basename(path).lower().replace('_', '-')
+main['variant_name'] = variant_name
+main['VARIANT_NAME'] = '${variant_name(BUILDDIR)}'
+
 for variant_path in variant_paths:
 if not GetOption('silent'):
 print "Building in", variant_path
diff --git a/src/SConscript b/src/SConscript
index 155dcf5..ed59bd2 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -1233,9 +1233,9 @@
 Builder(action=MakeAction(makeEnvirons,
   Transform("ENVIRONS",  
1)))})


-isa_target = env['PHONY_BASE'] + '-deps'
-environs   = env['PHONY_BASE'] + '-environs'
-env.Depends('#all-deps', isa_target)
+isa_target = '#${VARIANT_NAME}-deps'
+environs = '#${VARIANT_NAME}-environs'
+env.Depends('#all-deps', isa_target)
 env.Depends('#all-environs', environs)
 env.ScanISA(isa_target, File('arch/%s/generated/inc.d' %  
env['TARGET_ISA']))

 envSetup = env.MakeEnvirons(environs, isa_target)

--
To view, visit https://gem5-review.googlesource.com/2981
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I5ca1f732a34e22d4dae2aeb6ee7fc8adebe1caa0
Gerrit-Change-Number: 2981
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Curtis Dunham 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: base: Teach the socket listeners how to bind to the loopback.

2017-05-08 Thread Gabe Black (Gerrit)

Hello Nathan Binkert, Andreas Sandberg,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/3080

to look at the new patch set (#2).

Change subject: base: Teach the socket listeners how to bind to the  
loopback.

..

base: Teach the socket listeners how to bind to the loopback.

The loopback device will allow access to various services like remote GDB
debugging, connecting to the terminal, etc., without letting external
agents like port scanners connect and disrupting the simulation.

Change-Id: I76dccbf152fa278ae9f342b25f7e345a1329fbe4
---
M src/base/socket.cc
M src/base/socket.hh
2 files changed, 17 insertions(+), 1 deletion(-)


--
To view, visit https://gem5-review.googlesource.com/3080
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I76dccbf152fa278ae9f342b25f7e345a1329fbe4
Gerrit-Change-Number: 3080
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Nathan Binkert 
Gerrit-CC: Rahul Thakur 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: scons: arch: Generalize the switching header code.

2017-05-08 Thread Gabe Black (Gerrit)

Hello Jason Lowe-Power, Curtis Dunham, Andreas Sandberg,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/2983

to look at the new patch set (#3).

Change subject: scons: arch: Generalize the switching header code.
..

scons: arch: Generalize the switching header code.

Factor out the ISA ness of the switching header generating function. Also
turn it into a SCons builder which builds a single header, and a wrapping
method which uses the builder on a group of header files which all target
the same subdirectory.

Change-Id: I87705f97b6ebd9baebd4ebcfea19cc1218a64ad0
---
M SConstruct
M src/arch/SConscript
2 files changed, 29 insertions(+), 31 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/2983
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I87705f97b6ebd9baebd4ebcfea19cc1218a64ad0
Gerrit-Change-Number: 2983
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Curtis Dunham 
Gerrit-Reviewer: Jason Lowe-Power 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: config: Fix up some configs to not use CPU aliases.

2017-05-08 Thread Gabe Black (Gerrit)

Hello Jason Lowe-Power, Andreas Sandberg,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/3100

to look at the new patch set (#2).

Change subject: config: Fix up some configs to not use CPU aliases.
..

config: Fix up some configs to not use CPU aliases.

Support for CPU aliases were removed recently.

Change-Id: I3c1173dc34170d8639d95e52bf660f248848f77f
---
M configs/common/CacheConfig.py
M configs/example/apu_se.py
M configs/example/etrace_replay.py
M configs/example/fs.py
M configs/example/se.py
M configs/network/Network.py
M configs/ruby/Ruby.py
7 files changed, 12 insertions(+), 11 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/3100
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I3c1173dc34170d8639d95e52bf660f248848f77f
Gerrit-Change-Number: 3100
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Jason Lowe-Power 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: util: Add the m5_loadsymbol pseudo op to the m5 tool

2017-05-08 Thread Andreas Sandberg (Gerrit)
Andreas Sandberg has uploaded this change for review. (  
https://gem5-review.googlesource.com/3122



Change subject: util: Add the m5_loadsymbol pseudo op to the m5 tool
..

util: Add the m5_loadsymbol pseudo op to the m5 tool

Change-Id: Ib8bf4eac77170db8b2bf44796fd9d46b02217d03
Signed-off-by: Andreas Sandberg 
---
M util/m5/m5.c
M util/m5/m5op.h
2 files changed, 12 insertions(+), 0 deletions(-)



diff --git a/util/m5/m5.c b/util/m5/m5.c
index ee92134..8e21276 100644
--- a/util/m5/m5.c
+++ b/util/m5/m5.c
@@ -251,6 +251,16 @@
 m5_addsymbol(addr, symbol);
 }

+
+void
+do_loadsymbol(int argc, char *argv[])
+{
+if (argc > 0)
+usage();
+
+m5_loadsymbol();
+}
+
 void
 do_initparam(int argc, char *argv[])
 {
@@ -321,6 +331,7 @@
 { "execfile",   do_exec_file,"" },
 { "checkpoint", do_checkpoint,   "[delay [period]]" },
 { "addsymbol",  do_addsymbol," " },
+{ "loadsymbol", do_loadsymbol,   "" },
 { "initparam",  do_initparam,"[key] // key must be shorter  
than 16 chars" },

 { "sw99param",  do_sw99param,"" },
 #ifdef linux
diff --git a/util/m5/m5op.h b/util/m5/m5op.h
index d9fcb32..f2d85fe 100644
--- a/util/m5/m5op.h
+++ b/util/m5/m5op.h
@@ -59,6 +59,7 @@
 void m5_switchcpu(void);
 void m5_togglesync(void);
 void m5_addsymbol(uint64_t addr, char *symbol);
+void m5_loadsymbol();
 void m5_panic(void);
 void m5_work_begin(uint64_t workid, uint64_t threadid);
 void m5_work_end(uint64_t workid, uint64_t threadid);

--
To view, visit https://gem5-review.googlesource.com/3122
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib8bf4eac77170db8b2bf44796fd9d46b02217d03
Gerrit-Change-Number: 3122
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: arm: Fix incorrect handling of PMEVTYPERx_EL0 in PMU

2017-05-08 Thread Andreas Sandberg (Gerrit)
Andreas Sandberg has uploaded this change for review. (  
https://gem5-review.googlesource.com/3121



Change subject: arm: Fix incorrect handling of PMEVTYPERx_EL0 in PMU
..

arm: Fix incorrect handling of PMEVTYPERx_EL0 in PMU

The PMU model currently doesn't calculate the PMU event counter index
incorrectly for writes to the PMEVTYPER[0-5]_EL0 registers. Fix this
obvious mistake.

Change-Id: I2913eedddeb98480660e2d63948f6d727adf5ab8
Signed-off-by: Andreas Sandberg 
Reviewed-by: Sudhanshu Jha 
---
M src/arch/arm/pmu.cc
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/arch/arm/pmu.cc b/src/arch/arm/pmu.cc
index 3953070..ac2f475 100644
--- a/src/arch/arm/pmu.cc
+++ b/src/arch/arm/pmu.cc
@@ -163,7 +163,7 @@
 return;

   case MISCREG_PMEVTYPER0_EL0...MISCREG_PMEVTYPER5_EL0:
-setCounterTypeRegister(misc_reg - MISCREG_PMEVCNTR0_EL0, val);
+setCounterTypeRegister(misc_reg - MISCREG_PMEVTYPER0_EL0, val);
 return;

   case MISCREG_PMCCFILTR:

--
To view, visit https://gem5-review.googlesource.com/3121
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2913eedddeb98480660e2d63948f6d727adf5ab8
Gerrit-Change-Number: 3121
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: style: Treat PyBind headers as Python headers

2017-05-08 Thread Andreas Sandberg (Gerrit)

Hello Nikos Nikoleris, Curtis Dunham,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/3120

to review the following change.


Change subject: style: Treat PyBind headers as Python headers
..

style: Treat PyBind headers as Python headers

Some PyBind11 headers need to include Python.h. This means that we need
to include PyBind11 headers before any standard library headers. Enforce
this by applying the Python.hh rules for anything in pybind11/.

Change-Id: Id175a4f613960a17f84f98b81bfd02806e905d5a
Signed-off-by: Andreas Sandberg 
Reviewed-by: Nikos Nikoleris 
Reviewed-by: Curtis Dunham 
---
M util/style/sort_includes.py
1 file changed, 3 insertions(+), 0 deletions(-)



diff --git a/util/style/sort_includes.py b/util/style/sort_includes.py
index d1a25ee..cb88fec 100644
--- a/util/style/sort_includes.py
+++ b/util/style/sort_includes.py
@@ -158,6 +158,8 @@
 includes_re = (
 ('main', '""', _include_matcher_main()),
 ('python', '<>', _include_matcher_fname("^Python\.h$")),
+('pybind', '""', _include_matcher_fname("^pybind11/.*\.h$",
+delim='""')),
 ('c', '<>', _include_matcher_fname("^.*\.h$")),
 ('stl', '<>', _include_matcher_fname("^\w+$")),
 ('cc', '<>', _include_matcher_fname("^.*\.(hh|hxx|hpp|H)$")),
@@ -170,6 +172,7 @@

 block_order = (
 ('python', ),
+('pybind', ),
 ('main', ),
 ('c', ),
 ('stl', ),

--
To view, visit https://gem5-review.googlesource.com/3120
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id175a4f613960a17f84f98b81bfd02806e905d5a
Gerrit-Change-Number: 3120
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg 
Gerrit-Reviewer: Curtis Dunham 
Gerrit-Reviewer: Nikos Nikoleris 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: util: Fix incorrect return type in m5 writefile

2017-05-08 Thread Andreas Sandberg (Gerrit)
Andreas Sandberg has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/2960 )


Change subject: util: Fix incorrect return type in m5 writefile
..

util: Fix incorrect return type in m5 writefile

Change-Id: Ic24a1c3c1488e970ed27bb6b99262d201f535384
Signed-off-by: Andreas Sandberg 
Reviewed-by: Curtis Dunham 
Reviewed-on: https://gem5-review.googlesource.com/2960
Reviewed-by: Gabe Black 
---
M util/m5/m5.c
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Gabe Black: Looks good to me, approved
  Andreas Sandberg: Looks good to me, approved



diff --git a/util/m5/m5.c b/util/m5/m5.c
index 118ac94..8e6f4fc 100644
--- a/util/m5/m5.c
+++ b/util/m5/m5.c
@@ -122,7 +122,7 @@
 }
 }

-int
+void
 write_file(const char *filename)
 {
 fprintf(stderr, "opening %s\n", filename);

--
To view, visit https://gem5-review.googlesource.com/2960
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic24a1c3c1488e970ed27bb6b99262d201f535384
Gerrit-Change-Number: 2960
Gerrit-PatchSet: 3
Gerrit-Owner: Andreas Sandberg 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Curtis Dunham 
Gerrit-Reviewer: Gabe Black 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: kvm, arm: Fix incorrect PSTATE sync

2017-05-08 Thread Andreas Sandberg (Gerrit)

Hello Gabe Black, Nikos Nikoleris, Rahul Thakur,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/2963

to look at the new patch set (#2).

Change subject: kvm, arm: Fix incorrect PSTATE sync
..

kvm, arm: Fix incorrect PSTATE sync

The state transfer code wasn't reading back PSTATE correctly from the
CPU prior to updating the thread context and was incorreclty writing
the register as a 32-bit value when updating KVM. Correctly read back
the state before updating gem5's view of PSTATE and cast the value to
a uint64_t.

Change-Id: I0a6ff5b77b897c756b20a20f65c420f42386360f
Signed-off-by: Andreas Sandberg 
Reviewed-by: Nikos Nikoleris 
---
M src/arch/arm/kvm/armv8_cpu.cc
1 file changed, 2 insertions(+), 2 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/2963
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0a6ff5b77b897c756b20a20f65c420f42386360f
Gerrit-Change-Number: 2963
Gerrit-PatchSet: 2
Gerrit-Owner: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: Rahul Thakur 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: util: Correctly handle short writes in m5 (read|exec)file

2017-05-08 Thread Andreas Sandberg (Gerrit)

Hello Gabe Black, Nikos Nikoleris,

I'd like you to reexamine a change. Please visit

https://gem5-review.googlesource.com/2962

to look at the new patch set (#2).

Change subject: util: Correctly handle short writes in m5 (read|exec)file
..

util: Correctly handle short writes in m5 (read|exec)file

The m5 tool has subcommands that writes a file to the simulated file
system. The implementation of this command currently doesn't check the
return value from write, which leads to compiler warnings and
potentially incorrect behavior. Add the necessary checks.

Change-Id: If558534d3245aa24cf15edf06bd0af4c6ba3908c
Signed-off-by: Andreas Sandberg 
Reviewed-by: Nikos Nikoleris 
---
M util/m5/m5.c
1 file changed, 20 insertions(+), 4 deletions(-)


--
To view, visit https://gem5-review.googlesource.com/2962
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If558534d3245aa24cf15edf06bd0af4c6ba3908c
Gerrit-Change-Number: 2962
Gerrit-PatchSet: 2
Gerrit-Owner: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Nikos Nikoleris 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: scons: Replace str(foo.get_contents()) with foo.get_text_con...

2017-05-08 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/3084 )


Change subject: scons: Replace str(foo.get_contents()) with  
foo.get_text_contents().

..

scons: Replace str(foo.get_contents()) with foo.get_text_contents().

For Value() nodes, the get_contents() method and the get_text_contents()
method are just aliases to the same thing, both of which return a value
which has already been converted using str(). The str() which was included
explicitly in the SConscript was redundant, except that it showed that the
value from get_contents was being treated as a string. To avoid the
redundancy but to still leave a hint to the value's type, this change
converts those bits of code to use get_text_contents() and removes the
str().

Change-Id: I8f7da9b652f749e741b553c9a0e2248ae15ec3ca
Reviewed-on: https://gem5-review.googlesource.com/3084
Reviewed-by: Andreas Sandberg 
Maintainer: Andreas Sandberg 
---
M src/SConscript
1 file changed, 4 insertions(+), 4 deletions(-)

Approvals:
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved



diff --git a/src/SConscript b/src/SConscript
index c15da03..155dcf5 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -610,7 +610,7 @@
 def createSimObjectParamStruct(target, source, env):
 assert len(target) == 1 and len(source) == 1

-name = str(source[0].get_contents())
+name = source[0].get_text_contents()
 obj = sim_objects[name]

 code = code_formatter()
@@ -632,7 +632,7 @@
 def createEnumStrings(target, source, env):
 assert len(target) == 1 and len(source) == 2

-name = str(source[0].get_contents())
+name = source[0].get_text_contents()
 use_python = source[1].read()
 obj = all_enums[name]

@@ -645,7 +645,7 @@
 def createEnumDecls(target, source, env):
 assert len(target) == 1 and len(source) == 1

-name = str(source[0].get_contents())
+name = source[0].get_text_contents()
 obj = all_enums[name]

 code = code_formatter()
@@ -653,7 +653,7 @@
 code.write(target[0].abspath)

 def createSimObjectPyBindWrapper(target, source, env):
-name = source[0].get_contents()
+name = source[0].get_text_contents()
 obj = sim_objects[name]

 code = code_formatter()

--
To view, visit https://gem5-review.googlesource.com/3084
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I8f7da9b652f749e741b553c9a0e2248ae15ec3ca
Gerrit-Change-Number: 3084
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: scons: Make env['USE_PYTHON'] a source for createEnumStrings.

2017-05-08 Thread Gabe Black (Gerrit)
Gabe Black has submitted this change and it was merged. (  
https://gem5-review.googlesource.com/3083 )


Change subject: scons: Make env['USE_PYTHON'] a source for  
createEnumStrings.

..

scons: Make env['USE_PYTHON'] a source for createEnumStrings.

That clues scons in to the fact that the contents of the target of that
function depends on the value of that construction variable.

Change-Id: I803322ea1a178152da3d95de20acd4271c88
Reviewed-on: https://gem5-review.googlesource.com/3083
Reviewed-by: Jason Lowe-Power 
Reviewed-by: Paul Rosenfeld 
Reviewed-by: Andreas Sandberg 
Maintainer: Andreas Sandberg 
---
M src/SConscript
1 file changed, 4 insertions(+), 3 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, but someone else must approve
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
  Paul Rosenfeld: Looks good to me, approved



diff --git a/src/SConscript b/src/SConscript
index fd67533..c15da03 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -630,14 +630,15 @@
 return body

 def createEnumStrings(target, source, env):
-assert len(target) == 1 and len(source) == 1
+assert len(target) == 1 and len(source) == 2

 name = str(source[0].get_contents())
+use_python = source[1].read()
 obj = all_enums[name]

 code = code_formatter()
 obj.cxx_def(code)
-if env['USE_PYTHON']:
+if use_python:
 obj.pybind_def(code)
 code.write(target[0].abspath)

@@ -732,7 +733,7 @@
 extra_deps = [ py_source.tnode ]

 cc_file = File('enums/%s.cc' % name)
-env.Command(cc_file, Value(name),
+env.Command(cc_file, [Value(name), Value(env['USE_PYTHON'])],
 MakeAction(createEnumStrings, Transform("ENUM STR")))
 env.Depends(cc_file, depends + extra_deps)
 Source(cc_file)

--
To view, visit https://gem5-review.googlesource.com/3083
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I803322ea1a178152da3d95de20acd4271c88
Gerrit-Change-Number: 3083
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Paul Rosenfeld 
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in public/gem5[master]: config: Fix up some configs to not use CPU aliases.

2017-05-08 Thread Gabe Black (Gerrit)
Gabe Black has uploaded this change for review. (  
https://gem5-review.googlesource.com/3100



Change subject: config: Fix up some configs to not use CPU aliases.
..

config: Fix up some configs to not use CPU aliases.

Support for CPU aliases were removed recently.

Change-Id: I3c1173dc34170d8639d95e52bf660f248848f77f
---
M configs/common/CacheConfig.py
M configs/example/apu_se.py
M configs/example/arm/fs_power.py
M configs/example/etrace_replay.py
M configs/example/fs.py
M configs/example/se.py
M configs/network/Network.py
M configs/ruby/Ruby.py
8 files changed, 14 insertions(+), 13 deletions(-)



diff --git a/configs/common/CacheConfig.py b/configs/common/CacheConfig.py
index 52659e8..d9d0ae7 100644
--- a/configs/common/CacheConfig.py
+++ b/configs/common/CacheConfig.py
@@ -53,7 +53,7 @@
 if options.external_memory_system:
 ExternalCache =  
ExternalCacheFactory(options.external_memory_system)


-if options.cpu_type == "arm_detailed":
+if options.cpu_type == "O3_ARM_v7a_3":
 try:
 from O3_ARM_v7a import *
 except:
diff --git a/configs/example/apu_se.py b/configs/example/apu_se.py
index 28ba92b..f93442d 100644
--- a/configs/example/apu_se.py
+++ b/configs/example/apu_se.py
@@ -181,9 +181,9 @@
 fatal("GPU model requires ruby")

 # Currently the gpu model requires only timing or detailed CPU
-if not (options.cpu_type == "timing" or
-   options.cpu_type == "detailed"):
-fatal("GPU model requires timing or detailed CPU")
+if not (options.cpu_type == "TimingSimpleCPU" or
+   options.cpu_type == "DerivO3CPU"):
+fatal("GPU model requires TimingSimpleCPU or DerivO3CPU")

 # This file can support multiple compute units
 assert(options.num_compute_units >= 1)
diff --git a/configs/example/arm/fs_power.py  
b/configs/example/arm/fs_power.py

index 14dbae0..1bef00d 100644
--- a/configs/example/arm/fs_power.py
+++ b/configs/example/arm/fs_power.py
@@ -75,8 +75,8 @@
 bL.addOptions(parser)
 options = parser.parse_args()

-if options.cpu_type != "timing":
-m5.fatal("The power example script requires 'timing' CPUs.")
+if options.cpu_type != "TimingSimpleCPU":
+m5.fatal("The power example script requires TimingSimpleCPUs.")

 root = bL.build(options)

diff --git a/configs/example/etrace_replay.py  
b/configs/example/etrace_replay.py

index 0b0e37f..385a2d1 100644
--- a/configs/example/etrace_replay.py
+++ b/configs/example/etrace_replay.py
@@ -65,9 +65,9 @@

 numThreads = 1

-if options.cpu_type != "trace":
+if options.cpu_type != "TraceCPU":
 fatal("This is a script for elastic trace replay simulation, use "\
-"--cpu-type=trace\n");
+"--cpu-type=TraceCPU\n");

 if options.num_cpus > 1:
 fatal("This script does not support multi-processor trace replay.\n")
diff --git a/configs/example/fs.py b/configs/example/fs.py
index 8102edc..36365af 100644
--- a/configs/example/fs.py
+++ b/configs/example/fs.py
@@ -147,7 +147,8 @@

 if options.ruby:
 # Check for timing mode because ruby does not support atomic  
accesses
-if not (options.cpu_type == "detailed" or options.cpu_type  
== "timing"):

+if not (options.cpu_type == "DerivO3CPU" or
+options.cpu_type == "TimingSimpleCPU"):
 print >> sys.stderr, "Ruby requires TimingSimpleCPU or O3CPU!!"
 sys.exit(1)

diff --git a/configs/example/se.py b/configs/example/se.py
index b26bc91..0fc7d74 100644
--- a/configs/example/se.py
+++ b/configs/example/se.py
@@ -115,7 +115,7 @@
 idx += 1

 if options.smt:
-assert(options.cpu_type == "detailed")
+assert(options.cpu_type == "DerivO3CPU")
 return multiprocesses, idx
 else:
 return multiprocesses, 1
diff --git a/configs/network/Network.py b/configs/network/Network.py
index 1fbb381..567e6b0 100644
--- a/configs/network/Network.py
+++ b/configs/network/Network.py
@@ -34,7 +34,7 @@

 def define_options(parser):
 # By default, ruby uses the simple timing cpu
-parser.set_defaults(cpu_type="timing")
+parser.set_defaults(cpu_type="TimingSimpleCPU")

 parser.add_option("--topology", type="string", default="Crossbar",
   help="check configs/topologies for complete set")
diff --git a/configs/ruby/Ruby.py b/configs/ruby/Ruby.py
index 50b5ba9..8f5edb8 100644
--- a/configs/ruby/Ruby.py
+++ b/configs/ruby/Ruby.py
@@ -52,7 +52,7 @@

 def define_options(parser):
 # By default, ruby uses the simple timing cpu
-parser.set_defaults(cpu_type="timing")
+parser.set_defaults(cpu_type="TimingSimpleCPU")

 parser.add_option("--ruby-clock", action="store", type="string",
   default='2GHz',
@@ -212,6 +212,6 @@
 # currently, 2 scenarios warrant forwarding evictions to the CPU:
 # 1. The O3 model must keep the LSQ coherent with the caches
 # 2. The x86 mwait instruction is built on 

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

2017-05-08 Thread Cron Daemon
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby: 
FAILED!
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby: 
FAILED!
* build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing-ruby: 
FAILED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/simple-timing-ruby: 
FAILED!*** gem5: OK
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64a/simple-timing-ruby:
 FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64d/simple-timing-ruby:
 FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64i/simple-timing-ruby:
 FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/simple-timing-ruby:
 FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/simple-timing-ruby:
 FAILED!
* 
build/HSAIL_X86/tests/opt/quick/se/60.gpu-randomtest/x86/linux/gpu-randomtest-ruby-GPU_RfO:
 FAILED!
* build/HSAIL_X86/tests/opt/quick/se/04.gpu/x86/linux/gpu-ruby-GPU_RfO: 
FAILED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/simple-timing: 
CHANGED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/simple-atomic: 
CHANGED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/minor-timing: CHANGED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/o3-timing: CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64d/minor-timing: 
CHANGED!*** diff[simerr]: SKIPPED* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64d/simple-atomic: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64d/simple-timing: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64a/simple-atomic: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64a/minor-timing: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64a/simple-timing: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/minor-timing: 
CHANGED!
* build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/o3-timing: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/simple-atomic: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/simple-timing: 
CHANGED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/minor-timing: 
CHANGED!--- quick/se/02.insttest/riscv/linux-rv64m/o3-timing ---
 * build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/o3-timing: 
CHANGED!--- quick/se/02.insttest/riscv/linux-rv64m/simple-atomic ---
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/simple-atomic: 
CHANGED!*** gem5 stderr ***
*** diff[config.ini]: SKIPPED* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/simple-timing: 
CHANGED!
scons: *** [build/ALPHA/encumbered/eio/libexo.do] Error 1
scons: *** [build/ALPHA/encumbered/eio/eio.do] Error 1
scons: *** [build/ALPHA/encumbered/eio/libexo.fo] Error 1
scons: *** [build/ALPHA/encumbered/eio/eio.fo] Error 1
scons: *** [build/ALPHA/encumbered/eio/libexo.o] Error 1
scons: *** [build/ALPHA/encumbered/eio/eio.o] Error 1
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing: passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing: passed.
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic: passed.
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-simple:
 passed.
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-two-level:
 passed.
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest: passed.
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest-filter: 
passed.* build/NULL/tests/opt/quick/se/51.memcheck/null/none/memcheck: 
passed.
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem: passed.
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl: passed.
 * build/NULL/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby: 
passed.
* 
build/NULL_MOESI_hammer/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_hammer:
 passed.
* 
build/NULL_MESI_Two_Level/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MESI_Two_Level:
 passed.
* 
build/NULL_MOESI_CMP_directory/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_directory:
 passed.
* 
build/NULL_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_token:
 passed.
* build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic: passed.
* build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing: passed.
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic: passed.
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing: passed.
* build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing: passed.
*