[gem5-dev] open source full stack debugger?

2019-10-03 Thread Gabe Black
Hi folks. Recently I was trying to track down what gem5 was doing when it
seemed to get lost booting Android, and it occurred to me that debugging
with gdb wouldn't help very much since presumably most of the time gem5
would be running in userspace which it wouldn't have symbols for. On top of
that, while I might be able to see what was happening at right that
instance (when I randomly stopped execution), I wouldn't be able to easily
see what other processes were running and what they were doing, what the
kernel was up to, etc.

While writing a tool that would let you see all that sort of information is
definitely technically possible and would be extremely useful, it would
likely also be a lot of work. Does anybody know of anything out there
already which does something like this? Or that's close and could be used
as a starting point? GDB's options are limited since it wants to run as a
server you pipe commands to and get text responses from, and (although it
might be out of date) what I was reading made it sound like it didn't
handle multiple simultaneous contexts of execution completely. The LLVM
debugger lldb (I think?) looked like it would give better access to the
nuts and bolts. Reading about it on its site made it sound like it was
still in early stages though, where only a few arch/OS combinations that
are supported. Maybe the parts they're relying on support everything we'd
want, but just lldb which drives them is still incomplete?

In any case, at this point this is just an intriguing idea I'm kicking
around and looking at the feasibility of. Any helpful tips are welcome.

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

[gem5-dev] Change in gem5/gem5[master]: mem: Remove unused variable

2019-10-03 Thread Tommaso Marinelli (Gerrit)
Tommaso Marinelli  has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21380 )


Change subject: mem: Remove unused variable
..

mem: Remove unused variable

The variable *sys in dram_ctrl.cc was only used in an assert() check,
therefore it has been removed to allow building gem5.fast without
errors. A typo in a comment in abstract_mem.hh has also been corrected.

Change-Id: I2663545449ecfdb5a27c3574b79dd42beb4a49c8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21380
Tested-by: kokoro 
Reviewed-by: Anthony Gutierrez 
Maintainer: Anthony Gutierrez 
---
M src/mem/abstract_mem.hh
M src/mem/dram_ctrl.cc
2 files changed, 2 insertions(+), 3 deletions(-)

Approvals:
  Anthony Gutierrez: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/mem/abstract_mem.hh b/src/mem/abstract_mem.hh
index 655fc01..d92e707 100644
--- a/src/mem/abstract_mem.hh
+++ b/src/mem/abstract_mem.hh
@@ -161,7 +161,7 @@
 }
 }

-/** Pointor to the System object.
+/** Pointer to the System object.
  * This is used for getting the number of masters in the system which  
is

  * needed when registering stats
  */
diff --git a/src/mem/dram_ctrl.cc b/src/mem/dram_ctrl.cc
index 1352dbf..37db27c 100644
--- a/src/mem/dram_ctrl.cc
+++ b/src/mem/dram_ctrl.cc
@@ -2535,8 +2535,7 @@
 {
 using namespace Stats;

-System *sys = dram._system;
-assert(sys);
+assert(dram._system);
 const auto max_masters = dram._system->maxMasters();

 perBankRdBursts.init(dram.banksPerRank * dram.ranksPerChannel);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21380
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I2663545449ecfdb5a27c3574b79dd42beb4a49c8
Gerrit-Change-Number: 21380
Gerrit-PatchSet: 4
Gerrit-Owner: Tommaso Marinelli  
Gerrit-Reviewer: Anthony Gutierrez 
Gerrit-Reviewer: Tommaso Marinelli  
Gerrit-Reviewer: kokoro 
Gerrit-CC: Gabe Black 
Gerrit-CC: Jason Lowe-Power 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: tests: Fix a minor bug in fixture.py

2019-10-03 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/19768 )


Change subject: tests: Fix a minor bug in fixture.py
..

tests: Fix a minor bug in fixture.py

debug is a part of test_log object.

