[gem5-dev] Build failed in Jenkins: nightly #321

2021-05-24 Thread jenkins-no-reply--- via gem5-dev
See 

Changes:


--
[...truncated 490.92 KB...]
[ RUN  ] TrieTestData.SingleEntry
[   OK ] TrieTestData.SingleEntry (0 ms)
[ RUN  ] TrieTestData.TwoOverlappingEntries
[   OK ] TrieTestData.TwoOverlappingEntries (0 ms)
[ RUN  ] TrieTestData.TwoOverlappingEntriesReversed
[   OK ] TrieTestData.TwoOverlappingEntriesReversed (0 ms)
[ RUN  ] TrieTestData.TwoIndependentEntries
[   OK ] TrieTestData.TwoIndependentEntries (0 ms)
[ RUN  ] TrieTestData.TwoEntries
[   OK ] TrieTestData.TwoEntries (0 ms)
[ RUN  ] TrieTestData.RemovingEntries
[   OK ] TrieTestData.RemovingEntries (0 ms)
[--] 7 tests from TrieTestData (0 ms total)

[--] Global test environment tear-down
build/NULL/base/types.test.prof 
--gtest_output=xml:build/NULL/unittests.prof/base/types.test.xml
[==] 7 tests from 1 test suite ran. (0 ms total)
[  PASSED  ] 7 tests.
Running main() from build/googletest/googletest/src/gtest_main.cc
[==] Running 19 tests from 3 test suites.
[--] Global test environment set-up.
[--] 10 tests from CyclesTest
[ RUN  ] CyclesTest.NoCycles
[   OK ] CyclesTest.NoCycles (0 ms)
[ RUN  ] CyclesTest.PrefixIncrement
[   OK ] CyclesTest.PrefixIncrement (0 ms)
[ RUN  ] CyclesTest.PrefixDecrement
[   OK ] CyclesTest.PrefixDecrement (0 ms)
[ RUN  ] CyclesTest.InPlaceAddition
[   OK ] CyclesTest.InPlaceAddition (0 ms)
[ RUN  ] CyclesTest.GreaterThanLessThan
[   OK ] CyclesTest.GreaterThanLessThan (0 ms)
[ RUN  ] CyclesTest.AddCycles
[   OK ] CyclesTest.AddCycles (0 ms)
[ RUN  ] CyclesTest.SubtractCycles
[   OK ] CyclesTest.SubtractCycles (0 ms)
[ RUN  ] CyclesTest.ShiftRight
[   OK ] CyclesTest.ShiftRight (0 ms)
[ RUN  ] CyclesTest.ShiftLeft
[   OK ] CyclesTest.ShiftLeft (0 ms)
[ RUN  ] CyclesTest.OutStream
[   OK ] CyclesTest.OutStream (0 ms)
[--] 10 tests from CyclesTest (0 ms total)

[--] 5 tests from MicroPCTest
[ RUN  ] MicroPCTest.CheckMicroPCRomBit
[   OK ] MicroPCTest.CheckMicroPCRomBit (0 ms)
[ RUN  ] MicroPCTest.RomMicroPCTest
[   OK ] MicroPCTest.RomMicroPCTest (0 ms)
[ RUN  ] MicroPCTest.NormalMicroPCTest
[   OK ] MicroPCTest.NormalMicroPCTest (0 ms)
[ RUN  ] MicroPCTest.IsRomMicroPCTest
[   OK ] MicroPCTest.IsRomMicroPCTest (0 ms)
[ RUN  ] MicroPCTest.IsNotRomMicroPCTest
[   OK ] MicroPCTest.IsNotRomMicroPCTest (0 ms)
[--] 5 tests from MicroPCTest (0 ms total)

[--] 4 tests from TypesTest
[ RUN  ] TypesTest.FloatToBits32
[   OK ] TypesTest.FloatToBits32 (0 ms)
[ RUN  ] TypesTest.floatToBits64
[   OK ] TypesTest.floatToBits64 (0 ms)
[ RUN  ] TypesTest.floatsToBitsDoubleInput
[   OK ] TypesTest.floatsToBitsDoubleInput (0 ms)
[ RUN  ] TypesTest.floatsToBitsFloatInput
[   OK ] TypesTest.floatsToBitsFloatInput (0 ms)
[--] 4 tests from TypesTest (0 ms total)

[--] Global test environment tear-down
build/NULL/base/uncontended_mutex.test.prof 
--gtest_output=xml:build/NULL/unittests.prof/base/uncontended_mutex.test.xml
[==] 19 tests from 3 test suites ran. (0 ms total)
[  PASSED  ] 19 tests.
Running main() from build/googletest/googletest/src/gtest_main.cc
[==] Running 2 tests from 1 test suite.
[--] Global test environment set-up.
[--] 2 tests from UncontendedMutex
[ RUN  ] UncontendedMutex.Lock
build/NULL/sim/byteswap.test.prof 
--gtest_output=xml:build/NULL/unittests.prof/sim/byteswap.test.xml
Running main() from build/googletest/googletest/src/gtest_main.cc
[==] Running 8 tests from 1 test suite.
[--] Global test environment set-up.
[--] 8 tests from ByteswapTest
[ RUN  ] ByteswapTest.swap_byte64
[   OK ] ByteswapTest.swap_byte64 (0 ms)
[ RUN  ] ByteswapTest.swap_byte32
[   OK ] ByteswapTest.swap_byte32 (0 ms)
[ RUN  ] ByteswapTest.swap_byte16
[   OK ] ByteswapTest.swap_byte16 (0 ms)
[ RUN  ] ByteswapTest.swap_byte
[   OK ] ByteswapTest.swap_byte (0 ms)
[ RUN  ] ByteswapTest.htog
[   OK ] ByteswapTest.htog (0 ms)
[ RUN  ] ByteswapTest.gtoh
[   OK ] ByteswapTest.gtoh (0 ms)
[ RUN  ] ByteswapTest.betole
[   OK ] ByteswapTest.betole (0 ms)
[ RUN  ] ByteswapTest.letobe
[   OK ] ByteswapTest.letobe (0 ms)
[--] 8 tests from ByteswapTest (0 ms total)

