[gem5-dev] Change in gem5/gem5[develop]: cpu-kvm: Fix missing includes

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


Change subject: cpu-kvm: Fix missing includes
..

cpu-kvm: Fix missing includes

"struct kvm_*" are declared in linux/kvm.h, and
were not being included nor forward declared in
the header file were it was being used.

Change-Id: I511bad19882450f8ecdd6b5efb687026d0fd94ca
Signed-off-by: Daniel R. Carvalho 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46321
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/cpu/kvm/base.hh
M src/cpu/kvm/vm.hh
M src/cpu/kvm/x86_cpu.hh
3 files changed, 21 insertions(+), 0 deletions(-)

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



diff --git a/src/cpu/kvm/base.hh b/src/cpu/kvm/base.hh
index a19152b..070985d 100644
--- a/src/cpu/kvm/base.hh
+++ b/src/cpu/kvm/base.hh
@@ -55,6 +55,13 @@
 /** Signal to use to trigger exits from KVM */
 #define KVM_KICK_SIGNAL SIGRTMIN

+struct kvm_coalesced_mmio_ring;
+struct kvm_fpu;
+struct kvm_interrupt;
+struct kvm_regs;
+struct kvm_run;
+struct kvm_sregs;
+
 // forward declarations
 class ThreadContext;
 struct BaseKvmCPUParams;
diff --git a/src/cpu/kvm/vm.hh b/src/cpu/kvm/vm.hh
index 340e6f5..d033bb6 100644
--- a/src/cpu/kvm/vm.hh
+++ b/src/cpu/kvm/vm.hh
@@ -44,6 +44,11 @@
 #include "base/addr_range.hh"
 #include "sim/sim_object.hh"

+struct kvm_cpuid_entry2;
+struct kvm_cpuid2;
+struct kvm_msr_list;
+struct kvm_vcpu_init;
+
 // forward declarations
 struct KvmVMParams;
 class BaseKvmCPU;
diff --git a/src/cpu/kvm/x86_cpu.hh b/src/cpu/kvm/x86_cpu.hh
index a114a8a..19743f4 100644
--- a/src/cpu/kvm/x86_cpu.hh
+++ b/src/cpu/kvm/x86_cpu.hh
@@ -29,10 +29,19 @@
 #ifndef __CPU_KVM_X86_CPU_HH__
 #define __CPU_KVM_X86_CPU_HH__

+#include 
+
 #include "cpu/kvm/base.hh"
 #include "cpu/kvm/vm.hh"
 #include "params/X86KvmCPU.hh"

+struct kvm_debugregs;
+struct kvm_msr_entry;
+struct kvm_msrs;
+struct kvm_vcpu_events;
+struct kvm_xcrs;
+struct kvm_xsave;
+
 /**
  * x86 implementation of a KVM-based hardware virtualized CPU.
  */

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/46321
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: I511bad19882450f8ecdd6b5efb687026d0fd94ca
Gerrit-Change-Number: 46321
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Carvalho 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Daniel Carvalho 
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]: mem-ruby: Appease compiler with return values

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


Change subject: mem-ruby: Appease compiler with return values
..

mem-ruby: Appease compiler with return values

Add default values for the cases where gem5 panics to
appease the compiler.

Change-Id: Ib15a63abfb6f1ffed6ce628f52a57388d2173c44
Signed-off-by: Daniel R. Carvalho 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46320
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/mem/ruby/slicc_interface/AbstractCacheEntry.hh
M src/mem/slicc/symbols/Type.py
2 files changed, 18 insertions(+), 4 deletions(-)

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



diff --git a/src/mem/ruby/slicc_interface/AbstractCacheEntry.hh  
b/src/mem/ruby/slicc_interface/AbstractCacheEntry.hh

index aa37cc5..48e3b9d 100644
--- a/src/mem/ruby/slicc_interface/AbstractCacheEntry.hh
+++ b/src/mem/ruby/slicc_interface/AbstractCacheEntry.hh
@@ -50,10 +50,9 @@
 #include "base/logging.hh"
 #include "mem/cache/replacement_policies/replaceable_entry.hh"
 #include "mem/ruby/common/Address.hh"
+#include "mem/ruby/common/DataBlock.hh"
 #include "mem/ruby/protocol/AccessPermission.hh"