Signed-off-by: Ayaz Akram 
Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19768
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M tests/gem5/fixture.py
1 file changed, 2 insertions(+), 1 deletion(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/tests/gem5/fixture.py b/tests/gem5/fixture.py
index d39296e..21ea3d8 100644
--- a/tests/gem5/fixture.py
+++ b/tests/gem5/fixture.py
@@ -321,7 +321,8 @@
 t = self._getremotetime()
 except urllib2.URLError:
 # Problem checking the server, use the old files.
-log.test_log.debug("Could not contact server. Binaries may  
be old.")

+log.test_log.debug("Could not contact server. "
+   "Binaries may be old.")
 return
 # If the server version is more recent, download it
 if t > os.path.getmtime(self.filename):

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/19768
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
Gerrit-Change-Number: 19768
Gerrit-PatchSet: 5
Gerrit-Owner: Ayaz Akram 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: dev, misc: Fixing "may be used unitialized" compilation error

2019-10-03 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21399 )


Change subject: dev, misc: Fixing "may be used unitialized" compilation  
error

..

dev, misc: Fixing "may be used unitialized" compilation error

When compiling using "scons build/X86/base", "error: 'tx_queue_size'
may be used uninitialized in this function" is received (cc1plus:
all warnings treated as errors). tx_queue_size is now initialized
to zero to avoid this compilation error.

Change-Id: I0e2a4fd9ad6053c4c4124c83da9a7919778bcc52
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21399
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/dev/net/etherlink.cc
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/dev/net/etherlink.cc b/src/dev/net/etherlink.cc
index 448bb88..e250639 100644
--- a/src/dev/net/etherlink.cc
+++ b/src/dev/net/etherlink.cc
@@ -242,7 +242,7 @@
 parent->schedule(doneEvent, event_time);
 }

-size_t tx_queue_size;
+size_t tx_queue_size = 0;
 if (optParamIn(cp, base + ".tx_queue_size", tx_queue_size)) {
 for (size_t idx = 0; idx < tx_queue_size; ++idx) {
 Tick tick;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21399
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I0e2a4fd9ad6053c4c4124c83da9a7919778bcc52
Gerrit-Change-Number: 21399
Gerrit-PatchSet: 3
Gerrit-Owner: Bobby R. Bruce 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: configs: Isolate ISA related object lists

2019-10-03 Thread Daniel Carvalho (Gerrit)
Daniel Carvalho has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21439 )



Change subject: configs: Isolate ISA related object lists
..

configs: Isolate ISA related object lists

Some objects are not compiled when using NULL ISA, and therefore
their object lists cannot exist.

Change-Id: I93ec576229916c892de50bb6c73cd602e18a3654
Signed-off-by: Daniel R. Carvalho 
---
M configs/common/ObjectList.py
1 file changed, 4 insertions(+), 3 deletions(-)



diff --git a/configs/common/ObjectList.py b/configs/common/ObjectList.py
index c197439..c477837 100644
--- a/configs/common/ObjectList.py
+++ b/configs/common/ObjectList.py
@@ -153,10 +153,11 @@
 self._is_obj_class):
 self._sub_classes[name] = cls

-bp_list = ObjectList(m5.objects.BranchPredictor)
-cpu_list = CPUList(m5.objects.BaseCPU)
+if m5.defines.buildEnv['TARGET_ISA'] != "null":
+bp_list = ObjectList(m5.objects.BranchPredictor)
+cpu_list = CPUList(m5.objects.BaseCPU)
+indirect_bp_list = ObjectList(m5.objects.IndirectPredictor)
 hwp_list = ObjectList(m5.objects.BasePrefetcher)
-indirect_bp_list = ObjectList(m5.objects.IndirectPredictor)
 mem_list = ObjectList(m5.objects.AbstractMemory)

 # Platform aliases. The platforms listed here might not be compiled,

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21439
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I93ec576229916c892de50bb6c73cd602e18a3654
Gerrit-Change-Number: 21439
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Carvalho 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: tests: Fix a minor bug in fixture.py