[--] Global test environment tear-down
[==] 8 tests from 1 test suite ran. (0 ms total)
[  PASSED  ] 8 tests.
build/NULL/sim/guest_abi.test.prof 
--gtest_output=xml:build/NULL/unittests.prof/sim/guest_abi.test.xml
Running main() from build/googletest/googletest/src/gtest_main.cc
[==] Running 7 tests from 1 test suite.
[--] Global test environment set-up.
[--] 7 tests from GuestABI
[ RUN  ] GuestABI.ABI_1D_args
[   OK ] 

[gem5-dev] Change in gem5/gem5[develop]: mem: Add a ThreadContext helper constructor for PortProxy.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45863 )


Change subject: mem: Add a ThreadContext helper constructor for PortProxy.
..

mem: Add a ThreadContext helper constructor for PortProxy.

This creates a sendFunctionalFunc which calls the tc->sendFunctional.

Change-Id: I97ac2fb52d4f61420a09b37d70d4745c779234c1
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45863
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/mem/port_proxy.cc
M src/mem/port_proxy.hh
2 files changed, 23 insertions(+), 9 deletions(-)

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



diff --git a/src/mem/port_proxy.cc b/src/mem/port_proxy.cc
index f12ba8b..34612f0 100644
--- a/src/mem/port_proxy.cc
+++ b/src/mem/port_proxy.cc
@@ -38,6 +38,18 @@
 #include "mem/port_proxy.hh"

 #include "base/chunk_generator.hh"
+#include "cpu/thread_context.hh"
+#include "mem/port.hh"
+
+PortProxy::PortProxy(ThreadContext *tc, unsigned int cache_line_size) :
+PortProxy([tc](PacketPtr pkt)->void { tc->sendFunctional(pkt); },
+cache_line_size)
+{}
+
+PortProxy::PortProxy(const RequestPort , unsigned int  
cache_line_size) :

+PortProxy([](PacketPtr pkt)->void { port.sendFunctional(pkt); },
+cache_line_size)
+{}

 void
 PortProxy::readBlobPhys(Addr addr, Request::Flags flags,
diff --git a/src/mem/port_proxy.hh b/src/mem/port_proxy.hh
index 9f3945b..cad9271 100644
--- a/src/mem/port_proxy.hh
+++ b/src/mem/port_proxy.hh
@@ -60,9 +60,12 @@
 #include 
 #include 

-#include "mem/port.hh"
+#include "mem/protocol/functional.hh"
 #include "sim/byteswap.hh"

+class RequestPort;
+class ThreadContext;
+
 /**
  * This object is a proxy for a port or other object which implements the
  * functional response protocol, to be used for debug accesses.
@@ -97,16 +100,15 @@
 }

   public:
-PortProxy(SendFunctionalFunc func, unsigned int cacheLineSize) :
-sendFunctional(func), _cacheLineSize(cacheLineSize)
+PortProxy(SendFunctionalFunc func, unsigned int cache_line_size) :
+sendFunctional(func), _cacheLineSize(cache_line_size)
 {}
-PortProxy(const RequestPort , unsigned int cacheLineSize) :
-sendFunctional([](PacketPtr pkt)->void {
-port.sendFunctional(pkt);
-}), _cacheLineSize(cacheLineSize)
-{}
-virtual ~PortProxy() { }

+// Helpers which create typical SendFunctionalFunc-s from other  
objects.

+PortProxy(ThreadContext *tc, unsigned int cache_line_size);
+PortProxy(const RequestPort , unsigned int cache_line_size);
+
+virtual ~PortProxy() {}


 /** Fixed functionality for use in base classes. */

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I97ac2fb52d4f61420a09b37d70d4745c779234c1
Gerrit-Change-Number: 45863
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: Yu-hsin Wang 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: base: Construct debug flags on the heap

2021-05-24 Thread Jui-min Lee (Gerrit) via gem5-dev
Jui-min Lee has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45582 )


Change subject: base: Construct debug flags on the heap
..

base: Construct debug flags on the heap

Debug flags were directly declared as global objects; however, the
destruction order of global objects in different translation units are
not defined in c++, so the destructor of other objects cannot safely
utilize debug flags to output extra information.

We now define those flags as references to objects allocated on the heap
so our flags will never get destructed. Note that this won't really
introduce any memory leak, as the program is getting terminated anyway.

Change-Id: I21f84ae17ac20653636ca67dc0c7855c0149
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45582
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
Reviewed-by: Gabe Black 
---
M src/SConscript
1 file changed, 21 insertions(+), 7 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/SConscript b/src/SConscript
index 7a6f9c1..cc51b9f 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -1177,18 +1177,32 @@
 n, compound, desc, fmt = flag
 assert n == name

+# We intentionally make flag a reference to a heap allocated  
object so

+# (1) It has a similar interface to a global object like before
+# (2) It does not get destructed at the end of simulation
+# The second property is desirable as global objects from different
+# translation units do not have a defined destruction order, so  
it'll
+# be unsafe to access debug flags in their destructor in such  
cases.

 if not compound:
+code('SimpleFlag& $name = *(')
+code.indent()
 if fmt:
-code('SimpleFlag $name("$name", "$desc", true);')
+code('new SimpleFlag("$name", "$desc", true)')
 else:
-code('SimpleFlag $name("$name", "$desc", false);')
+code('new SimpleFlag("$name", "$desc", false)')
+code.dedent()
+code(');')
 else:
-comp_code('CompoundFlag $name("$name", "$desc", {')
+comp_code('CompoundFlag& $name = *(')
+comp_code.indent()
+comp_code('new CompoundFlag("$name", "$desc", {')
 comp_code.indent()
 for flag in compound:
 comp_code('&$flag,')
 comp_code.dedent()
