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

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

Changes:

[gabe.black] cpu: Fix style in cpu/simple/base.hh.

[gabe.black] cpu: Fix syntax in cpu/simple_thread.hh.

[gabe.black] base: Use a lambda to simplify the stl_helpers template.

[gabe.black] cpu: Add a sendFunctional function to the ThreadContext.

[gabe.black] fastmodel: Implement ThreadContext::sendFunctional.

[gabe.black] scons: Increase the minimum version of clang to 6.

[fcrh] base: Construct debug flags on the heap

[gabe.black] mem: Add a ThreadContext helper constructor for PortProxy.


--
[...truncated 607.76 KB...]
[   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
[==] 7 tests from 1 test suite ran. (0 ms total)
[  PASSED  ] 7 tests.
build/NULL/base/uncontended_mutex.test.prof 
--gtest_output=xml:build/NULL/unittests.prof/base/uncontended_mutex.test.xml
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 (1 ms)
[ RUN  ] CyclesTest.ShiftLeft
[   OK ] CyclesTest.ShiftLeft (0 ms)
[ RUN  ] CyclesTest.OutStream
[   OK ] CyclesTest.OutStream (0 ms)
[--] 10 tests from CyclesTest (1 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
[==] 19 tests from 3 test suites ran. (1 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 

[gem5-dev] Change in gem5/gem5[develop]: arch,cpu: Make the decoder width a property of the decoder.

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


Change subject: arch,cpu: Make the decoder width a property of the decoder.
..

arch,cpu: Make the decoder width a property of the decoder.

In this context, the decoder width is the number of bytes that are fed
into the decoder at once. This is frequently the same as the size of an
instruction, but in instructions with occasionally variable instruction
sizes (ARM, RISCV), or extremely variable instruction sizes (x86) there
may be no relation.

Rather than determining the amount of data to feed to the decoder based
on a MachInst type defined by each ISA, this new interface adds some new
properties to the base InstDecoder class each arch specific decoder
inherits from. These are the size of the incoming buffer, a pointer to
wherever that data should end up, and a mask for masking a PC value so
it aligns with the instruction size.

These values are filled in by a templated InstDecoder constructor which
is templated based on what would have historically been the MachInst
type.

Because the "moreBytes" method would historically accept a parameter of
type MachInst, this parameter has also been eliminated. Now, the
decoder's parent object should use the pointer and size values to fill
in the buffer moreBytes reads. Then when moreBytes is called, it just
uses the buffer without having to show what its type is externally.

Change-Id: I0642cdb6a61e152441ca4ce47d748639175cda90
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40175
Reviewed-by: Gabe Black 
Maintainer: Gabe Black 
Tested-by: kokoro 
---
M src/arch/arm/decoder.cc
M src/arch/arm/decoder.hh
M src/arch/generic/decoder.hh
M src/arch/mips/decoder.hh
M src/arch/power/decoder.hh
M src/arch/riscv/decoder.cc
M src/arch/riscv/decoder.hh
M src/arch/sparc/decoder.hh
M src/arch/x86/decoder.hh
M src/cpu/base.hh
M src/cpu/checker/cpu_impl.hh
M src/cpu/minor/fetch1.cc
M src/cpu/minor/fetch2.cc
M src/cpu/o3/fetch.cc
M src/cpu/simple/atomic.cc
M src/cpu/simple/base.cc
M src/cpu/simple/base.hh
M src/cpu/simple/noncaching.cc
M src/cpu/simple/timing.cc
19 files changed, 130 insertions(+), 116 deletions(-)

Approvals:
  Gabe Black: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/arm/decoder.cc b/src/arch/arm/decoder.cc
index d18cc83..4c1ec40 100644
--- a/src/arch/arm/decoder.cc
+++ b/src/arch/arm/decoder.cc
@@ -52,7 +52,7 @@
 GenericISA::BasicDecodeCache Decoder::defaultCache;

 Decoder::Decoder(ISA* isa)
-: data(0), fpscrLen(0), fpscrStride(0),
+: InstDecoder(), data(0), fpscrLen(0), fpscrStride(0),
   decoderFlavor(isa->decoderFlavor())
 {
 reset();
@@ -143,15 +143,15 @@
 Decoder::consumeBytes(int numBytes)
 {
 offset += numBytes;
-assert(offset <= sizeof(MachInst) || emi.decoderFault);
-if (offset == sizeof(MachInst))
+assert(offset <= sizeof(data) || emi.decoderFault);
+if (offset == sizeof(data))
 outOfBytes = true;
 }

 void
-Decoder::moreBytes(const PCState , Addr fetchPC, MachInst inst)
+Decoder::moreBytes(const PCState , Addr fetchPC)
 {
-data = letoh(inst);
+data = letoh(data);
 offset = (fetchPC >= pc.instAddr()) ? 0 : pc.instAddr() - fetchPC;
 emi.thumb = pc.thumb();
 emi.aarch64 = pc.aarch64();
diff --git a/src/arch/arm/decoder.hh b/src/arch/arm/decoder.hh
index a536fe2..7f63f32 100644
--- a/src/arch/arm/decoder.hh
+++ b/src/arch/arm/decoder.hh
@@ -61,7 +61,7 @@
   protected:
 //The extended machine instruction being generated
 ExtMachInst emi;
-MachInst data;
+uint32_t data;
 bool bigThumb;
 bool instDone;
 bool outOfBytes;
@@ -179,7 +179,7 @@
  * @param fetchPC The address this chunk was fetched from.
  * @param inst Raw instruction data.
  */
-void moreBytes(const PCState , Addr fetchPC, MachInst inst);
+void moreBytes(const PCState , Addr fetchPC);

 /**
  * Decode an instruction or fetch it from the code cache.
diff --git a/src/arch/generic/decoder.hh b/src/arch/generic/decoder.hh
index 3df4dcc..cb6e4cd 100644
--- a/src/arch/generic/decoder.hh
+++ b/src/arch/generic/decoder.hh
@@ -28,14 +28,31 @@
 #ifndef __ARCH_GENERIC_DECODER_HH__
 #define __ARCH_GENERIC_DECODER_HH__

+#include "base/bitfield.hh"
+#include "base/intmath.hh"
 #include "base/types.hh"
 #include "cpu/static_inst_fwd.hh"

 class InstDecoder
 {
+  protected:
+void *_moreBytesPtr;
+size_t _moreBytesSize;
+Addr _pcMask;
+
   public:
+template 
+InstDecoder(MoreBytesType *mb_buf) :
+_moreBytesPtr(mb_buf), _moreBytesSize(sizeof(MoreBytesType)),
+_pcMask(~mask(floorLog2(_moreBytesSize)))
+{}
+
 virtual StaticInstPtr fetchRomMicroop(
 MicroPC micropc, StaticInstPtr curMacroop);
+
+void *moreBytesPtr() const { return _moreBytesPtr; }
+size_t moreBytesSize() const { return 

[gem5-dev] Change in gem5/gem5[develop]: base: Apply the stl_helpers helper judiciously.

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


Change subject: base: Apply the stl_helpers helper judiciously.
..

base: Apply the stl_helpers helper judiciously.

The existing template would apply the helper operator to *any* template
which took two types, regardless of what that template was. The
assumption was that those types *must* be STL containers, because no
other template takes two types, right?

Instead, this new version uses type traits to explicitly whitelist types
which the helper applies to. Currently the only type it seems to be used
with is std::vector, but by defining more specializations of
IsHelpedContainer, other types/templates can be enabled as well.

This is particularly important when moving to c++17, since the
std::string class would then apparently match the old overload. That
makes the << operator ambiguous and breaks the build.

Change-Id: Id283746a2ccced8882fa23e6f9e69fe22e206b70
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45901
Reviewed-by: Gabe Black 
Reviewed-by: Daniel Carvalho 
Maintainer: Gabe Black 
Tested-by: kokoro 
---
M src/base/stl_helpers.hh
1 file changed, 14 insertions(+), 5 deletions(-)

Approvals:
  Daniel Carvalho: Looks good to me, approved
  Gabe Black: Looks good to me, but someone else must approve; Looks good  
to me, approved

  kokoro: Regressions pass



diff --git a/src/base/stl_helpers.hh b/src/base/stl_helpers.hh
index 51dc039..ba812b9 100644
--- a/src/base/stl_helpers.hh
+++ b/src/base/stl_helpers.hh
@@ -31,29 +31,38 @@

 #include 
 #include 
+#include 
+#include 

 namespace m5 {
 namespace stl_helpers {

+template 
+struct IsHelpedContainer : public std::false_type {};
+
+template 
+struct IsHelpedContainer> : public std::true_type {};
+
 /**
  * Write out all elements in an stl container as a space separated
  * list enclosed in square brackets
  *
  * @ingroup api_base_utils
  */
-template  class C, typename T, typename  
A>

-std::ostream &
-operator<<(std::ostream& out, const C )
+
+template 
+std::enable_if_t::value, std::ostream &>
+operator<<(std::ostream& out, const T )
 {
 out << "[ ";
 bool first = true;
-auto printer = [, ](const T ) {
+auto printer = [, ](const auto ) {
 if (first)
 out << elem;
 else
 out << " " << elem;
 };
-std::for_each(vec.begin(), vec.end(), printer);
+std::for_each(t.begin(), t.end(), printer);
 out << " ]";
 out << std::flush;
 return out;



2 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/+/45901
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: Id283746a2ccced8882fa23e6f9e69fe22e206b70
Gerrit-Change-Number: 45901
Gerrit-PatchSet: 4
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: problem with docker image?

2021-05-25 Thread Bobby Bruce via gem5-dev
Yeah, I'm with you on your interpretation of that error.

I forgot a negation in my original reply to this email thread. I meant to
say I'm _not_ very confident in the wait solution, and the more I think it
through, I'm even less so, as the error occurs after the docker image is
pulled, so I'd assume the service is actually working just fine. That being
said, I see no harm in trying.

I've added this patchset:
https://gem5-review.googlesource.com/c/public/gem5/+/45999. It adds a wait
and a couple of other changes that should help us gather more information
on this bug. At the least, it'll do no harm.

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

web: https://www.bobbybruce.net


On Tue, May 25, 2021 at 12:16 PM Gabe Black  wrote:

> Yeah, I'm hesitant to blame the docker image too, since as far as I know
> it hasn't really changed much recently, and this problem has only really
> started recently, although I've hit it a lot in the last few days. Some
> sort of timing issue seems like a reasonable hypothesis. Could you please
> add the sleep? I think even 1s is likely to help, or maybe some sort of
> wait-and-check loop?
>
> I think this:
>
> bash: : command not found
>
> looks strange at first, but what I think is missing is a command between
> the two :s, or in other words this is really "bash: ${CMD}: command not
> found", and given that this is bash, I'd be willing to bet there's some
> variable which hasn't been set and which is being used in a command, and
> rather than complaining that variable BLAH_BLAH isn't set, it just expands
> to nothing and creates an invalid command line.
>
> I would also suspect that the command line in question has no arguments,
> or the arguments are built into the variable, since otherwise the first
> argument would become the command and it would say something like "bash:
> -l: command not found" or similar.
>
> Gabe
>
> On Tue, May 25, 2021 at 9:59 AM Bobby Bruce  wrote:
>
>> Correction: The command is "sleep", not "wait" :).
>>
>> --
>> Dr. Bobby R. Bruce
>> Room 3050,
>> Kemper Hall, UC Davis
>> Davis,
>> CA, 95616
>>
>> web: https://www.bobbybruce.net
>>
>>
>> On Tue, May 25, 2021 at 9:46 AM Bobby Bruce  wrote:
>>
>>> It is annoying when this happens, and doubly so that it's clearly flakey
>>> and hard to reproduce. However, I've only ever seen this on Kokoro so I
>>> think the blame is somewhere there. Keep in mind, we run nightly tests
>>> using the same image and never seem to run into this issue, I'm quite
>>> confident the images are good..
>>>
>>> I'm very confident in this theory, but we do stop and start the Docker
>>> service just before running the docker command (in
>>> `tests/jenkins/presubmit.sh`). It could be the Jenkins service is still
>>> figuring stuff out and needs a few more nanoseconds before we jump in and
>>> booting a container. We could put a "wait 5" between starting the service
>>> and running our tests to see if that helps.
>>>
>>> --
>>> Dr. Bobby R. Bruce
>>> Room 3050,
>>> Kemper Hall, UC Davis
>>> Davis,
>>> CA, 95616
>>>
>>> web: https://www.bobbybruce.net
>>>
>>>
>>> On Mon, May 24, 2021 at 11:21 PM Gabe Black via gem5-dev <
>>> gem5-dev@gem5.org> wrote:
>>>
 Hi folks. I've noticed kokoro runs occasionally failing with:

 bash: : command not found

 This is after the docker command runs it looks like, so I'm assuming
 this is a problem with our docker image? Any ideas?


 https://source.cloud.google.com/results/invocations/563a3724-49d8-4136-b30f-e19f85db8332/targets/gem5%2Fgcp_ubuntu%2Fpresubmit/log
 ___
 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 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]: arch-arm: De-macrofy arch/arm/kvm/arm_cpu.cc.

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


Change subject: arch-arm: De-macrofy arch/arm/kvm/arm_cpu.cc.
..

arch-arm: De-macrofy arch/arm/kvm/arm_cpu.cc.

Replace macros with inline functions.

Change-Id: I26571959152aed5f62c543e62750e564fe27bf28
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45879
Reviewed-by: Andreas Sandberg 
Maintainer: Andreas Sandberg 
Tested-by: kokoro 
---
M src/arch/arm/kvm/arm_cpu.cc
1 file changed, 331 insertions(+), 242 deletions(-)

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



diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc
index 116358e..b4740e4 100644
--- a/src/arch/arm/kvm/arm_cpu.cc
+++ b/src/arch/arm/kvm/arm_cpu.cc
@@ -42,6 +42,7 @@
 #include 
 #include 
 #include 
+#include 

 #include "arch/arm/interrupts.hh"
 #include "arch/arm/regs/int.hh"
@@ -54,193 +55,284 @@

 using namespace ArmISA;

-#define EXTRACT_FIELD(val, mask, shift) \
-(((val) & (mask)) >> (shift))
+namespace
+{

-#define REG_IS_ARM(id)  \
-(((id) & KVM_REG_ARCH_MASK) == KVM_REG_ARM)
+constexpr uint64_t
+extractField(uint64_t val, uint64_t mask, size_t shift)
+{
+return (val & mask) >> shift;
+}

-#define REG_IS_32BIT(id)\
-(((id) & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U32)
+constexpr bool
+regIsArm(uint64_t id)
+{
+return (id & KVM_REG_ARCH_MASK) == KVM_REG_ARM;
+}

-#define REG_IS_64BIT(id)\
-(((id) & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U64)
+constexpr bool
+regIs32Bit(uint64_t id)
+{
+return (id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U32;
+}

-#define REG_IS_CP(id, cp)   \
-(((id) & KVM_REG_ARM_COPROC_MASK) == (cp))
+constexpr bool
+regIs64Bit(uint64_t id)
+{
+return (id & KVM_REG_SIZE_MASK) == KVM_REG_SIZE_U64;
+}

-#define REG_IS_CORE(id) REG_IS_CP((id), KVM_REG_ARM_CORE)
+constexpr bool
+regIsCp(uint64_t id, uint64_t cp)
+{
+return (id & KVM_REG_ARM_COPROC_MASK) == cp;
+}

-#define REG_IS_VFP(id) REG_IS_CP((id), KVM_REG_ARM_VFP)
-#define REG_VFP_REG(id) ((id) & KVM_REG_ARM_VFP_MASK)
+constexpr bool
+regIsCore(uint64_t id)
+{
+return regIsCp(id, KVM_REG_ARM_CORE);
+}
+
+constexpr bool
+regIsVfp(uint64_t id)
+{
+return regIsCp(id, KVM_REG_ARM_VFP);
+}
+
+constexpr uint64_t
+regVfpReg(uint64_t id)
+{
+return id & KVM_REG_ARM_VFP_MASK;
+}
+
 // HACK: These aren't really defined in any of the headers, so we'll
 // assume some reasonable values for now.
-#define REG_IS_VFP_REG(id) (REG_VFP_REG(id) < 0x100)
-#define REG_IS_VFP_CTRL(id) (REG_VFP_REG(id) >= 0x100)
+constexpr bool
+regIsVfpReg(uint64_t id)
+{
+return regVfpReg(id) < 0x100;
+}
+constexpr bool
+regIsVfpCtrl(uint64_t id)
+{
+return regVfpReg(id) >= 0x100;
+}

-#define REG_IS_DEMUX(id) REG_IS_CP((id), KVM_REG_ARM_DEMUX)
+constexpr bool
+regIsDemux(uint64_t id)
+{
+return regIsCp(id, KVM_REG_ARM_DEMUX);
+}


 // There is no constant in the kernel headers defining the mask to use
 // to get the core register index. We'll just do what they do
 // internally.
-#define REG_CORE_IDX(id)\
-(~(KVM_REG_ARCH_MASK | KVM_REG_SIZE_MASK | KVM_REG_ARM_CORE))
+constexpr uint64_t
+regCoreIdx(uint64_t id)
+{
+return ~(KVM_REG_ARCH_MASK | KVM_REG_SIZE_MASK | KVM_REG_ARM_CORE);
+}

-#define REG_CP(id)  \
-EXTRACT_FIELD(id, KVM_REG_ARM_COPROC_MASK, KVM_REG_ARM_COPROC_SHIFT)
+constexpr uint64_t
+regCp(uint64_t id)
+{
+return extractField(id, KVM_REG_ARM_COPROC_MASK,  
KVM_REG_ARM_COPROC_SHIFT);

+}

-#define REG_CRN(id) \
-EXTRACT_FIELD(id, KVM_REG_ARM_32_CRN_MASK, KVM_REG_ARM_32_CRN_SHIFT)
+constexpr uint64_t
+regCrn(uint64_t id)
+{
+return extractField(id, KVM_REG_ARM_32_CRN_MASK,  
KVM_REG_ARM_32_CRN_SHIFT);

+}

-#define REG_OPC1(id)\
-EXTRACT_FIELD(id, KVM_REG_ARM_OPC1_MASK, KVM_REG_ARM_OPC1_SHIFT)
+constexpr uint64_t
+regOpc1(uint64_t id)
+{
+return extractField(id, KVM_REG_ARM_OPC1_MASK, KVM_REG_ARM_OPC1_SHIFT);
+}

-#define REG_CRM(id) \
-EXTRACT_FIELD(id, KVM_REG_ARM_CRM_MASK, KVM_REG_ARM_CRM_SHIFT)
+constexpr uint64_t
+regCrm(uint64_t id)
+{
+return extractField(id, KVM_REG_ARM_CRM_MASK, KVM_REG_ARM_CRM_SHIFT);
+}

-#define REG_OPC2(id)\
-EXTRACT_FIELD(id, KVM_REG_ARM_32_OPC2_MASK, KVM_REG_ARM_32_OPC2_SHIFT)
+constexpr uint64_t
+regOpc2(uint64_t id)
+{
+return extractField(id, KVM_REG_ARM_32_OPC2_MASK,
+KVM_REG_ARM_32_OPC2_SHIFT);
+}

-#define REG_CP32(cpnum, crn, opc1, crm, opc2) ( \
- 

[gem5-dev] Change in gem5/gem5[develop]: tests: Add a sleep to the jenkins presubmit.sh

2021-05-25 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45999 )



Change subject: tests: Add a sleep to the jenkins presubmit.sh
..

tests: Add a sleep to the jenkins presubmit.sh

This is an experimental fix for an issue discussed here:
https://www.mail-archive.com/gem5-dev@gem5.org/msg39122.html

It is not known why Kokoro sometimes fails, but it may be due to the
Docker service not starting fully prior to execution of the tests
within a Docker container. As such a 5 second sleep has been added
between starting the Docker service and running the tests.

This patch will be reverted if it is found to not solve the issue.

Change-Id: I0d2dd8a080f64296e55f4b6de9a036d94d19c8ac
---
M tests/jenkins/presubmit.sh
1 file changed, 4 insertions(+), 0 deletions(-)



diff --git a/tests/jenkins/presubmit.sh b/tests/jenkins/presubmit.sh
index f27c23c..1714751 100755
--- a/tests/jenkins/presubmit.sh
+++ b/tests/jenkins/presubmit.sh
@@ -47,6 +47,10 @@
 sudo ln -s /tmpfs/docker /var/lib/docker
 sudo /etc/init.d/docker start

+# This is a conservative step to ensure the docker service is fully running
+# prior to executing the tests.
+sleep 5
+
 # Move the CWD to the gem5 checkout.
 cd git/jenkins-gem5-prod/


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45999
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: I0d2dd8a080f64296e55f4b6de9a036d94d19c8ac
Gerrit-Change-Number: 45999
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce 
Gerrit-MessageType: newchange
___
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: Delete the cpu/o3/isa_specific.hh header.

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


Change subject: cpu: Delete the cpu/o3/isa_specific.hh header.
..

cpu: Delete the cpu/o3/isa_specific.hh header.

This header has no contents and serves no purpose.

Change-Id: I574a4bb248f09ab94c38eebe18a9285dae6604db
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42221
Tested-by: kokoro 
Reviewed-by: Nathanael Premillieu 
Maintainer: Gabe Black 
---
M src/cpu/o3/cpu.cc
M src/cpu/o3/dyn_inst.hh
M src/cpu/o3/fetch.cc
D src/cpu/o3/isa_specific.hh
M src/cpu/o3/thread_context.hh
5 files changed, 2 insertions(+), 34 deletions(-)

Approvals:
  Nathanael Premillieu: Looks good to me, approved
  Gabe Black: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index 1bd7baa..cfee8cd 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -46,7 +46,6 @@
 #include "cpu/activity.hh"
 #include "cpu/checker/cpu.hh"
 #include "cpu/checker/thread_context.hh"
-#include "cpu/o3/isa_specific.hh"
 #include "cpu/o3/limits.hh"
 #include "cpu/o3/thread_context.hh"
 #include "cpu/simple_thread.hh"
diff --git a/src/cpu/o3/dyn_inst.hh b/src/cpu/o3/dyn_inst.hh
index cbcadf3..24665a5 100644
--- a/src/cpu/o3/dyn_inst.hh
+++ b/src/cpu/o3/dyn_inst.hh
@@ -58,7 +58,6 @@
 #include "cpu/inst_seq.hh"
 #include "cpu/o3/cpu.hh"
 #include "cpu/o3/dyn_inst_ptr.hh"
-#include "cpu/o3/isa_specific.hh"
 #include "cpu/o3/lsq_unit.hh"
 #include "cpu/op_class.hh"
 #include "cpu/reg_class.hh"
diff --git a/src/cpu/o3/fetch.cc b/src/cpu/o3/fetch.cc
index aa705a6..571e98d 100644
--- a/src/cpu/o3/fetch.cc
+++ b/src/cpu/o3/fetch.cc
@@ -55,7 +55,7 @@
 #include "cpu/exetrace.hh"
 #include "cpu/nop_static_inst.hh"
 #include "cpu/o3/cpu.hh"
-#include "cpu/o3/isa_specific.hh"
+#include "cpu/o3/dyn_inst.hh"
 #include "cpu/o3/limits.hh"
 #include "debug/Activity.hh"
 #include "debug/Drain.hh"
diff --git a/src/cpu/o3/isa_specific.hh b/src/cpu/o3/isa_specific.hh
deleted file mode 100644
index a5b5710..000
--- a/src/cpu/o3/isa_specific.hh
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2006 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "cpu/base.hh"
-#include "cpu/o3/dyn_inst.hh"
diff --git a/src/cpu/o3/thread_context.hh b/src/cpu/o3/thread_context.hh
index 48d7f52..e946b88 100644
--- a/src/cpu/o3/thread_context.hh
+++ b/src/cpu/o3/thread_context.hh
@@ -43,7 +43,7 @@
 #define __CPU_O3_THREAD_CONTEXT_HH__

 #include "config/the_isa.hh"
-#include "cpu/o3/isa_specific.hh"
+#include "cpu/o3/cpu.hh"
 #include "cpu/thread_context.hh"

 namespace o3



16 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/+/42221
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: I574a4bb248f09ab94c38eebe18a9285dae6604db
Gerrit-Change-Number: 42221
Gerrit-PatchSet: 21
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: Nathanael Premillieu 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email 

[gem5-dev] Re: problem with docker image?

2021-05-25 Thread Gabe Black via gem5-dev
Yeah, I'm hesitant to blame the docker image too, since as far as I know it
hasn't really changed much recently, and this problem has only really
started recently, although I've hit it a lot in the last few days. Some
sort of timing issue seems like a reasonable hypothesis. Could you please
add the sleep? I think even 1s is likely to help, or maybe some sort of
wait-and-check loop?

I think this:

bash: : command not found

looks strange at first, but what I think is missing is a command between
the two :s, or in other words this is really "bash: ${CMD}: command not
found", and given that this is bash, I'd be willing to bet there's some
variable which hasn't been set and which is being used in a command, and
rather than complaining that variable BLAH_BLAH isn't set, it just expands
to nothing and creates an invalid command line.

I would also suspect that the command line in question has no arguments, or
the arguments are built into the variable, since otherwise the first
argument would become the command and it would say something like "bash:
-l: command not found" or similar.

Gabe

On Tue, May 25, 2021 at 9:59 AM Bobby Bruce  wrote:

> Correction: The command is "sleep", not "wait" :).
>
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Tue, May 25, 2021 at 9:46 AM Bobby Bruce  wrote:
>
>> It is annoying when this happens, and doubly so that it's clearly flakey
>> and hard to reproduce. However, I've only ever seen this on Kokoro so I
>> think the blame is somewhere there. Keep in mind, we run nightly tests
>> using the same image and never seem to run into this issue, I'm quite
>> confident the images are good..
>>
>> I'm very confident in this theory, but we do stop and start the Docker
>> service just before running the docker command (in
>> `tests/jenkins/presubmit.sh`). It could be the Jenkins service is still
>> figuring stuff out and needs a few more nanoseconds before we jump in and
>> booting a container. We could put a "wait 5" between starting the service
>> and running our tests to see if that helps.
>>
>> --
>> Dr. Bobby R. Bruce
>> Room 3050,
>> Kemper Hall, UC Davis
>> Davis,
>> CA, 95616
>>
>> web: https://www.bobbybruce.net
>>
>>
>> On Mon, May 24, 2021 at 11:21 PM Gabe Black via gem5-dev <
>> gem5-dev@gem5.org> wrote:
>>
>>> Hi folks. I've noticed kokoro runs occasionally failing with:
>>>
>>> bash: : command not found
>>>
>>> This is after the docker command runs it looks like, so I'm assuming
>>> this is a problem with our docker image? Any ideas?
>>>
>>>
>>> https://source.cloud.google.com/results/invocations/563a3724-49d8-4136-b30f-e19f85db8332/targets/gem5%2Fgcp_ubuntu%2Fpresubmit/log
>>> ___
>>> 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 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: Build failed in Jenkins: nightly #321

2021-05-25 Thread Bobby Bruce via gem5-dev
Just an FYI: I'm looking into this. It appears the
realview-o3-ARM-x86_64-opt test is hanging until our timeout is reached.
I'm currently trying to find the offending commit and will report back on
possible fixes.

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

web: https://www.bobbybruce.net


On Mon, May 24, 2021 at 10:08 PM jenkins-no-reply--- via gem5-dev <
gem5-dev@gem5.org> wrote:

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

[gem5-dev] Re: problem with docker image?

2021-05-25 Thread Bobby Bruce via gem5-dev
Correction: The command is "sleep", not "wait" :).

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

web: https://www.bobbybruce.net


On Tue, May 25, 2021 at 9:46 AM Bobby Bruce  wrote:

> It is annoying when this happens, and doubly so that it's clearly flakey
> and hard to reproduce. However, I've only ever seen this on Kokoro so I
> think the blame is somewhere there. Keep in mind, we run nightly tests
> using the same image and never seem to run into this issue, I'm quite
> confident the images are good..
>
> I'm very confident in this theory, but we do stop and start the Docker
> service just before running the docker command (in
> `tests/jenkins/presubmit.sh`). It could be the Jenkins service is still
> figuring stuff out and needs a few more nanoseconds before we jump in and
> booting a container. We could put a "wait 5" between starting the service
> and running our tests to see if that helps.
>
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
>
> On Mon, May 24, 2021 at 11:21 PM Gabe Black via gem5-dev <
> gem5-dev@gem5.org> wrote:
>
>> Hi folks. I've noticed kokoro runs occasionally failing with:
>>
>> bash: : command not found
>>
>> This is after the docker command runs it looks like, so I'm assuming this
>> is a problem with our docker image? Any ideas?
>>
>>
>> https://source.cloud.google.com/results/invocations/563a3724-49d8-4136-b30f-e19f85db8332/targets/gem5%2Fgcp_ubuntu%2Fpresubmit/log
>> ___
>> 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 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]: arch-sparc: Create a local port proxy for functional accesses.

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


Change subject: arch-sparc: Create a local port proxy for functional  
accesses.

..

arch-sparc: Create a local port proxy for functional accesses.

Don't retrieve one from the thread context since it's just as easy to
make one from scratch.

Change-Id: I46a812df656a553cc0bd94f61a371b595412a9b3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45904
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Bobby R. Bruce 
---
M src/arch/sparc/tlb.cc
1 file changed, 1 insertion(+), 1 deletion(-)

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



diff --git a/src/arch/sparc/tlb.cc b/src/arch/sparc/tlb.cc
index 6337f38..2a84aed 100644
--- a/src/arch/sparc/tlb.cc
+++ b/src/arch/sparc/tlb.cc
@@ -897,7 +897,7 @@
 if (!FullSystem)
 return tc->getProcessPtr()->pTable->translate(req);

-PortProxy  = tc->getPhysProxy();
+PortProxy mem(tc, tc->getSystemPtr()->cacheLineSize());
 // We didn't find it in the tlbs, so lets look at the TSBs
 GetTsbPtr(tc, vaddr, ctx_zero ? 0 : pri_context, tsbs);
 va_tag = bits(vaddr, 63, 22);



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/+/45904
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: I46a812df656a553cc0bd94f61a371b595412a9b3
Gerrit-Change-Number: 45904
Gerrit-PatchSet: 3
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Boris Shingarov 
Gerrit-Reviewer: Gabe Black 
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] Re: problem with docker image?

2021-05-25 Thread Bobby Bruce via gem5-dev
It is annoying when this happens, and doubly so that it's clearly flakey
and hard to reproduce. However, I've only ever seen this on Kokoro so I
think the blame is somewhere there. Keep in mind, we run nightly tests
using the same image and never seem to run into this issue, I'm quite
confident the images are good..

I'm very confident in this theory, but we do stop and start the Docker
service just before running the docker command (in
`tests/jenkins/presubmit.sh`). It could be the Jenkins service is still
figuring stuff out and needs a few more nanoseconds before we jump in and
booting a container. We could put a "wait 5" between starting the service
and running our tests to see if that helps.

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

web: https://www.bobbybruce.net


On Mon, May 24, 2021 at 11:21 PM Gabe Black via gem5-dev 
wrote:

> Hi folks. I've noticed kokoro runs occasionally failing with:
>
> bash: : command not found
>
> This is after the docker command runs it looks like, so I'm assuming this
> is a problem with our docker image? Any ideas?
>
>
> https://source.cloud.google.com/results/invocations/563a3724-49d8-4136-b30f-e19f85db8332/targets/gem5%2Fgcp_ubuntu%2Fpresubmit/log
> ___
> 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 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[minor-release-staging-v21-0-1]: systemc: Set verify.py shebang to python3

2021-05-25 Thread Yu-hsin Wang (Gerrit) via gem5-dev
Yu-hsin Wang has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45980 )



Change subject: systemc: Set verify.py shebang to python3
..

systemc: Set verify.py shebang to python3

Change-Id: Id33658c19f6ccfe5d1552599ad7928bae99784d4
---
M src/systemc/tests/verify.py
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/systemc/tests/verify.py b/src/systemc/tests/verify.py
index 95812f4..076d1d5 100755
--- a/src/systemc/tests/verify.py
+++ b/src/systemc/tests/verify.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # Copyright 2018 Google, Inc.
 #

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


Gerrit-Project: public/gem5
Gerrit-Branch: minor-release-staging-v21-0-1
Gerrit-Change-Id: Id33658c19f6ccfe5d1552599ad7928bae99784d4
Gerrit-Change-Number: 45980
Gerrit-PatchSet: 1
Gerrit-Owner: Yu-hsin Wang 
Gerrit-MessageType: newchange
___
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]: systemc: Set verify.py shebang to python3

2021-05-25 Thread Yu-hsin Wang (Gerrit) via gem5-dev
Yu-hsin Wang has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45979 )



Change subject: systemc: Set verify.py shebang to python3
..

systemc: Set verify.py shebang to python3

Change-Id: Id33658c19f6ccfe5d1552599ad7928bae99784d4
---
M src/systemc/tests/verify.py
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/systemc/tests/verify.py b/src/systemc/tests/verify.py
index 95812f4..076d1d5 100755
--- a/src/systemc/tests/verify.py
+++ b/src/systemc/tests/verify.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 #
 # Copyright 2018 Google, Inc.
 #

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45979
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: Id33658c19f6ccfe5d1552599ad7928bae99784d4
Gerrit-Change-Number: 45979
Gerrit-PatchSet: 1
Gerrit-Owner: Yu-hsin Wang 
Gerrit-MessageType: newchange
___
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]: dev: Put PS2 classes in the ps2 namespace