2019-10-03 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has uploaded a new patch set (#4) to the change originally  
created by Ayaz Akram. (  
https://gem5-review.googlesource.com/c/public/gem5/+/19768 )


Change subject: tests: Fix a minor bug in fixture.py
..

tests: Fix a minor bug in fixture.py

debug is a part of test_log object.

Signed-off-by: Ayaz Akram 
Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
---
M tests/gem5/fixture.py
1 file changed, 2 insertions(+), 1 deletion(-)


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/19768
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
Gerrit-Change-Number: 19768
Gerrit-PatchSet: 4
Gerrit-Owner: Ayaz Akram 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: newpatchset
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: tests: Fix a minor bug in fixture.py

2019-10-03 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has uploaded a new patch set (#3) to the change originally  
created by Ayaz Akram. (  
https://gem5-review.googlesource.com/c/public/gem5/+/19768 )


Change subject: tests: Fix a minor bug in fixture.py
..

tests: Fix a minor bug in fixture.py

debug is a part of test_log object.

Signed-off-by: Ayaz Akram 
Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
---
M tests/gem5/fixture.py
1 file changed, 2 insertions(+), 1 deletion(-)


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/19768
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I56d950483c1d86b76b4f652741d2323c1b078e3e
Gerrit-Change-Number: 19768
Gerrit-PatchSet: 3
Gerrit-Owner: Ayaz Akram 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: newpatchset
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: dev, misc: Fixing "may be used unitialized" compilation error

2019-10-03 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21399 )



Change subject: dev, misc: Fixing "may be used unitialized" compilation  
error

..

dev, misc: Fixing "may be used unitialized" compilation error

When compiling using "scons build/X86/base", "error: 'tx_queue_size'
may be used uninitialized in this function" is received (cc1plus:
all warnings treated as errors). tx_queue_size is now initialized
to zero to avoid this compilation error.

Change-Id: I0e2a4fd9ad6053c4c4124c83da9a7919778bcc52
---
M src/dev/net/etherlink.cc
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/dev/net/etherlink.cc b/src/dev/net/etherlink.cc
index 448bb88..e250639 100644
--- a/src/dev/net/etherlink.cc
+++ b/src/dev/net/etherlink.cc
@@ -242,7 +242,7 @@
 parent->schedule(doneEvent, event_time);
 }

-size_t tx_queue_size;
+size_t tx_queue_size = 0;
 if (optParamIn(cp, base + ".tx_queue_size", tx_queue_size)) {
 for (size_t idx = 0; idx < tx_queue_size; ++idx) {
 Tick tick;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21399
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I0e2a4fd9ad6053c4c4124c83da9a7919778bcc52
Gerrit-Change-Number: 21399
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: sim-se: Fix invalid delete of params on clone

2019-10-03 Thread Brandon Potter (Gerrit)
Brandon Potter has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/18068 )


Change subject: sim-se: Fix invalid delete of params on clone
..

sim-se: Fix invalid delete of params on clone

The params pointer is kept by the SimObject and should not be deleted
until gem5 exits. Added a to do to remember this object is leaked.

Change-Id: I46cc23a09e4e9b6bc2fdcd961148324c41820815
Signed-off-by: Jason Lowe-Power 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18068
Tested-by: kokoro 
Maintainer: Brandon Potter 
Reviewed-by: Brandon Potter 
---
M src/sim/syscall_emul.hh
1 file changed, 3 insertions(+), 1 deletion(-)

Approvals:
  Brandon Potter: Looks good to me, approved; Looks good to me, approved
  Jason Lowe-Power: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/sim/syscall_emul.hh b/src/sim/syscall_emul.hh
index 130791d..fb6e9a1 100644
--- a/src/sim/syscall_emul.hh
+++ b/src/sim/syscall_emul.hh
@@ -1562,7 +1562,9 @@
 pp->useArchPT = p->useArchPT;
 pp->kvmInSE = p->kvmInSE;
 Process *cp = pp->create();
-delete pp;
+// TODO: there is no way to know when the Process SimObject is done  
with

+// the params pointer. Both the params pointer (pp) and the process
+// pointer (cp) are normally managed in python and are never cleaned  
up.


 Process *owner = ctc->getProcessPtr();
 ctc->setProcessPtr(cp);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18068
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I46cc23a09e4e9b6bc2fdcd961148324c41820815
Gerrit-Change-Number: 18068
Gerrit-PatchSet: 6
Gerrit-Owner: Jason Lowe-Power 
Gerrit-Reviewer: Alexandru Duțu 
Gerrit-Reviewer: Brandon Potter 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: mem: Remove unused variable

2019-10-03 Thread Tommaso Marinelli (Gerrit)
Tommaso Marinelli  has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21380 )



Change subject: mem: Remove unused variable
..

mem: Remove unused variable

The variable *sys in dram_ctrl.cc was only used in an assert() check,
therefore it has been removed to allow building gem5.fast without
errors. A typo in a comment in abstract_mem.hh has also been corrected.

Change-Id: I2663545449ecfdb5a27c3574b79dd42beb4a49c8
---
M src/mem/abstract_mem.hh
M src/mem/dram_ctrl.cc
2 files changed, 2 insertions(+), 3 deletions(-)



diff --git a/src/mem/abstract_mem.hh b/src/mem/abstract_mem.hh
index 655fc01..d92e707 100644
--- a/src/mem/abstract_mem.hh
+++ b/src/mem/abstract_mem.hh
@@ -161,7 +161,7 @@
 }
 }