-comp_code('});')
+comp_code('})')
+comp_code.dedent()
+comp_code(');')

 code.append(comp_code)
 code()
@@ -1221,11 +1235,11 @@
 code('class SimpleFlag;')

 if compound:
-code('extern CompoundFlag $name;')
+code('extern CompoundFlag& $name;')
 for flag in compound:
-code('extern SimpleFlag $flag;')
+code('extern SimpleFlag& $flag;')
 else:
-code('extern SimpleFlag $name;')
+code('extern SimpleFlag& $name;')

 code('''
 }

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I21f84ae17ac20653636ca67dc0c7855c0149
Gerrit-Change-Number: 45582
Gerrit-PatchSet: 7
Gerrit-Owner: Jui-min Lee 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jui-min Lee 
Gerrit-Reviewer: kokoro 
Gerrit-CC: Jason Lowe-Power 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: scons: Increase the minimum version of clang to 6.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45621 )


Change subject: scons: Increase the minimum version of clang to 6.
..

scons: Increase the minimum version of clang to 6.

Change-Id: I41f7e96922c273827c72df06145f0fe433936b59
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45621
Reviewed-by: Daniel Carvalho 
Reviewed-by: Matt Sinclair 
Reviewed-by: Jason Lowe-Power 
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
---
M SConstruct
1 file changed, 2 insertions(+), 2 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved
  Matt Sinclair: Looks good to me, but someone else must approve
  Daniel Carvalho: Looks good to me, but someone else must approve
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/SConstruct b/SConstruct
index d8819e8..041701f 100755
--- a/SConstruct
+++ b/SConstruct
@@ -376,8 +376,8 @@
   '-fno-builtin-realloc', '-fno-builtin-free'])

 elif main['CLANG']:
-if compareVersions(main['CXXVERSION'], "3.9") < 0:
-error('clang version 3.9 or newer required.\n'
+if compareVersions(main['CXXVERSION'], "6") < 0:
+error('clang version 6 or newer required.\n'
   'Installed version:', main['CXXVERSION'])

 # Set the Link-Time Optimization (LTO) flags if enabled.

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I41f7e96922c273827c72df06145f0fe433936b59
Gerrit-Change-Number: 45621
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Kyle Roarty 
Gerrit-Reviewer: Matt Poremba 
Gerrit-Reviewer: Matt Sinclair 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: cpu,fastmodel: Get rid of unused (read|set)FuncExeInst.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45919 )



Change subject: cpu,fastmodel: Get rid of unused (read|set)FuncExeInst.
..

cpu,fastmodel: Get rid of unused (read|set)FuncExeInst.

These zombie methods were plumbed around and looked like they might do
something, but nothing actually uses them.

Change-Id: I1e85669202e2ecb10370e6c6eb8364eb47085cf3
---
M src/arch/arm/fastmodel/iris/thread_context.hh
M src/cpu/checker/thread_context.hh
M src/cpu/o3/cpu.cc
M src/cpu/o3/thread_context.cc
M src/cpu/o3/thread_context.hh
M src/cpu/simple_thread.cc
M src/cpu/simple_thread.hh
M src/cpu/thread_context.hh
M src/cpu/thread_state.hh
9 files changed, 0 insertions(+), 51 deletions(-)



diff --git a/src/arch/arm/fastmodel/iris/thread_context.hh  
b/src/arch/arm/fastmodel/iris/thread_context.hh

index d093138..52085a0 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.hh
+++ b/src/arch/arm/fastmodel/iris/thread_context.hh
@@ -379,13 +379,6 @@
 panic("%s not implemented.", __FUNCTION__);
 }

-// Same with st cond failures.
-Counter
-readFuncExeInst() const override
-{
-panic("%s not implemented.", __FUNCTION__);
-}
-
 /** @{ */
 /**
  * Flat register interfaces
diff --git a/src/cpu/checker/thread_context.hh  
b/src/cpu/checker/thread_context.hh

index 661c710..5d404ed 100644
--- a/src/cpu/checker/thread_context.hh
+++ b/src/cpu/checker/thread_context.hh
@@ -400,12 +400,6 @@
 actualTC->setStCondFailures(sc_failures);
 }

-Counter
-readFuncExeInst() const override
-{
-return actualTC->readFuncExeInst();
-}
-
 RegVal
 readIntRegFlat(RegIndex idx) const override
 {
diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index ce83b5b..8c7cc03 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -347,9 +347,6 @@
 fatal("FullO3CPU %s has no interrupt controller.\n"
   "Ensure createInterruptController() is called.\n", name());
 }
-
-for (ThreadID tid = 0; tid < numThreads; tid++)
-thread[tid]->setFuncExeInst(0);
 }

 void
diff --git a/src/cpu/o3/thread_context.cc b/src/cpu/o3/thread_context.cc
index c4f5366..2487543 100644
--- a/src/cpu/o3/thread_context.cc
+++ b/src/cpu/o3/thread_context.cc
@@ -62,8 +62,6 @@
 TheISA::Decoder *oldDecoder = old_context->getDecoderPtr();
 newDecoder->takeOverFrom(oldDecoder);

-thread->funcExeInst = old_context->readFuncExeInst();
-
 thread->noSquashFromTC = false;
 thread->trapPending = false;
 }
@@ -146,9 +144,6 @@
 thread->noSquashFromTC = true;
 getIsaPtr()->copyRegsFrom(tc);
 thread->noSquashFromTC = false;
-
-if (!FullSystem)
-thread->funcExeInst = tc->readFuncExeInst();
 }

 void
diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh
index 23bc5a3..2465b9d 100644
--- a/src/cpu/o3/thread_context.hh
+++ b/src/cpu/o3/thread_context.hh
@@ -352,9 +352,6 @@
 thread->storeCondFailures = sc_failures;
 }

-/** Reads the funcExeInst counter. */
-Counter readFuncExeInst() const override { return thread->funcExeInst;  
}

-
 /** check if the cpu is currently in state update mode and squash if  
not.

  * This function will return true if a trap is pending or if a fault or
  * similar is currently writing to the thread context and doesn't want
diff --git a/src/cpu/simple_thread.cc b/src/cpu/simple_thread.cc
index 6a577f0..b3e6e48 100644
--- a/src/cpu/simple_thread.cc
+++ b/src/cpu/simple_thread.cc
@@ -95,7 +95,6 @@

 isa->takeOverFrom(this, oldContext);

-funcExeInst = oldContext->readFuncExeInst();
 storeCondFailures = 0;
 }

@@ -105,8 +104,6 @@
 // copy over functional state
 _status = oldContext->status();
 copyArchRegs(oldContext);
-if (FullSystem)
-funcExeInst = oldContext->readFuncExeInst();

 _threadId = oldContext->threadId();
 _contextId = oldContext->contextId();
diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh
index 9d2d3d5..fa52c88 100644
--- a/src/cpu/simple_thread.hh
+++ b/src/cpu/simple_thread.hh
@@ -490,12 +490,6 @@
 storeCondFailures = sc_failures;
 }

-Counter
-readFuncExeInst() const override
-{
-return ThreadState::readFuncExeInst();
-}
-
 RegVal readIntRegFlat(RegIndex idx) const override { return  
intRegs[idx]; }

 void
 setIntRegFlat(RegIndex idx, RegVal val) override
diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh
index 921135c..333c084 100644
--- a/src/cpu/thread_context.hh
+++ b/src/cpu/thread_context.hh
@@ -268,9 +268,6 @@

 virtual void setStCondFailures(unsigned sc_failures) = 0;

-// Same with st cond failures.
-virtual Counter readFuncExeInst() const = 0;
-
 // This function exits the thread context in the CPU and returns
 // 1 if the CPU has no more active 

[gem5-dev] Change in gem5/gem5[develop]: fastmodel: Implement ThreadContext::sendFunctional.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45862 )


Change subject: fastmodel: Implement ThreadContext::sendFunctional.
..

fastmodel: Implement ThreadContext::sendFunctional.

This change provides a custom implementation for the
ThreadContext::sendFunctional method.

Change-Id: Idffb4efc509dd63c852ada0768435bf653bd1854
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45862
Tested-by: kokoro 
Reviewed-by: Yu-hsin Wang 
Maintainer: Gabe Black 
---
M src/arch/arm/fastmodel/iris/cpu.hh
M src/arch/arm/fastmodel/iris/thread_context.cc
M src/arch/arm/fastmodel/iris/thread_context.hh
3 files changed, 16 insertions(+), 1 deletion(-)

Approvals:
  Yu-hsin Wang: Looks good to me, approved
  Gabe Black: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/arm/fastmodel/iris/cpu.hh  
b/src/arch/arm/fastmodel/iris/cpu.hh

index 369f0d8..0baebec 100644
--- a/src/arch/arm/fastmodel/iris/cpu.hh
+++ b/src/arch/arm/fastmodel/iris/cpu.hh
@@ -38,6 +38,8 @@
 namespace Iris
 {

+class ThreadContext;
+
 // The base interface of the EVS used by gem5 BaseCPU below.
 class BaseCpuEvs
 {
@@ -93,6 +95,8 @@
 Iris::BaseCpuEvs *evs_base_cpu;

   protected:
+friend ThreadContext;
+
 void
 clockPeriodUpdated() override
 {
diff --git a/src/arch/arm/fastmodel/iris/thread_context.cc  
b/src/arch/arm/fastmodel/iris/thread_context.cc

index b2173e1..043971f 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.cc
+++ b/src/arch/arm/fastmodel/iris/thread_context.cc
@@ -41,6 +41,7 @@

 #include 

+#include "arch/arm/fastmodel/iris/cpu.hh"
 #include "arch/arm/system.hh"
 #include "arch/arm/utility.hh"
 #include "iris/detail/IrisCppAdapter.h"
@@ -304,7 +305,7 @@
 }

 ThreadContext::ThreadContext(
-BaseCPU *cpu, int id, System *system, ::BaseMMU *mmu,
+::BaseCPU *cpu, int id, System *system, ::BaseMMU *mmu,
 BaseISA *isa, iris::IrisConnectionInterface *iris_if,
 const std::string _path) :
 _cpu(cpu), _threadId(id), _system(system), _mmu(mmu), _isa(isa),
@@ -488,6 +489,14 @@
 }
 }

+void
+ThreadContext::sendFunctional(PacketPtr pkt)
+{
+auto *iris_cpu = dynamic_cast(getCpuPtr());
+assert(iris_cpu);
+iris_cpu->evs_base_cpu->sendFunc(pkt);
+}
+
 ThreadContext::Status
 ThreadContext::status() const
 {
diff --git a/src/arch/arm/fastmodel/iris/thread_context.hh  
b/src/arch/arm/fastmodel/iris/thread_context.hh

index 019baca..d093138 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.hh
+++ b/src/arch/arm/fastmodel/iris/thread_context.hh
@@ -216,6 +216,8 @@
 PortProxy () override { return *virtProxy; }
 void initMemProxies(::ThreadContext *tc) override;

+void sendFunctional(PacketPtr pkt) override;
+
 Process *
 getProcessPtr() override
 {

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Idffb4efc509dd63c852ada0768435bf653bd1854
Gerrit-Change-Number: 45862
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Yu-hsin Wang 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: cpu: Add a sendFunctional function to the ThreadContext.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45861 )


Change subject: cpu: Add a sendFunctional function to the ThreadContext.
..

cpu: Add a sendFunctional function to the ThreadContext.

This can be used to send a functional packet from the perspective of a
thread context. Currently this will not consider targets within the CPU
like the local APIC on x86. The default implementation sends a packet
using the port on the way out of the CPU.

Change-Id: Idb311e156a416ad51b585794c1e9fa75711d61f1
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45861
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Yu-hsin Wang 
Reviewed-by: Jason Lowe-Power 
---
M src/cpu/thread_context.cc
M src/cpu/thread_context.hh
2 files changed, 14 insertions(+), 0 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, but someone else must approve
  Yu-hsin Wang: Looks good to me, approved
  Gabe Black: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/cpu/thread_context.cc b/src/cpu/thread_context.cc
index 1a78693..00afe7c 100644
--- a/src/cpu/thread_context.cc
+++ b/src/cpu/thread_context.cc
@@ -48,6 +48,7 @@
 #include "cpu/base.hh"
 #include "debug/Context.hh"
 #include "debug/Quiesce.hh"
+#include "mem/port.hh"
 #include "params/BaseCPU.hh"
 #include "sim/full_system.hh"

@@ -128,6 +129,15 @@
 }

 void
+ThreadContext::sendFunctional(PacketPtr pkt)
+{
+const auto *port =
+dynamic_cast(()->getDataPort());
+assert(port);
+port->sendFunctional(pkt);
+}
+
+void
 ThreadContext::quiesce()
 {
 getSystemPtr()->threads.quiesce(contextId());
diff --git a/src/cpu/thread_context.hh b/src/cpu/thread_context.hh
index 145be58..921135c 100644
--- a/src/cpu/thread_context.hh
+++ b/src/cpu/thread_context.hh
@@ -68,6 +68,8 @@
 class PortProxy;
 class Process;
 class System;
+class Packet;
+using PacketPtr = Packet *;

 /**
  * ThreadContext is the external interface to all thread state for
@@ -146,6 +148,8 @@

 virtual PortProxy () = 0;

+virtual void sendFunctional(PacketPtr pkt);
+
 /**
  * Initialise the physical and virtual port proxies and tie them to
  * the data port of the CPU.

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Idb311e156a416ad51b585794c1e9fa75711d61f1
Gerrit-Change-Number: 45861
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Yu-hsin Wang 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: base: Use a lambda to simplify the stl_helpers template.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45900 )


Change subject: base: Use a lambda to simplify the stl_helpers template.
..

base: Use a lambda to simplify the stl_helpers template.

Use a lambda to power the std::for_each instead of a functor class. This
takes *much* less code to implement.

Change-Id: Icc5d5a943630e7e19cd2e0fa6f2cef2c9b766e24
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45900
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/base/stl_helpers.hh
1 file changed, 8 insertions(+), 32 deletions(-)

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



diff --git a/src/base/stl_helpers.hh b/src/base/stl_helpers.hh
index ae369b5..51dc039 100644
--- a/src/base/stl_helpers.hh
+++ b/src/base/stl_helpers.hh
@@ -35,37 +35,6 @@
 namespace m5 {
 namespace stl_helpers {

-template 
-class ContainerPrint
-{
-  private:
-std::ostream 
-bool first;
-
-  public:
-/**
- * @ingroup api_base_utils
- */
-ContainerPrint(std::ostream )
-: out(out), first(true)
-{}
-
-/**
- * @ingroup api_base_utils
- */
-void
-operator()(const T )
-{
-// First one doesn't get a space before it.  The rest do.
-if (first)
-first = false;
-else
-out << " ";
-
-out << elem;
-}
-};
-
 /**
  * Write out all elements in an stl container as a space separated
  * list enclosed in square brackets
@@ -77,7 +46,14 @@
 operator<<(std::ostream& out, const C )
 {
 out << "[ ";
-std::for_each(vec.begin(), vec.end(), ContainerPrint(out));
+bool first = true;
+auto printer = [, ](const T ) {
+if (first)
+out << elem;
+else
+out << " " << elem;
+};
+std::for_each(vec.begin(), vec.end(), printer);
 out << " ]";
 out << std::flush;
 return out;



1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the  
submitted one.

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Icc5d5a943630e7e19cd2e0fa6f2cef2c9b766e24
Gerrit-Change-Number: 45900
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Re: test breakage for GCN3 on ToT?

2021-05-24 Thread Gabe Black via gem5-dev
Yes, some sort of fixed environment would solve the problem I think. Really
for reproducibility in general dynamic binaries should not resolve
libraries on the host, they should have their own set of libraries as if
they were cross compiled. Updating the host (like I did) should not change
the behavior of experiments, especially since that's often outside of
people's control and may even happen silently in the background without
their knowledge. This is particularly important for tests though, since
those are more or less handed down as a standard by gem5 itself, unlike how
experiments are designed which I think is more of an active choice.

The stdout matching test probably failed because the underlying test
failed, and didn't produce the expected "Hello world" (exact text may
differ). For such a simple test program, 99% of the work happens
initializing the standard library, so most problems would crop up before
main, aka any visible output.

Gabe

On Mon, May 24, 2021 at 1:12 PM Jason Lowe-Power via gem5-dev <
gem5-dev@gem5.org> wrote:

> We shouldn't remove that test! It's a important feature that people rely
> on.
>
> The solution would be to run the test within a "known" environment. The
> docker containers we provide should work perfectly for that.
>
> Cheers,
> Jason
>
> On Mon, May 24, 2021 at 11:54 AM Bobby Bruce via gem5-dev <
> gem5-dev@gem5.org> wrote:
>
>> Hey Gabe,
>>
>> When you say the 'hello' binary is dynamically linked, we're talking
>> about the 'hello64-dynamic' binary? I agree these tests should probably be
>> removed. (Does anyone have any objection to this?)
>>
>> This only appears to be half your problem though, as you've got
>> "MatchStdoutNoPerf" tests failing also. Did you ever figure out why these
>> tests are failing for you? These tests fail when the STDOUT of the test has
>> changed (each test has a "ref" file somewhere recording what the output
>> should be. It's more or less a simple diff).
>>
>> Bobby
>> --
>> Dr. Bobby R. Bruce
>> Room 3050,
>> Kemper Hall, UC Davis
>> Davis,
>> CA, 95616
>>
>> web: https://www.bobbybruce.net
>>
>>
>> On Sat, May 22, 2021 at 4:17 AM Gabe Black via gem5-dev <
>> gem5-dev@gem5.org> wrote:
>> >
>> > Well, I think I figured out the problem. The GCN3 hello world
>> executable is dynamically linked, and I'm assuming it's pulling in
>> libraries from my system. That seems to use a system call that's not
>> implemented, see below. These tests should *not* be dependent on the host
>> system to work correctly! I will not be able to run regressions on my
>> machine until this is fixed...
>> >
>> > $ cat
>> ./testing-results/SuiteUID:test-hello64-dynamic-DerivO3CPU-GCN3_X86-x86_64-opt/TestUID:test-hello64-dynami
>> > c-DerivO3CPU-GCN3_X86-x86_64-opt/simerr
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > warn: membus.master is deprecated. `master` is now called
>> `mem_side_ports`
>> > warn: membus.master is deprecated. `master` is now called
>> `mem_side_ports`
>> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
>> > build/GCN3_X86/mem/mem_interface.cc:785: warn: DRAM device capacity
>> (8192 Mbytes) does not match the address range assigned (512 Mb
>> > ytes)
>> > 0: system.remote_gdb: listening for remote gdb on port 7001
>> > build/GCN3_X86/sim/simulate.cc:104: info: Entering event queue @ 0.
>> Starting simulation...
>> > build/GCN3_X86/arch/x86/cpuid.cc:177: warn: x86 cpuid family 0x:
>> unimplemented function 13
>> > build/GCN3_X86/sim/syscall_emul.cc:70: warn: ignoring syscall
>> access(...)
>> > build/GCN3_X86/sim/mem_state.cc:440: info: Increasing stack size by one
>> page.
>> > build/GCN3_X86/sim/syscall_emul.cc:63: fatal: syscall newfstatat (#262)
>> unimplemented.
>> > Memory Usage: 653788 KBytes
>> >
>> > On Sat, May 22, 2021 at 3:35 AM Gabe Black 
>> wrote:
>> >>
>> >> Even that failed... Maybe something ended up damaged in one of the
>> docker images? I don't think those are used, but I'm not sure what else it
>> could be... I'll have docker clear all those and try again.
>> >>
>> >> Gabe
>> >>
>> >> On Sat, May 22, 2021 at 3:17 AM Gabe Black 
>> wrote:
>> >>>
>> >>> Hmm, I thought this might be that something was stale, but I did a
>> fresh checkout and the same tests fail at ToT there too. I'm trying on a
>> much older checkout since hopefully I'll be able to get back to a point
>> where the tests pass... If not, then there's something screwy about my
>> setup, although I'm at a loss to say what.
>> >>>
>> >>> Gabe
>> >>>
>> >>> On Sat, May 22, 2021 at 12:51 AM Gabe Black 
>> wrote:
>> 
>>  This isn't a build issue, this is failing tests (see below). 

[gem5-dev] Re: test breakage for GCN3 on ToT?

2021-05-24 Thread Jason Lowe-Power via gem5-dev
We shouldn't remove that test! It's a important feature that people rely on.

The solution would be to run the test within a "known" environment. The
docker containers we provide should work perfectly for that.

Cheers,
Jason

On Mon, May 24, 2021 at 11:54 AM Bobby Bruce via gem5-dev 
wrote:

> Hey Gabe,
>
> When you say the 'hello' binary is dynamically linked, we're talking about
> the 'hello64-dynamic' binary? I agree these tests should probably be
> removed. (Does anyone have any objection to this?)
>
> This only appears to be half your problem though, as you've got
> "MatchStdoutNoPerf" tests failing also. Did you ever figure out why these
> tests are failing for you? These tests fail when the STDOUT of the test has
> changed (each test has a "ref" file somewhere recording what the output
> should be. It's more or less a simple diff).
>
> Bobby
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Sat, May 22, 2021 at 4:17 AM Gabe Black via gem5-dev 
> wrote:
> >
> > Well, I think I figured out the problem. The GCN3 hello world executable
> is dynamically linked, and I'm assuming it's pulling in libraries from my
> system. That seems to use a system call that's not implemented, see below.
> These tests should *not* be dependent on the host system to work correctly!
> I will not be able to run regressions on my machine until this is fixed...
> >
> > $ cat
> ./testing-results/SuiteUID:test-hello64-dynamic-DerivO3CPU-GCN3_X86-x86_64-opt/TestUID:test-hello64-dynami
> > c-DerivO3CPU-GCN3_X86-x86_64-opt/simerr
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > warn: membus.master is deprecated. `master` is now called
> `mem_side_ports`
> > warn: membus.master is deprecated. `master` is now called
> `mem_side_ports`
> > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> > build/GCN3_X86/mem/mem_interface.cc:785: warn: DRAM device capacity
> (8192 Mbytes) does not match the address range assigned (512 Mb
> > ytes)
> > 0: system.remote_gdb: listening for remote gdb on port 7001
> > build/GCN3_X86/sim/simulate.cc:104: info: Entering event queue @ 0.
> Starting simulation...
> > build/GCN3_X86/arch/x86/cpuid.cc:177: warn: x86 cpuid family 0x:
> unimplemented function 13
> > build/GCN3_X86/sim/syscall_emul.cc:70: warn: ignoring syscall access(...)
> > build/GCN3_X86/sim/mem_state.cc:440: info: Increasing stack size by one
> page.
> > build/GCN3_X86/sim/syscall_emul.cc:63: fatal: syscall newfstatat (#262)
> unimplemented.
> > Memory Usage: 653788 KBytes
> >
> > On Sat, May 22, 2021 at 3:35 AM Gabe Black  wrote:
> >>
> >> Even that failed... Maybe something ended up damaged in one of the
> docker images? I don't think those are used, but I'm not sure what else it
> could be... I'll have docker clear all those and try again.
> >>
> >> Gabe
> >>
> >> On Sat, May 22, 2021 at 3:17 AM Gabe Black 
> wrote:
> >>>
> >>> Hmm, I thought this might be that something was stale, but I did a
> fresh checkout and the same tests fail at ToT there too. I'm trying on a
> much older checkout since hopefully I'll be able to get back to a point
> where the tests pass... If not, then there's something screwy about my
> setup, although I'm at a loss to say what.
> >>>
> >>> Gabe
> >>>
> >>> On Sat, May 22, 2021 at 12:51 AM Gabe Black 
> wrote:
> 
>  This isn't a build issue, this is failing tests (see below). It's
> hard to extract more information than that from the test runs, so I can't
> say much more. It could be something got messed up in my local environment
> somehow? I'm still trying to find a revision that works, but there may be
> something stale in my build directory which is causing problems which I'm
> trying to clear out.
> 
>  Gabe
> 
>  Test: test-hello64-static-TimingSimpleCPU-GCN3_X86-x86_64-opt Passed
>  Test:
> test-hello64-static-TimingSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
> Failed
>  Redirecting stdout to /tmp/gem5outijxfv1tq/simout
>  Redirecting stderr to /tmp/gem5outijxfv1tq/simerr
>  Test: test-hello64-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt Passed
>  Test:
> test-hello64-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
> Failed
>  Redirecting stdout to /tmp/gem5outeg1h1b3e/simout
>  Redirecting stderr to /tmp/gem5outeg1h1b3e/simerr
>  Test: test-hello64-static-DerivO3CPU-GCN3_X86-x86_64-opt Passed
>  Test:
> test-hello64-static-DerivO3CPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf Failed
>  Redirecting stdout to /tmp/gem5outfcqm4wyl/simout
>  Redirecting stderr to /tmp/gem5outfcqm4wyl/simerr

[gem5-dev] Re: test breakage for GCN3 on ToT?

2021-05-24 Thread Bobby Bruce via gem5-dev
Hey Gabe,

When you say the 'hello' binary is dynamically linked, we're talking about
the 'hello64-dynamic' binary? I agree these tests should probably be
removed. (Does anyone have any objection to this?)

This only appears to be half your problem though, as you've got
"MatchStdoutNoPerf" tests failing also. Did you ever figure out why these
tests are failing for you? These tests fail when the STDOUT of the test has
changed (each test has a "ref" file somewhere recording what the output
should be. It's more or less a simple diff).

Bobby
--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net


On Sat, May 22, 2021 at 4:17 AM Gabe Black via gem5-dev 
wrote:
>
> Well, I think I figured out the problem. The GCN3 hello world executable
is dynamically linked, and I'm assuming it's pulling in libraries from my
system. That seems to use a system call that's not implemented, see below.
These tests should *not* be dependent on the host system to work correctly!
I will not be able to run regressions on my machine until this is fixed...
>
> $ cat
./testing-results/SuiteUID:test-hello64-dynamic-DerivO3CPU-GCN3_X86-x86_64-opt/TestUID:test-hello64-dynami
> c-DerivO3CPU-GCN3_X86-x86_64-opt/simerr
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
> warn: membus.master is deprecated. `master` is now called `mem_side_ports`
> warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports`
> build/GCN3_X86/mem/mem_interface.cc:785: warn: DRAM device capacity (8192
Mbytes) does not match the address range assigned (512 Mb
> ytes)
> 0: system.remote_gdb: listening for remote gdb on port 7001
> build/GCN3_X86/sim/simulate.cc:104: info: Entering event queue @ 0.
Starting simulation...
> build/GCN3_X86/arch/x86/cpuid.cc:177: warn: x86 cpuid family 0x:
unimplemented function 13
> build/GCN3_X86/sim/syscall_emul.cc:70: warn: ignoring syscall access(...)
> build/GCN3_X86/sim/mem_state.cc:440: info: Increasing stack size by one
page.
> build/GCN3_X86/sim/syscall_emul.cc:63: fatal: syscall newfstatat (#262)
unimplemented.
> Memory Usage: 653788 KBytes
>
> On Sat, May 22, 2021 at 3:35 AM Gabe Black  wrote:
>>
>> Even that failed... Maybe something ended up damaged in one of the
docker images? I don't think those are used, but I'm not sure what else it
could be... I'll have docker clear all those and try again.
>>
>> Gabe
>>
>> On Sat, May 22, 2021 at 3:17 AM Gabe Black  wrote:
>>>
>>> Hmm, I thought this might be that something was stale, but I did a
fresh checkout and the same tests fail at ToT there too. I'm trying on a
much older checkout since hopefully I'll be able to get back to a point
where the tests pass... If not, then there's something screwy about my
setup, although I'm at a loss to say what.
>>>
>>> Gabe
>>>
>>> On Sat, May 22, 2021 at 12:51 AM Gabe Black 
wrote:

 This isn't a build issue, this is failing tests (see below). It's hard
to extract more information than that from the test runs, so I can't say
much more. It could be something got messed up in my local environment
somehow? I'm still trying to find a revision that works, but there may be
something stale in my build directory which is causing problems which I'm
trying to clear out.

 Gabe

 Test: test-hello64-static-TimingSimpleCPU-GCN3_X86-x86_64-opt Passed
 Test:
test-hello64-static-TimingSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
Failed
 Redirecting stdout to /tmp/gem5outijxfv1tq/simout
 Redirecting stderr to /tmp/gem5outijxfv1tq/simerr
 Test: test-hello64-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt Passed
 Test:
test-hello64-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
Failed
 Redirecting stdout to /tmp/gem5outeg1h1b3e/simout
 Redirecting stderr to /tmp/gem5outeg1h1b3e/simerr
 Test: test-hello64-static-DerivO3CPU-GCN3_X86-x86_64-opt Passed
 Test:
test-hello64-static-DerivO3CPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf Failed
 Redirecting stdout to /tmp/gem5outfcqm4wyl/simout
 Redirecting stderr to /tmp/gem5outfcqm4wyl/simerr
 Test: test-hello32-static-TimingSimpleCPU-GCN3_X86-x86_64-opt Passed
 Test:
test-hello32-static-TimingSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
Failed
 Redirecting stdout to /tmp/gem5out9p26oogk/simout
 Redirecting stderr to /tmp/gem5out9p26oogk/simerr
 Test: test-hello32-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt Passed
 Test:
test-hello32-static-AtomicSimpleCPU-GCN3_X86-x86_64-opt-MatchStdoutNoPerf
Failed
 Redirecting stdout to /tmp/gem5outyn_zm9ks/simout
 

[gem5-dev] Change in gem5/gem5[develop]: cpu: Fix syntax in cpu/simple_thread.hh.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45860 )


Change subject: cpu: Fix syntax in cpu/simple_thread.hh.
..

cpu: Fix syntax in cpu/simple_thread.hh.

Change-Id: Id23de4651eb6b03b569ab48fd1dcf186e7b192dd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45860
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Jason Lowe-Power 
---
M src/cpu/simple_thread.hh
1 file changed, 5 insertions(+), 3 deletions(-)

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



diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh
index 88f1e6b..9d2d3d5 100644
--- a/src/cpu/simple_thread.hh
+++ b/src/cpu/simple_thread.hh
@@ -113,7 +113,8 @@
 bool memAccPredicate;

   public:
-std::string name() const
+std::string
+name() const
 {
 return csprintf("%s.[tid:%i]", baseCpu->name(), threadId());
 }
@@ -215,7 +216,8 @@
 PortProxy () override { return  
ThreadState::getPhysProxy(); }
 PortProxy () override { return  
ThreadState::getVirtProxy(); }


-void initMemProxies(ThreadContext *tc) override
+void
+initMemProxies(ThreadContext *tc) override
 {
 ThreadState::initMemProxies(tc);
 }
@@ -574,4 +576,4 @@
 };


-#endif // __CPU_CPU_EXEC_CONTEXT_HH__
+#endif // __CPU_SIMPLE_THREAD_HH__

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Id23de4651eb6b03b569ab48fd1dcf186e7b192dd
Gerrit-Change-Number: 45860
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

[gem5-dev] Change in gem5/gem5[develop]: cpu: Fix style in cpu/simple/base.hh.

2021-05-24 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45859 )


Change subject: cpu: Fix style in cpu/simple/base.hh.
..

cpu: Fix style in cpu/simple/base.hh.

Change-Id: Ie5ef296ef82bf974c6bf2448c493242dad40c760
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45859
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Jason Lowe-Power 
---
M src/cpu/simple/base.hh
1 file changed, 33 insertions(+), 24 deletions(-)

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



diff --git a/src/cpu/simple/base.hh b/src/cpu/simple/base.hh
index 926b9a4..9d921b6 100644
--- a/src/cpu/simple/base.hh
+++ b/src/cpu/simple/base.hh
@@ -69,7 +69,8 @@
 class ITB;
 }

-namespace Trace {
+namespace Trace
+{
 class InstRecord;
 }

@@ -143,33 +144,41 @@
 // statistics
 void resetStats() override;

-virtual Fault readMem(Addr addr, uint8_t* data, unsigned size,
-  Request::Flags flags,
-  const std::vector& byte_enable =
-  std::vector())
-{ panic("readMem() is not implemented\n"); }
+virtual Fault
+readMem(Addr addr, uint8_t* data, unsigned size, Request::Flags flags,
+const std::vector& byte_enable=std::vector())
+{
+panic("readMem() is not implemented");
+}

-virtual Fault initiateMemRead(Addr addr, unsigned size,
-  Request::Flags flags,
-  const std::vector& byte_enable =
-  std::vector())
-{ panic("initiateMemRead() is not implemented\n"); }
+virtual Fault
+initiateMemRead(Addr addr, unsigned size, Request::Flags flags,
+const std::vector& byte_enable=std::vector())
+{
+panic("initiateMemRead() is not implemented\n");
+}

-virtual Fault writeMem(uint8_t* data, unsigned size, Addr addr,
-   Request::Flags flags, uint64_t* res,
-   const std::vector& byte_enable =
-   std::vector())
-{ panic("writeMem() is not implemented\n"); }
+virtual Fault
+writeMem(uint8_t* data, unsigned size, Addr addr, Request::Flags flags,
+uint64_t* res,
+const std::vector& byte_enable=std::vector())
+{
+panic("writeMem() is not implemented\n");
+}

-virtual Fault amoMem(Addr addr, uint8_t* data, unsigned size,
- Request::Flags flags,
- AtomicOpFunctorPtr amo_op)
-{ panic("amoMem() is not implemented\n"); }
+virtual Fault
+amoMem(Addr addr, uint8_t* data, unsigned size, Request::Flags flags,
+AtomicOpFunctorPtr amo_op)
+{
+panic("amoMem() is not implemented\n");
+}

-virtual Fault initiateMemAMO(Addr addr, unsigned size,
- Request::Flags flags,
- AtomicOpFunctorPtr amo_op)
-{ panic("initiateMemAMO() is not implemented\n"); }
+virtual Fault
+initiateMemAMO(Addr addr, unsigned size, Request::Flags flags,
+AtomicOpFunctorPtr amo_op)
+{
+panic("initiateMemAMO() is not implemented\n");
+}

 void countInst();
 Counter totalInsts() const override;

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


Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ie5ef296ef82bf974c6bf2448c493242dad40c760
Gerrit-Change-Number: 45859
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s