-class DataBlock;
-
 class AbstractCacheEntry : public ReplaceableEntry
 {
   private:
@@ -73,8 +72,15 @@

 // The methods below are those called by ruby runtime, add when it
 // is absolutely necessary and should all be virtual function.
-virtual DataBlock& getDataBlk()
-{ panic("getDataBlk() not implemented!"); }
+virtual DataBlock&
+getDataBlk()
+{
+panic("getDataBlk() not implemented!");
+
+// Dummy return to appease the compiler
+static DataBlock b;
+return b;
+}

 int validBlocks;
 virtual int& getNumValidBlocks()
diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py
index 7ac77ac..a1ca200 100644
--- a/src/mem/slicc/symbols/Type.py
+++ b/src/mem/slicc/symbols/Type.py
@@ -586,6 +586,8 @@
   default:
 panic("Unknown state access permission converstion for  
${{self.c_ident}}");

 }
+// Appease the compiler since this function has a return value
+return AccessPermission_Invalid;
 }

 ''')
@@ -626,6 +628,8 @@
   default:
 panic("Invalid range for type ${{self.c_ident}}");
 }
+// Appease the compiler since this function has a return value
+return "";
 }

 // Code to convert from a string to the enumeration
@@ -689,6 +693,8 @@
   default:
 panic("Invalid range for type ${{self.c_ident}}");
 }
+// Appease the compiler since this function has a return value
+return -1;
 }

 /** \\brief returns the machine type for each base vector index used by  
NetDest

@@ -772,6 +778,8 @@
   default:
 panic("Invalid range for type ${{self.c_ident}}");
 }
+// Appease the compiler since this function has a return value
+return -1;
 }
 ''')


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/46320
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: Ib15a63abfb6f1ffed6ce628f52a57388d2173c44
Gerrit-Change-Number: 46320
Gerrit-PatchSet: 3
Gerrit-Owner: Daniel Carvalho 
Gerrit-Reviewer: Daniel Carvalho 
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]: tests: Revert "Add sleep and debug to the jenkins ..."

2021-06-04 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/46419 )


Change subject: tests: Revert "Add sleep and debug to the jenkins ..."
..

tests: Revert "Add sleep and debug to the jenkins ..."

This reverts
https://gem5-review.googlesource.com/c/public/gem5/+/45999.

This patch didn't yield any useful information, nor did the sleep fix
the issue. From communications with Google, the problem is with the
Kokoro service and is currently being fixed.

Change-Id: I301b470e6f8ed5adb2cc3c0a81590ae804ef750d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/46419
Reviewed-by: Bobby R. Bruce 
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
---
M tests/jenkins/presubmit.sh
1 file changed, 0 insertions(+), 9 deletions(-)

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



diff --git a/tests/jenkins/presubmit.sh b/tests/jenkins/presubmit.sh
index e7274ee..5dc5016 100755
--- a/tests/jenkins/presubmit.sh
+++ b/tests/jenkins/presubmit.sh
@@ -36,7 +36,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 set -e
-set -x

 DOCKER_IMAGE_ALL_DEP=gcr.io/gem5-test/ubuntu-20.04_all-dependencies
 DOCKER_IMAGE_CLANG_COMPILE=gcr.io/gem5-test/clang-version-9
@@ -48,14 +47,6 @@
 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 2
-
-# Pull the docker images we require
-docker pull "${DOCKER_IMAGE_ALL_DEP}"
-docker pull "${DOCKER_IMAGE_CLANG_COMPILE}"
-
 # Move the CWD to the gem5 checkout.
 cd git/jenkins-gem5-prod/


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/46419
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: I301b470e6f8ed5adb2cc3c0a81590ae804ef750d
Gerrit-Change-Number: 46419
Gerrit-PatchSet: 2
Gerrit-Owner: Bobby R. Bruce 
Gerrit-Reviewer: Bobby R. Bruce 
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] Jenkins build is back to normal : compiler-checks #83

2021-06-04 Thread jenkins-no-reply--- via gem5-dev
See 

___
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]: mem: Fix bandwidth-delay calculation in AMPM prefetcher

2021-06-04 Thread Arthur Perais (Gerrit) via gem5-dev
Arthur Perais has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/46479 )



Change subject: mem: Fix bandwidth-delay calculation in AMPM prefetcher
..

mem: Fix bandwidth-delay calculation in AMPM prefetcher