-/** Pointor to the System object.
+/** Pointer to the System object.
  * This is used for getting the number of masters in the system which  
is

  * needed when registering stats
  */
diff --git a/src/mem/dram_ctrl.cc b/src/mem/dram_ctrl.cc
index 1352dbf..37db27c 100644
--- a/src/mem/dram_ctrl.cc
+++ b/src/mem/dram_ctrl.cc
@@ -2535,8 +2535,7 @@
 {
 using namespace Stats;

-System *sys = dram._system;
-assert(sys);
+assert(dram._system);
 const auto max_masters = dram._system->maxMasters();

 perBankRdBursts.init(dram.banksPerRank * dram.ranksPerChannel);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21380
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I2663545449ecfdb5a27c3574b79dd42beb4a49c8
Gerrit-Change-Number: 21380
Gerrit-PatchSet: 1
Gerrit-Owner: Tommaso Marinelli  
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Cron /z/m5/regression/do-regression quick

2019-10-03 Thread Cron Daemon
* build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby: 
FAILED!
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual:
 FAILED!
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing: 
FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic: FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing: FAILED!
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic: 
FAILED!
* 
build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual:
 FAILED!
* 
build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-two-level:
 FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby: 
FAILED!
* 
build/ALPHA/tests/opt/quick/se/03.learning-gem5/alpha/linux/learning-gem5-p1-simple:
 FAILED!
* build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing-mt: 
FAILED!
* 
build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic:
 FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing: FAILED!
* build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/minor-timing: FAILED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing: FAILED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby: 
FAILED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing: FAILED!
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-two-level:
 FAILED!
* build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic: FAILED!
* 
build/MIPS/tests/opt/quick/se/03.learning-gem5/mips/linux/learning-gem5-p1-simple:
 FAILED!
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-dram-ctrl: FAILED!
* build/NULL/tests/opt/quick/se/80.dram-openpage/null/none/dram-lowp: 
FAILED!
* build/NULL/tests/opt/quick/se/70.tgen/null/none/tgen-simple-mem: FAILED!
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest-filter: FAILED!
* build/NULL/tests/opt/quick/se/50.memtest/null/none/memtest: FAILED!
* build/NULL/tests/opt/quick/se/51.memcheck/null/none/memcheck: FAILED!
* build/NULL/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby: FAILED!
* build/NULL/tests/opt/quick/se/80.dram-closepage/null/none/dram-lowp: 
FAILED!
* 
build/NULL_MOESI_hammer/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_hammer:
 FAILED!
* 
build/NULL_MESI_Two_Level/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MESI_Two_Level:
 FAILED!
* 
build/NULL_MOESI_CMP_token/tests/opt/quick/se/60.rubytest/null/none/rubytest-ruby-MOESI_CMP_token:
 FAILED!
* build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic: FAILED!
* build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing: FAILED!
* build/SPARC/tests/opt/quick/se/10.mcf/sparc/linux/simple-atomic: FAILED!
* build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-atomic: FAILED!
* build/SPARC/tests/opt/quick/se/70.twolf/sparc/linux/simple-timing: FAILED!
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-timing-mp:
 FAILED!
* build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-timing: 
FAILED!
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp:
 FAILED!
* 
build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp:
 FAILED!
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing: FAILED!
* build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing: FAILED!
* build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-atomic: 
FAILED!
* build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-atomic: 
FAILED!
* 
build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-two-level:
 FAILED!
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby: 
FAILED!
* build/SPARC/tests/opt/quick/se/50.vortex/sparc/linux/simple-timing: 
FAILED!
* build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic: FAILED!
* 
build/SPARC/tests/opt/quick/se/03.learning-gem5/sparc/linux/learning-gem5-p1-simple:
 FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/simple-atomic: 
FAILED!
* build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64f/o3-timing: 
FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/minor-timing: 
FAILED!
* build/RISCV/tests/opt/quick/se/00.hello/riscv/linux/simple-atomic: FAILED!
* 
build/RISCV/tests/opt/quick/se/02.insttest/riscv/linux-rv64m/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-rv64d/minor-timing: 
FAILED!
* 

[gem5-dev] Change in gem5/gem5[master]: arch-arm: Set CM bit in DataAbort

2019-10-03 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21305 )