2021-05-25 Thread Daniel Carvalho (Gerrit) via gem5-dev
Daniel Carvalho has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45395 )


Change subject: dev: Put PS2 classes in the ps2 namespace
..

dev: Put PS2 classes in the ps2 namespace

These classes belong in the ps2 namespace. Use this
opportunity to rename PS2Device as ps2::Device, and
PS2TouchKit as ps2::TouchKit.

Unfortunately, since the ps2::Mouse and ps2::Keyboard
namespaces are being deprecated, these names cannot be
used as of now to rename PS2Mouse and PS2Keyboard.

Change-Id: I9a57b87053a6a0acb380a919e09ab427fdb8eca4
Signed-off-by: Daniel R. Carvalho 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45395
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
Reviewed-by: Hoa Nguyen 
---
M src/dev/arm/kmi.hh
M src/dev/ps2/PS2.py
M src/dev/ps2/device.cc
M src/dev/ps2/device.hh
M src/dev/ps2/keyboard.cc
M src/dev/ps2/keyboard.hh
M src/dev/ps2/mouse.cc
M src/dev/ps2/mouse.hh
M src/dev/ps2/touchkit.cc
M src/dev/ps2/touchkit.hh
M src/dev/ps2/types.cc
M src/dev/x86/i8042.hh
12 files changed, 154 insertions(+), 94 deletions(-)

Approvals:
  Hoa Nguyen: Looks good to me, approved
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/dev/arm/kmi.hh b/src/dev/arm/kmi.hh
index 03e9dbd..5a9894b 100644
--- a/src/dev/arm/kmi.hh
+++ b/src/dev/arm/kmi.hh
@@ -52,7 +52,9 @@
 #include "dev/arm/amba_device.hh"
 #include "params/Pl050.hh"

-class PS2Device;
+namespace ps2 {
+class Device;
+} // namespace ps2

 class Pl050 : public AmbaIntDevice
 {
@@ -123,7 +125,7 @@
 InterruptReg getInterrupt() const;

 /** PS2 device connected to this KMI interface */
-PS2Device *ps2Device;
+ps2::Device *ps2Device;

   public:
 Pl050(const Pl050Params );
diff --git a/src/dev/ps2/PS2.py b/src/dev/ps2/PS2.py
index b250859..3c31b6b 100644
--- a/src/dev/ps2/PS2.py
+++ b/src/dev/ps2/PS2.py
@@ -40,20 +40,24 @@
 class PS2Device(SimObject):
 type = 'PS2Device'
 cxx_header = "dev/ps2/device.hh"
+cxx_class = "ps2::Device"
 abstract = True

 class PS2Keyboard(PS2Device):
 type = 'PS2Keyboard'
 cxx_header = "dev/ps2/keyboard.hh"
+cxx_class = "ps2::PS2Keyboard"

 vnc = Param.VncInput(Parent.any, "VNC server providing keyboard input")

 class PS2Mouse(PS2Device):
 type = 'PS2Mouse'
 cxx_header = "dev/ps2/mouse.hh"
+cxx_class = "ps2::PS2Mouse"

 class PS2TouchKit(PS2Device):
 type = 'PS2TouchKit'
 cxx_header = "dev/ps2/touchkit.hh"
+cxx_class = "ps2::TouchKit"

 vnc = Param.VncInput(Parent.any, "VNC server providing mouse input")
diff --git a/src/dev/ps2/device.cc b/src/dev/ps2/device.cc
index b9dfafb..71139e4 100644
--- a/src/dev/ps2/device.cc
+++ b/src/dev/ps2/device.cc
@@ -40,6 +40,8 @@

 #include "dev/ps2/device.hh"

+#include 
+
 #include "base/logging.hh"
 #include "base/trace.hh"
 #include "debug/PS2.hh"
@@ -47,14 +49,17 @@
 #include "params/PS2Device.hh"
 #include "sim/serialize.hh"

-PS2Device::PS2Device(const PS2DeviceParams )
+namespace ps2
+{
+
+Device::Device(const PS2DeviceParams )
 : SimObject(p)
 {
 inBuffer.reserve(16);
 }

 void
-PS2Device::serialize(CheckpointOut ) const
+Device::serialize(CheckpointOut ) const
 {
 std::vector buffer(outBuffer.size());
 std::copy(outBuffer.begin(), outBuffer.end(), buffer.begin());
@@ -64,7 +69,7 @@
 }

 void
-PS2Device::unserialize(CheckpointIn )
+Device::unserialize(CheckpointIn )
 {
 std::vector buffer;
 arrayParamIn(cp, "outBuffer", buffer);
@@ -75,7 +80,7 @@
 }

 void
-PS2Device::hostRegDataAvailable(const std::function )
+Device::hostRegDataAvailable(const std::function )
 {
 fatal_if(dataAvailableCallback,
  "A data pending callback has already been associated with  
this "

@@ -85,7 +90,7 @@
 }

 uint8_t
-PS2Device::hostRead()
+Device::hostRead()
 {
 uint8_t data = outBuffer.front();
 outBuffer.pop_front();
@@ -93,7 +98,7 @@
 }

 void
-PS2Device::hostWrite(uint8_t c)
+Device::hostWrite(uint8_t c)
 {
 DPRINTF(PS2, "PS2: Host -> device: %#x\n", c);
 inBuffer.push_back(c);
@@ -102,7 +107,7 @@
 }

 void
-PS2Device::send(const uint8_t *data, size_t size)
+Device::send(const uint8_t *data, size_t size)
 {
 assert(data || size == 0);
 while (size) {
@@ -117,7 +122,9 @@
 }

 void
-PS2Device::sendAck()
+Device::sendAck()
 {
-send(ps2::Ack);
+send(Ack);
 }
+
+} // namespace ps2
diff --git a/src/dev/ps2/device.hh b/src/dev/ps2/device.hh
index 9671876..397529d 100644
--- a/src/dev/ps2/device.hh
+++ b/src/dev/ps2/device.hh
@@ -41,17 +41,23 @@
 #ifndef __DEV_PS2_DEVICE_HH__
 #define __DEV_PS2_DEVICE_HH__

+#include 
 #include 
+#include 
 #include 

+#include "base/compiler.hh"
 #include "sim/sim_object.hh"

 struct PS2DeviceParams;

-class PS2Device : public SimObject
+namespace ps2
+{
+
+class Device : public SimObject
 {
   public:
-PS2Device(const PS2DeviceParams );
+Device(const PS2DeviceParams 

[gem5-dev] Change in gem5/gem5[develop]: arch-x86: Rename RomLabels namespace as rom_labels

2021-05-25 Thread Daniel Carvalho (Gerrit) via gem5-dev
Daniel Carvalho has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45396 )


Change subject: arch-x86: Rename RomLabels namespace as rom_labels
..

arch-x86: Rename RomLabels namespace as rom_labels

As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

RomLabels became rom_labels.

Change-Id: I972409ab33c595baaf845bf11f2f450ab5938d54
Signed-off-by: Daniel R. Carvalho 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45396
Reviewed-by: Bobby R. Bruce 
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
---
M src/arch/x86/faults.cc
M src/arch/x86/isa/microasm.isa
M src/arch/x86/isa/microops/base.isa
M src/arch/x86/isa/rom.isa
4 files changed, 9 insertions(+), 7 deletions(-)

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



diff --git a/src/arch/x86/faults.cc b/src/arch/x86/faults.cc
index 97d7b88..749e743 100644
--- a/src/arch/x86/faults.cc
+++ b/src/arch/x86/faults.cc
@@ -64,7 +64,7 @@
 PCState pcState = tc->pcState();
 Addr pc = pcState.pc();
 DPRINTF(Faults, "RIP %#x: vector %d: %s\n", pc, vector, describe());
-using namespace X86ISAInst::RomLabels;
+using namespace X86ISAInst::rom_labels;
 HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);
 MicroPC entry;
 if (m5reg.mode == LongMode) {
@@ -292,7 +292,7 @@

 // Update the handy M5 Reg.
 tc->setMiscReg(MISCREG_M5_REG, 0);
-MicroPC entry = X86ISAInst::RomLabels::extern_label_initIntHalt;
+MicroPC entry = X86ISAInst::rom_labels::extern_label_initIntHalt;
 pc.upc(romMicroPC(entry));
 pc.nupc(romMicroPC(entry) + 1);
 tc->pcState(pc);
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa
index bac4902..ff110f1 100644
--- a/src/arch/x86/isa/microasm.isa
+++ b/src/arch/x86/isa/microasm.isa
@@ -216,12 +216,12 @@
 assembler.symbols["label"] = labeler

 def rom_labeler(labelStr):
-return "romMicroPC(RomLabels::extern_label_%s)" % labelStr
+return "romMicroPC(rom_labels::extern_label_%s)" % labelStr

 assembler.symbols["rom_label"] = rom_labeler

 def rom_local_labeler(labelStr):
-return "romMicroPC(RomLabels::label_%s)" % labelStr
+return "romMicroPC(rom_labels::label_%s)" % labelStr

 assembler.symbols["rom_local_label"] = rom_local_labeler

diff --git a/src/arch/x86/isa/microops/base.isa  
b/src/arch/x86/isa/microops/base.isa

index b9e499c..2dea9a3 100644
--- a/src/arch/x86/isa/microops/base.isa
+++ b/src/arch/x86/isa/microops/base.isa
@@ -215,7 +215,7 @@
 macroop ? macroop->getExtMachInst() : dummyExtMachInst;
 GEM5_VAR_USED const EmulEnv  =
 macroop ? macroop->getEmulEnv() : dummyEmulEnv;
-using namespace RomLabels;
+using namespace rom_labels;
 return %s;
 }
 '''
diff --git a/src/arch/x86/isa/rom.isa b/src/arch/x86/isa/rom.isa
index 1f41ad1..f0153ef 100644
--- a/src/arch/x86/isa/rom.isa
+++ b/src/arch/x86/isa/rom.isa
@@ -31,7 +31,7 @@

 X86ISA::MicrocodeRom::MicrocodeRom()
 {
-using namespace RomLabels;
+using namespace rom_labels;
 genFuncs = new GenFunc[numMicroops];
 %(alloc_generators)s;
 }
@@ -52,7 +52,9 @@


 def getDeclaration(self):
-declareLabels = "namespace RomLabels {\n"
+declareLabels = \
+"GEM5_DEPRECATED_NAMESPACE(RomLabels, rom_labels);\n"
+declareLabels += "namespace rom_labels\n{\n"
 for (label, microop) in self.labels.items():
 declareLabels += "const static uint64_t label_%s = %d;\n" \
   % (label, microop.micropc)

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45396
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: I972409ab33c595baaf845bf11f2f450ab5938d54
Gerrit-Change-Number: 45396
Gerrit-PatchSet: 6
Gerrit-Owner: Daniel Carvalho 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
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]: arch-riscv: Use inst virtual address to create a page fault

2021-05-25 Thread Ayaz Akram (Gerrit) via gem5-dev
Ayaz Akram has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/45920 )



Change subject: arch-riscv: Use inst virtual address to create a page fault
..

arch-riscv: Use inst virtual address to create a page fault

According to privileged ISA specs, on a page fault, mtval
is written with the faulting virtual address and not the page
address.

Change-Id: Iae7c9d0af19e29214e14a0db08d7c0ac122122bc
---
M src/arch/riscv/pagetable_walker.cc
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/arch/riscv/pagetable_walker.cc  
b/src/arch/riscv/pagetable_walker.cc

index d3c3905..45dcf7f 100644
--- a/src/arch/riscv/pagetable_walker.cc
+++ b/src/arch/riscv/pagetable_walker.cc
@@ -582,7 +582,7 @@
 Walker::WalkerState::pageFault(bool present)
 {
 DPRINTF(PageTableWalker, "Raising page fault.\n");
-return walker->tlb->createPagefault(entry.vaddr, mode);
+return walker->tlb->createPagefault(req->getVaddr(), mode);
 }

 } /* end namespace RiscvISA */

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45920
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: Iae7c9d0af19e29214e14a0db08d7c0ac122122bc
Gerrit-Change-Number: 45920
Gerrit-PatchSet: 1
Gerrit-Owner: Ayaz Akram 
Gerrit-MessageType: newchange
___
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 the getSendFunctional method.

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


Change subject: cpu,fastmodel: Get rid of the getSendFunctional method.
..

cpu,fastmodel: Get rid of the getSendFunctional method.

Change-Id: Ib901f6a37220357fe9f1863f12ee18daed31a538
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45865
Tested-by: kokoro 
Reviewed-by: Yu-hsin Wang 
Reviewed-by: Jason Lowe-Power 
Maintainer: Gabe Black 
---
M src/arch/arm/fastmodel/iris/cpu.hh
M src/cpu/base.hh
2 files changed, 0 insertions(+), 17 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/arch/arm/fastmodel/iris/cpu.hh  
b/src/arch/arm/fastmodel/iris/cpu.hh

index 0baebec..7ae0f7f 100644
--- a/src/arch/arm/fastmodel/iris/cpu.hh
+++ b/src/arch/arm/fastmodel/iris/cpu.hh
@@ -83,12 +83,6 @@
 Counter totalInsts() const override;
 Counter totalOps() const override { return totalInsts(); }

-PortProxy::SendFunctionalFunc
-getSendFunctional() override
-{
-return [this] (PacketPtr pkt) { evs_base_cpu->sendFunc(pkt); };
-}
-
   protected:
 sc_core::sc_module *evs;
 // Hold casted pointer to *evs.
diff --git a/src/cpu/base.hh b/src/cpu/base.hh
index 6d324da..daa0813 100644
--- a/src/cpu/base.hh
+++ b/src/cpu/base.hh
@@ -174,17 +174,6 @@
 virtual Port () = 0;

 /**
- * Returns a sendFunctional delegate for use with port proxies.
- */
-virtual PortProxy::SendFunctionalFunc
-getSendFunctional()
-{
-auto port = dynamic_cast(());
-assert(port);
-return [port](PacketPtr pkt)->void { port->sendFunctional(pkt); };
-}
-
-/**
  * Purely virtual method that returns a reference to the instruction
  * port. All subclasses must implement this method.
  *



2 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/+/45865
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: Ib901f6a37220357fe9f1863f12ee18daed31a538
Gerrit-Change-Number: 45865
Gerrit-PatchSet: 4
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]: misc: Stop using BaseCPU::getSendFunctional.

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


Change subject: misc: Stop using BaseCPU::getSendFunctional.
..

misc: Stop using BaseCPU::getSendFunctional.

This method is no longer used, and has been replaced by the
ThreadContext::sendFunctional method.

Change-Id: I5a37f44d922245f681b6185c27232150a4eea4f0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45864
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Yu-hsin Wang 
Reviewed-by: Jason Lowe-Power 
---
M src/arch/arm/fastmodel/iris/thread_context.cc
M src/cpu/thread_state.cc
M src/mem/translating_port_proxy.cc
3 files changed, 3 insertions(+), 9 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/arch/arm/fastmodel/iris/thread_context.cc  
b/src/arch/arm/fastmodel/iris/thread_context.cc

index 043971f..3116139 100644
--- a/src/arch/arm/fastmodel/iris/thread_context.cc
+++ b/src/arch/arm/fastmodel/iris/thread_context.cc
@@ -479,8 +479,7 @@
 {
 if (FullSystem) {
 assert(!physProxy && !virtProxy);
-physProxy.reset(new PortProxy(_cpu->getSendFunctional(),
-  _cpu->cacheLineSize()));
+physProxy.reset(new PortProxy(tc, _cpu->cacheLineSize()));
 virtProxy.reset(new TranslatingPortProxy(tc));
 } else {
 assert(!virtProxy);
diff --git a/src/cpu/thread_state.cc b/src/cpu/thread_state.cc
index 187e82c..740f8a5 100644
--- a/src/cpu/thread_state.cc
+++ b/src/cpu/thread_state.cc
@@ -88,11 +88,7 @@
 // switching the CPU in.
 if (FullSystem) {
 assert(physProxy == NULL);
-// This cannot be done in the constructor as the thread state
-// itself is created in the base cpu constructor and the
-// getSendFunctional is a virtual function
-physProxy = new PortProxy(baseCpu->getSendFunctional(),
-  baseCpu->cacheLineSize());
+physProxy = new PortProxy(tc, baseCpu->cacheLineSize());

 assert(virtProxy == NULL);
 virtProxy = new TranslatingPortProxy(tc);
diff --git a/src/mem/translating_port_proxy.cc  
b/src/mem/translating_port_proxy.cc

index 27a2d67..e5117d0 100644
--- a/src/mem/translating_port_proxy.cc
+++ b/src/mem/translating_port_proxy.cc
@@ -53,8 +53,7 @@

 TranslatingPortProxy::TranslatingPortProxy(
 ThreadContext *tc, Request::Flags _flags) :
-PortProxy(tc->getCpuPtr()->getSendFunctional(),
-  tc->getSystemPtr()->cacheLineSize()), _tc(tc),
+PortProxy(tc, tc->getSystemPtr()->cacheLineSize()), _tc(tc),
   pageBytes(tc->getSystemPtr()->getPageBytes()),
   flags(_flags)
 {}



2 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/+/45864
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: I5a37f44d922245f681b6185c27232150a4eea4f0
Gerrit-Change-Number: 45864
Gerrit-PatchSet: 4
Gerrit-Owner: Gabe Black 
Gerrit-Reviewer: Bobby R. Bruce 
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] problem with docker image?

2021-05-25 Thread Gabe Black via gem5-dev
Hi folks. I've noticed kokoro runs occasionally failing with:

bash: : command not found

This is after the docker command runs it looks like, so I'm assuming this
is a problem with our docker image? Any ideas?

https://source.cloud.google.com/results/invocations/563a3724-49d8-4136-b30f-e19f85db8332/targets/gem5%2Fgcp_ubuntu%2Fpresubmit/log
___
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