The AMPM paper (https://www.jilp.org/vol13/v13paper3.pdf) defines
the bandwidth-delay calculation as :

  Mbandwidth= (Nrequests/Tepoch)×Tlatency

In the code, Tepoch and Tlatency are in ticks (which is okay),
but Tepoch is converted from Cycles (256K) to Ticks using the
clockEdge(Cycle c) function, which is incorrect as it yields currentTick
+ c * clockPeriod() instead of just c * clockPeriod().
In other words, the divider keeps increasing as time advances.

This patch substitutes clockEdge() with cyclesToTicks() to keep
the epoch length (Tepoch) constant throughout simulation.

Change-Id: I69dee29892fa4b9eb8de8715fd72a535e122687f
---
M src/mem/cache/prefetch/access_map_pattern_matching.cc
1 file changed, 1 insertion(+), 1 deletion(-)



diff --git a/src/mem/cache/prefetch/access_map_pattern_matching.cc  
b/src/mem/cache/prefetch/access_map_pattern_matching.cc

index 6a632e0..89418a0 100644
--- a/src/mem/cache/prefetch/access_map_pattern_matching.cc
+++ b/src/mem/cache/prefetch/access_map_pattern_matching.cc
@@ -80,7 +80,7 @@
 double num_requests = (double) (numRawCacheMisses - numGoodPrefetches +
 numTotalPrefetches);
 double memory_bandwidth = num_requests * offChipMemoryLatency /
-clockEdge(epochCycles);
+cyclesToTicks(epochCycles);

 if (prefetch_coverage > highCoverageThreshold &&
 (prefetch_accuracy > highAccuracyThreshold ||

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/46479
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: I69dee29892fa4b9eb8de8715fd72a535e122687f
Gerrit-Change-Number: 46479
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Perais 
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] Build failed in Jenkins: weekly #29

2021-06-04 Thread jenkins-no-reply--- via gem5-dev
See 

Changes:

[gabe.black] arch-riscv: Decode more of the CSR instructions at decode time.

[gabe.black] base: Don't wait for an inactive CPU for remote GDB.

[gabe.black] base: When switching remote GDB threads, re-align on an inst 
boundary.

[gabe.black] arch-x86: If possible, use the workload to pick GDB arch.

[gabe.black] sim,cpu: Move the remote GDB stub into the workload.

[gabe.black] arch,base,sim: Construct the GDB stub with no threads.

[gabe.black] arch,base,sim: Move GDB stub creation into the arch Workloads.

[gabe.black] arch: Eliminate the now unused remote_gdb.hh switching header.

[gabe.black] arch: Template the generic PC types on the instruction width.

[gabe.black] cpu,fastmodel: Get rid of unused (read|set)FuncExeInst.

[odanrc] mem-cache: Rename Compressor namespace as compression

[odanrc] mem-cache: Rename encoder variables as indexEncoder

[odanrc] mem-cache: Rename Encoder namespace as encoder

[gabe.black] arch-riscv: Split up read/write and read only CSR instructions.

[gabe.black] arch,base,cpu: Split arch/pcstate.hh out of arch/types.hh.

[gabe.black] misc: Clean up ISA switching header includes.

[gabe.black] x86: Avoid including arch/x86/registers.hh.

[gabe.black] cpu,fastmodel: Get rid of the unused ThreadContext::getPhysProxy.

[gabe.black] sim: Make PortProxy args in BaseBufferArg const ref.

[odanrc] mem-cache: Rename Prefetcher namespace as prefetch

[odanrc] cpu,mem: Rename ContextSwitchTaskId namespace

[odanrc] sim: Rename ProbePoints namespace as probing

[odanrc] base,dev,python: Rename Net namespace as networking

[odanrc] misc: Rename Enums namespace as enums

[odanrc] base,dev: Rename major and minor variables

[odanrc] base,dev,mem-ruby: Rename m5 namespace as gem5

[odanrc] base: Rename Loader namespace as loader

[odanrc] cpu-minor: Rename Minor namespace as minor

[odanrc] base-stats,misc: Rename Stats namespace as statistics

[odanrc] mem: Rename "memory" variables as "mem"

[arthurperais] cpu-o3: Prevent SW prefetches from forwarding from STQ

[arthurperais] mem: Fix Best Offset Prefetcher (BOP) learning phase code.

[yuhsingw] dev-arm: add ArmSigInterruptPin

[yuhsingw] systemc: Set verify.py shebang to python3

[arthurperais] cpu-o3: Prevent a mistarget from sending execution on an 
incorrect path

[hoanguyen] configs: fix se.py error when using "--redirects"

[gabe.black] fastmodel: Fix building with Fast Model.

[odanrc] python: Fix include of pybind

[Bobby R. Bruce] tests,arch-arm: Replaced X86 clang fast build for 
ARM_MESI_THREE


--
[...truncated 574.00 KB...]
 [SOPARMHH] MPP_LoopPredictor -> GCN3_X86/params/MPP_LoopPredictor.hh
 [SOPARMHH] MPP_StatisticalCorrector -> 
GCN3_X86/params/MPP_StatisticalCorrector.hh
 [SOPARMHH] MPP_TAGE -> GCN3_X86/params/MPP_TAGE.hh
 [SOPARMHH] MultiperspectivePerceptronTAGE -> 
GCN3_X86/params/MultiperspectivePerceptronTAGE.hh
 [SOPARMHH] StatisticalCorrector -> GCN3_X86/params/StatisticalCorrector.hh
 [ CXX] GCN3_X86/cpu/pred/multiperspective_perceptron_tage.cc -> .o
 [SOPARMHH] MPP_LoopPredictor_8KB -> GCN3_X86/params/MPP_LoopPredictor_8KB.hh
 [SOPARMHH] MPP_StatisticalCorrector_8KB -> 
GCN3_X86/params/MPP_StatisticalCorrector_8KB.hh
 [SOPARMHH] MPP_TAGE_8KB -> GCN3_X86/params/MPP_TAGE_8KB.hh
 [SOPARMHH] MultiperspectivePerceptronTAGE8KB -> 
GCN3_X86/params/MultiperspectivePerceptronTAGE8KB.hh
 [ CXX] GCN3_X86/cpu/pred/multiperspective_perceptron_tage_8KB.cc -> .o
 [SOPARMHH] MPP_StatisticalCorrector_64KB -> 
GCN3_X86/params/MPP_StatisticalCorrector_64KB.hh
 [SOPARMHH] MultiperspectivePerceptronTAGE64KB -> 
GCN3_X86/params/MultiperspectivePerceptronTAGE64KB.hh
 [ CXX] GCN3_X86/cpu/pred/multiperspective_perceptron_tage_64KB.cc -> .o
 [ CXX] GCN3_X86/cpu/pred/statistical_corrector.cc -> .o
 [ TRACING]  -> GCN3_X86/debug/TageSCL.hh
 [SOPARMHH] TAGE_SC_L -> GCN3_X86/params/TAGE_SC_L.hh
 [SOPARMHH] TAGE_SC_L_LoopPredictor -> 
GCN3_X86/params/TAGE_SC_L_LoopPredictor.hh
 [SOPARMHH] TAGE_SC_L_TAGE -> GCN3_X86/params/TAGE_SC_L_TAGE.hh
 [ CXX] GCN3_X86/cpu/pred/tage_sc_l.cc -> .o
 [SOPARMHH] TAGE_SC_L_8KB -> GCN3_X86/params/TAGE_SC_L_8KB.hh
 [SOPARMHH] TAGE_SC_L_8KB_StatisticalCorrector -> 
GCN3_X86/params/TAGE_SC_L_8KB_StatisticalCorrector.hh
 [SOPARMHH] TAGE_SC_L_TAGE_8KB -> GCN3_X86/params/TAGE_SC_L_TAGE_8KB.hh
 [ CXX] GCN3_X86/cpu/pred/tage_sc_l_8KB.cc -> .o
 [SOPARMHH] TAGE_SC_L_64KB -> GCN3_X86/params/TAGE_SC_L_64KB.hh
 [SOPARMHH] TAGE_SC_L_64KB_StatisticalCorrector -> 
GCN3_X86/params/TAGE_SC_L_64KB_StatisticalCorrector.hh
 [SOPARMHH] TAGE_SC_L_TAGE_64KB -> GCN3_X86/params/TAGE_SC_L_TAGE_64KB.hh
 [ CXX] GCN3_X86/cpu/pred/tage_sc_l_64KB.cc -> .o
 [ CXX] GCN3_X86/cpu/testers/gpu_ruby_test/address_manager.cc -> .o
 [SOPARMHH] ProtocolTester -> GCN3_X86/params/ProtocolTester.hh
 [SOPARMHH] CpuThread -> GCN3_X86/params/CpuThread.hh
 [SOPARMHH] DmaThread ->