Change subject: arch-arm: Set CM bit in DataAbort
..

arch-arm: Set CM bit in DataAbort

The CM bit in a DataAbort ISS indicates whether the Data Abort came from
a cache maintenance or address translation instruction.

Change-Id: I520446550581c8dd0507a8989935db7047be
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Andreas Sandberg 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21305
Maintainer: Andreas Sandberg 
Tested-by: kokoro 
---
M src/arch/arm/faults.cc
M src/arch/arm/faults.hh
2 files changed, 9 insertions(+), 1 deletion(-)

Approvals:
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc
index c5858c9..b006d12 100644
--- a/src/arch/arm/faults.cc
+++ b/src/arch/arm/faults.cc
@@ -1369,6 +1369,9 @@

 // Add on the data abort specific fields to the generic abort ISS value
 val  = AbortFault::iss();
+
+val |= cm << 8;
+
 // ISS is valid if not caused by a stage 1 page table walk, and when  
taken

 // to AArch64 only when directed to EL2
 if (!s1ptw && stage2 && (!to64 || toEL == EL2)) {
@@ -1412,6 +1415,9 @@
 isv = true;
 ar  = val;
 break;
+  case CM:
+cm  = val;
+break;
   // Just ignore unknown ID's
   default:
 break;
diff --git a/src/arch/arm/faults.hh b/src/arch/arm/faults.hh
index 5e68875..645a461 100644
--- a/src/arch/arm/faults.hh
+++ b/src/arch/arm/faults.hh
@@ -136,6 +136,7 @@
 SAS,   // DataAbort: Syndrome Access Size
 SSE,   // DataAbort: Syndrome Sign Extend
 SRT,   // DataAbort: Syndrome Register Transfer
+CM,// DataAbort: Cache Maintenance/Address Translation Op

 // AArch64 only
 SF,// DataAbort: width of the accessed register is SixtyFour
@@ -482,6 +483,7 @@
 uint8_t sas;
 uint8_t sse;
 uint8_t srt;
+uint8_t cm;

 // AArch64 only
 bool sf;
@@ -491,7 +493,7 @@
   bool _stage2 = false, ArmFault::TranMethod _tranMethod =  
ArmFault::UnknownTran) :

 AbortFault(_addr, _write, _domain, _source, _stage2,
   _tranMethod),
-isv(false), sas (0), sse(0), srt(0), sf(false), ar(false)
+isv(false), sas (0), sse(0), srt(0), cm(0), sf(false), ar(false)
 {}

 ExceptionClass ec(ThreadContext *tc) const override;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21305
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I520446550581c8dd0507a8989935db7047be
Gerrit-Change-Number: 21305
Gerrit-PatchSet: 2
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[master]: arch-arm: Annotate CM flag in AA64 CM Instructions

2019-10-03 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/21306 )


Change subject: arch-arm: Annotate CM flag in AA64 CM Instructions
..

arch-arm: Annotate CM flag in AA64 CM Instructions

DC ZVA instruction is not classified as a cache maintenance instruction,
and therefore its execution cannot cause this field to be set to 1.

Change-Id: I0f30db1e6fc629dc52293edfb2bac4cf99ee49cc
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Andreas Sandberg 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21306
Tested-by: kokoro 
Maintainer: Andreas Sandberg 
---
M src/arch/arm/isa/insts/data64.isa
1 file changed, 14 insertions(+), 4 deletions(-)

Approvals:
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/arm/isa/insts/data64.isa  
b/src/arch/arm/isa/insts/data64.isa

index f5be476..fcce011 100644
--- a/src/arch/arm/isa/insts/data64.isa
+++ b/src/arch/arm/isa/insts/data64.isa
@@ -410,6 +410,12 @@
 exec_output += DCStore64InitiateAcc.subst(msrDCZVAIop);
 exec_output += Store64CompleteAcc.subst(msrDCZVAIop);

+# Cache maintenance fault annotation
+# The DC ZVA instruction is not classified as a cache maintenance
+# instruction, and therefore we shouldn't annotate it
+cachem_fa = '''
+fault->annotate(ArmFault::CM, 1);
+'''

 msrdccvau_ea_code = msr_check_code
 msrdccvau_ea_code += '''
@@ -425,7 +431,8 @@
  { "ea_code" : msrdccvau_ea_code,
"memacc_code" : ';',
"use_uops" : 0,
-   "op_wb" : ";", "fa_code" : ";"},
+   "op_wb" : ";",
+   "fa_code" : cachem_fa},
  ['IsStore', 'IsMemRef']);
 header_output += DCStore64Declare.subst(msrDCCVAUIop);
 decoder_output += DCStore64Constructor.subst(msrDCCVAUIop);
@@ -448,7 +455,8 @@
  { "ea_code" : msrdccvac_ea_code,
"memacc_code" : ';',
"use_uops" : 0,
-   "op_wb" : ";", "fa_code" : ";"},
+   "op_wb" : ";",
+   "fa_code" : cachem_fa},
  ['IsStore', 'IsMemRef']);
 header_output += DCStore64Declare.subst(msrDCCVACIop);
 decoder_output += DCStore64Constructor.subst(msrDCCVACIop);
@@ -471,7 +479,8 @@
   { "ea_code" : msrdccivac_ea_code,
 "memacc_code" : ';',
 "use_uops" : 0,
-"op_wb" : ";", "fa_code" : ";"},
+"op_wb" : ";",
+"fa_code" : cachem_fa},
   ['IsStore', 'IsMemRef']);
 header_output += DCStore64Declare.subst(msrDCCIVACIop);
 decoder_output += DCStore64Constructor.subst(msrDCCIVACIop);
@@ -500,7 +509,8 @@
  { "ea_code" : msrdcivac_ea_code,
"memacc_code" : ';',
"use_uops" : 0,
-   "op_wb" : ";", "fa_code" : ";"},
+   "op_wb" : ";",
+   "fa_code" : cachem_fa},
  ['IsStore', 'IsMemRef']);
 header_output += DCStore64Declare.subst(msrDCIVACIop);
 decoder_output += DCStore64Constructor.subst(msrDCIVACIop);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/21306
To unsubscribe, or for help writing mail filters, visit  
https://gem5-review.googlesource.com/settings


Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I0f30db1e6fc629dc52293edfb2bac4cf99ee49cc
Gerrit-Change-Number: 21306
Gerrit-PatchSet: 4
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: kokoro 
Gerrit-CC: Bobby R. Bruce 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev