[gem5-dev] Change in gem5/gem5[develop]: systemc: Fix systemc array bound error

2020-07-20 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31634 )



Change subject: systemc: Fix systemc array bound error
..

systemc: Fix systemc array bound error

Currently, g++-10 does not compile gem5 due to an array bound error
in sc_unsigned and sc_signed constructors.

This commit addresses this issue.

Change-Id: Id65b6d52cef527f62917e09231ff79e2237affd8
Signed-off-by: Hoa Nguyen 
---
M src/systemc/dt/int/sc_nbcommon.inc
1 file changed, 4 insertions(+), 0 deletions(-)



diff --git a/src/systemc/dt/int/sc_nbcommon.inc  
b/src/systemc/dt/int/sc_nbcommon.inc

index 13317a6..aebf03a 100644
--- a/src/systemc/dt/int/sc_nbcommon.inc
+++ b/src/systemc/dt/int/sc_nbcommon.inc
@@ -2275,9 +2275,13 @@
 sc_value_base(), sgn(s), nbits(num_bits(nb)), ndigits(), digit()
 {
 ndigits = DIV_CEIL(nbits);
+/*
 #ifndef SC_MAX_NBITS
 digit = new sc_digit[ndigits];
 #endif
+*/
+
+digit = new sc_digit[ndigits];

 if (ndigits <= nd)
 vec_copy(ndigits, digit, d);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31634
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: Id65b6d52cef527f62917e09231ff79e2237affd8
Gerrit-Change-Number: 31634
Gerrit-PatchSet: 1
Gerrit-Owner: Hoa Nguyen 
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]: util,tests: Updated compiler-tests to support paths with spaces

2020-07-20 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31534 )


Change subject: util,tests: Updated compiler-tests to support paths with  
spaces

..

util,tests: Updated compiler-tests to support paths with spaces

This script was failing if the gem5 directory path contained a space.
E.g: `/home/bobbys home/gem5`. This script has thereby been improved to
handle this.

Change-Id: Id56ff5a0e9aa31eef14de2111b040f7f2b0b286c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31534
Reviewed-by: Daniel Carvalho 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M util/compiler-tests.sh
1 file changed, 19 insertions(+), 18 deletions(-)

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



diff --git a/util/compiler-tests.sh b/util/compiler-tests.sh
index 30ce637..c586c27 100755
--- a/util/compiler-tests.sh
+++ b/util/compiler-tests.sh
@@ -70,14 +70,14 @@
 exits="${test_dir}/exit-codes.csv"

 # Create the testing output directory and files
-rm -rf $test_dir_final
-rm -rf $test_dir
-mkdir $test_dir
-touch $exits
-echo "compiler,build_target,exit_code" >> $exits
+rm -rf "${test_dir_final}"
+rm -rf "${test_dir}"
+mkdir "${test_dir}"
+touch "${exits}"
+echo "compiler,build_target,exit_code" >> "${exits}"

 for compiler in ${images[@]}; do
-echo "Starting build tests with '$compiler'..."
+echo "Starting build tests with '${compiler}'..."
 # Generate a randomized list of build targets
 build_permutation=($(shuf -i 0-$((${#builds[@]} - 1)) ))

@@ -96,33 +96,34 @@
 # Grab compiler image
 docker pull $repo_name >/dev/null

-mkdir "$test_dir/$compiler"
+mkdir "${test_dir}/${compiler}"

 for build_index in ${build_indices[@]}; do
 for build_opt in ${opts[@]}; do
 build="${builds[$build_index]}"
 build_out="build/$build/gem5$build_opt"
-build_stdout="$test_dir/$compiler/$build$build_opt.stdout"
-build_stderr="$test_dir/$compiler/$build$build_opt.stderr"
+ 
build_stdout="${test_dir}/${compiler}/${build}${build_opt}.stdout"
+ 
build_stderr="${test_dir}/${compiler}/${build}${build_opt}.stderr"


 # Clean the build
 rm -rf "${build_dir}"

-touch $build_stdout
-touch $build_stderr
+touch "${build_stdout}"
+touch "${build_stderr}"

-echo "  * Building target '$build$build_opt'  
with '$compiler'..."
+echo "  * Building target '${build}${build_opt}'  
with '${compiler}'..."


 # Build with container
 {
-docker run --rm -v ${gem5_root}:/gem5 -u $UID:$GID -w  
/gem5 \

-$repo_name scons $build_out $build_args
-}>$build_stdout 2>$build_stderr
+docker run --rm -v "${gem5_root}":"/gem5" -u $UID:$GID \
+-w /gem5 $repo_name  
scons "${build_out}" "${build_args}"

+}>"${build_stdout}" 2>"${build_stderr}"
 result=$?

-echo "$compiler,$build/gem5$build_opt,$result" >> $exits
-if [ $result -ne 0 ]; then
-echo "  ! Failed with exit code $result."
+echo "${compiler},${build}/gem5${build_opt},${result}"  

"${exits}"

+
+if [ ${result} -ne 0 ]; then
+echo "  ! Failed with exit code ${result}."
 else
 echo "Done."
 fi

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31534
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: Id56ff5a0e9aa31eef14de2111b040f7f2b0b286c
Gerrit-Change-Number: 31534
Gerrit-PatchSet: 2
Gerrit-Owner: Bobby R. Bruce 
Gerrit-Reviewer: Bobby R. Bruce 
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]: misc: Updated git description length policy to 72 chars

2020-07-20 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31135 )


Change subject: misc: Updated git description length policy to 72 chars
..

misc: Updated git description length policy to 72 chars

Advocating <=75 characters is non-standard. 72 characters is
recommended. Furthermore, within Gerrit, descriptions >72 characters
causes ugly line-wrapping. This commit updates this policy to
72 characters.

The corresponding change within the gem5 webpage:
https://gem5-review.googlesource.com/c/public/gem5-website/+/31134

Change-Id: Iaf542a241772f8e400d8f90624712de1a435d096
Issue-on: https://gem5.atlassian.net/browse/GEM5-665
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31135
Reviewed-by: Daniel Carvalho 
Reviewed-by: Andreas Sandberg 
Reviewed-by: Nikos Nikoleris 
Reviewed-by: Giacomo Travaglini 
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
---
M CONTRIBUTING.md
1 file changed, 1 insertion(+), 1 deletion(-)

Approvals:
  Andreas Sandberg: Looks good to me, approved
  Nikos Nikoleris: Looks good to me, approved
  Giacomo Travaglini: Looks good to me, approved
  Daniel Carvalho: Looks good to me, approved
  Bobby R. Bruce: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0fb4ab2..74bdd2c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -136,7 +136,7 @@
causes line-wrapping for longer lines.
  * (Optional, but highly recommended) A detailed description. This  
describes
what you have done and why. If the change isn't obvious, you might want  
to

-   motivate why it is needed. Lines need to be wrapped to 75 characters or
+   motivate why it is needed. Lines need to be wrapped to 72 characters or
less.
  * Tags describing patch metadata. You are highly recommended to use
tags to acknowledge reviewers for their work. Gerrit will automatically  
add


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31135
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: Iaf542a241772f8e400d8f90624712de1a435d096
Gerrit-Change-Number: 31135
Gerrit-PatchSet: 2
Gerrit-Owner: Bobby R. Bruce 
Gerrit-Reviewer: Andreas Sandberg 
Gerrit-Reviewer: Anthony Gutierrez 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Gabe Black 
Gerrit-Reviewer: Giacomo Travaglini 
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]: tests: fix .testsignore for long regression

2020-07-20 Thread mike upton (Gerrit) via gem5-dev
mike upton has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31594 )


Change subject: tests: fix .testsignore for long regression
..

tests: fix .testsignore for long regression

removed 2 tests from long regression to get nightly tests to pass
fixed .testignore, -arch64 changed to -aarch64, this enables running on ARM  
hw


Change-Id: Ic8456fef83dfba3417d1edcf62e90873d197d3d6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31594
Maintainer: Jason Lowe-Power 
Reviewed-by: Bobby R. Bruce 
Tested-by: kokoro 
---
M tests/gem5/.testignore
1 file changed, 26 insertions(+), 24 deletions(-)

Approvals:
  Bobby R. Bruce: Looks good to me, approved
  Jason Lowe-Power: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/tests/gem5/.testignore b/tests/gem5/.testignore
index c76d7c6..405f005 100644
--- a/tests/gem5/.testignore
+++ b/tests/gem5/.testignore
@@ -110,24 +110,24 @@
 test-hello-linux-TimingSimpleCPU-MIPS-x86_64-opt
 test-hello-linux-AtomicSimpleCPU-MIPS-x86_64-opt
 test-hello-linux-DerivO3CPU-MIPS-x86_64-opt
-test-hello-linux-MinorCPU-RISCV-arch64-debug
-test-hello-linux-TimingSimpleCPU-SPARC-arch64-debug
-test-hello-linux-AtomicSimpleCPU-SPARC-arch64-debug
-test-hello-linux-TimingSimpleCPU-MIPS-arch64-debug
-test-hello-linux-AtomicSimpleCPU-MIPS-arch64-debug
-test-hello-linux-DerivO3CPU-MIPS-arch64-debug
-test-hello-linux-MinorCPU-RISCV-arch64-fast
-test-hello-linux-TimingSimpleCPU-SPARC-arch64-fast
-test-hello-linux-AtomicSimpleCPU-SPARC-arch64-fast
-test-hello-linux-TimingSimpleCPU-MIPS-arch64-fast
-test-hello-linux-AtomicSimpleCPU-MIPS-arch64-fast
-test-hello-linux-DerivO3CPU-MIPS-arch64-fast
-test-hello-linux-MinorCPU-RISCV-arch64-opt
-test-hello-linux-TimingSimpleCPU-SPARC-arch64-opt
-test-hello-linux-AtomicSimpleCPU-SPARC-arch64-opt
-test-hello-linux-TimingSimpleCPU-MIPS-arch64-opt
-test-hello-linux-AtomicSimpleCPU-MIPS-arch64-opt
-test-hello-linux-DerivO3CPU-MIPS-arch64-opt
+test-hello-linux-MinorCPU-RISCV-aarch64-debug
+test-hello-linux-TimingSimpleCPU-SPARC-aarch64-debug
+test-hello-linux-AtomicSimpleCPU-SPARC-aarch64-debug
+test-hello-linux-TimingSimpleCPU-MIPS-aarch64-debug
+test-hello-linux-AtomicSimpleCPU-MIPS-aarch64-debug
+test-hello-linux-DerivO3CPU-MIPS-aarch64-debug
+test-hello-linux-MinorCPU-RISCV-aarch64-fast
+test-hello-linux-TimingSimpleCPU-SPARC-aarch64-fast
+test-hello-linux-AtomicSimpleCPU-SPARC-aarch64-fast
+test-hello-linux-TimingSimpleCPU-MIPS-aarch64-fast
+test-hello-linux-AtomicSimpleCPU-MIPS-aarch64-fast
+test-hello-linux-DerivO3CPU-MIPS-aarch64-fast
+test-hello-linux-MinorCPU-RISCV-aarch64-opt
+test-hello-linux-TimingSimpleCPU-SPARC-aarch64-opt
+test-hello-linux-AtomicSimpleCPU-SPARC-aarch64-opt
+test-hello-linux-TimingSimpleCPU-MIPS-aarch64-opt
+test-hello-linux-AtomicSimpleCPU-MIPS-aarch64-opt
+test-hello-linux-DerivO3CPU-MIPS-aarch64-opt
 test-hello-linux-MinorCPU-RISCV-i386-debug
 test-hello-linux-TimingSimpleCPU-SPARC-i386-debug
 test-hello-linux-AtomicSimpleCPU-SPARC-i386-debug
@@ -152,15 +152,17 @@
 test-atomic-TimingSimpleCPU-SPARC-x86_64-debug
 test-atomic-DerivO3CPU-SPARC-x86_64-fast
 test-atomic-TimingSimpleCPU-SPARC-x86_64-fast
-test-atomic-DerivO3CPU-SPARC-arch64-opt
-test-atomic-TimingSimpleCPU-SPARC-arch64-opt
-test-atomic-DerivO3CPU-SPARC-arch64-debug
-test-atomic-TimingSimpleCPU-SPARC-arch64-debug
-test-atomic-DerivO3CPU-SPARC-arch64-fast
-test-atomic-TimingSimpleCPU-SPARC-arch64-fast
+test-atomic-DerivO3CPU-SPARC-aarch64-opt
+test-atomic-TimingSimpleCPU-SPARC-aarch64-opt
+test-atomic-DerivO3CPU-SPARC-aarch64-debug
+test-atomic-TimingSimpleCPU-SPARC-aarch64-debug
+test-atomic-DerivO3CPU-SPARC-aarch64-fast
+test-atomic-TimingSimpleCPU-SPARC-aarch64-fast
 test-atomic-DerivO3CPU-SPARC-i386-opt
 test-atomic-TimingSimpleCPU-SPARC-i386-opt
 test-atomic-DerivO3CPU-SPARC-i386-debug
 test-atomic-TimingSimpleCPU-SPARC-i386-debug
 test-atomic-DerivO3CPU-SPARC-i386-fast
 test-atomic-TimingSimpleCPU-SPARC-i386-fast
+realview-o3-checker-ARM-x86_64-opt
+realview64-o3-checker-ARM-x86_64-opt

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31594
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: Ic8456fef83dfba3417d1edcf62e90873d197d3d6
Gerrit-Change-Number: 31594
Gerrit-PatchSet: 2
Gerrit-Owner: mike upton 
Gerrit-Reviewer: Bobby R. Bruce 
Gerrit-Reviewer: Jason Lowe-Power 
Gerrit-Reviewer: kokoro 
Gerrit-Reviewer: mike upton 
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,arch-riscv: Migrated asmtest to testlib

2020-07-20 Thread Bobby R. Bruce (Gerrit) via gem5-dev
Bobby R. Bruce has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27043 )


Change subject: tests,arch-riscv: Migrated asmtest to testlib
..

tests,arch-riscv: Migrated asmtest to testlib

Issue-on: https://gem5.atlassian.net/browse/GEM5-141
Change-Id: I8f02e53157d32e21591c51e99de803366ad8fd8f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27043
Maintainer: Bobby R. Bruce 
Tested-by: kokoro 
Reviewed-by: Hoa Nguyen 
---
A tests/gem5/asmtest/tests.py
1 file changed, 238 insertions(+), 0 deletions(-)

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



diff --git a/tests/gem5/asmtest/tests.py b/tests/gem5/asmtest/tests.py
new file mode 100755
index 000..b2a9249
--- /dev/null
+++ b/tests/gem5/asmtest/tests.py
@@ -0,0 +1,238 @@
+# Copyright (c) 2020 The Regents of the University of California
+# All Rights Reserved.
+#
+# Copyright (c) 2018, Cornell University
+# 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 Cornell University 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 HOLDER 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.
+
+import os
+from testlib import *
+
+def asm_test(test, #The full path of the test
+ cpu_type,
+ num_cpus=4,
+ max_tick=100,
+ ruby=True,
+ debug_flags=None, # Debug flags passed to gem5
+ full_system = False
+ ):
+
+if full_system:
+config_file = os.path.join(config.base_dir,
+   'configs', 'example', 'fs.py')
+else:
+config_file = os.path.join(config.base_dir,
+   'configs', 'example', 'se.py')
+
+gem5_args = ['--listener-mode', 'off']
+
+if not debug_flags is None:
+gem5_args += ['--debug-flags', str(debug_flags)]
+
+config_args = [
+'-m', str(max_tick),
+'--cpu-type', cpu_type,
+]
+
+if full_system:
+config_args += [
+'--caches',
+'--mem-size', '3072MB',
+'--kernel',  test
+]
+else:
+config_args += [
+'-n', str(num_cpus),
+'--ruby' if ruby else '--caches',
+'--cmd', test
+]
+
+gem5_verify_config(
+name = 'asm-' + os.path.basename(test) + '-' + cpu_type,
+fixtures = (program,),
+verifiers = (),
+gem5_args = gem5_args,
+config = config_file,
+config_args = config_args,
+valid_isas = ('RISCV',),
+valid_hosts = constants.supported_hosts
+)
+
+cpu_types =  
('AtomicSimpleCPU', 'TimingSimpleCPU', 'MinorCPU', 'DerivO3CPU')

+
+# The following lists the RISCV binaries. Those commented out presently  
result

+# in a test failure. They are outlined in the following Jira Issues:
+#
+# https://gem5.atlassian.net/browse/GEM5-494
+# https://gem5.atlassian.net/browse/GEM5-496
+# https://gem5.atlassian.net/browse/GEM5-497
+binaries = (
+#'rv64samt-ps-sysclone_d',
+#'rv64samt-ps-sysfutex1_d',
+#'rv64samt-ps-sysfutex2_d',
+#'rv64samt-ps-sysfutex3_d',
+#'rv64samt-ps-sysfutex_d',
+'rv64ua-ps-amoadd_d',
+'rv64ua-ps-amoadd_w',
+'rv64ua-ps-amoand_d',
+'rv64ua-ps-amoand_w',
+'rv64ua-ps-amomax_d',
+'rv64ua-ps-amomax_w',
+'rv64ua-ps-amomaxu_d',
+'rv64ua-ps-amomaxu_w',
+'rv64ua-ps-amomin_d',
+'rv64ua-ps-amomin_w',
+'rv64ua-ps-amominu_d',
+'rv64ua-ps-amominu_w',
+'rv64ua-ps-amoor_d',
+'rv64ua-ps-amoor_w',
+

[gem5-dev] Change in gem5/gem5[develop]: arch-gcn3,gpu-compute: Fix GCN3 related compiler errors

2020-07-20 Thread Matthew Poremba (Gerrit) via gem5-dev
Matthew Poremba has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31154 )


Change subject: arch-gcn3,gpu-compute: Fix GCN3 related compiler errors
..

arch-gcn3,gpu-compute: Fix GCN3 related compiler errors

Fix all errors that were revealed using the util/compiler-test.sh
script.

Change-Id: Ie0d35568624e5e1405143593f0677bbd0b066b61
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31154
Reviewed-by: Anthony Gutierrez 
Reviewed-by: Jason Lowe-Power 
Maintainer: Anthony Gutierrez 
Tested-by: kokoro 
---
M src/arch/gcn3/insts/instructions.cc
M src/arch/gcn3/insts/op_encodings.cc
M src/arch/gcn3/operand.hh
M src/gpu-compute/gpu_compute_driver.cc
4 files changed, 33 insertions(+), 18 deletions(-)

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



diff --git a/src/arch/gcn3/insts/instructions.cc  
b/src/arch/gcn3/insts/instructions.cc

index 7c2cf0e..426f991 100644
--- a/src/arch/gcn3/insts/instructions.cc
+++ b/src/arch/gcn3/insts/instructions.cc
@@ -5183,7 +5183,7 @@
 void
 Inst_SMEM__S_STORE_DWORDX4::initiateAcc(GPUDynInstPtr gpuDynInst)
 {
-ConstScalarOperandU64 sdata(gpuDynInst, instData.SDATA);
+ConstScalarOperandU128 sdata(gpuDynInst, instData.SDATA);
 sdata.read();
 std::memcpy((void*)gpuDynInst->scalar_data, sdata.rawDataPtr(),
 4 * sizeof(ScalarRegU32));
diff --git a/src/arch/gcn3/insts/op_encodings.cc  
b/src/arch/gcn3/insts/op_encodings.cc

index 997b22f..86d2a9b 100644
--- a/src/arch/gcn3/insts/op_encodings.cc
+++ b/src/arch/gcn3/insts/op_encodings.cc
@@ -1887,12 +1887,14 @@
 } else if (numDstRegOperands()) {
 return extData.VDST;
 }
+break;
   case 2:
 if (numSrcRegOperands() > 2) {
 return extData.DATA1;
 } else if (numDstRegOperands()) {
 return extData.VDST;
 }
+break;
   case 3:
 assert(numDstRegOperands());
 return extData.VDST;
@@ -1900,6 +1902,8 @@
 fatal("Operand at idx %i does not exist\n", opIdx);
 return -1;
 }
+fatal("Operand at idx %i does not exist\n", opIdx);
+return -1;
 }

 // --- Inst_MUBUF base class methods ---
diff --git a/src/arch/gcn3/operand.hh b/src/arch/gcn3/operand.hh
index 97c6310..0a1f656 100644
--- a/src/arch/gcn3/operand.hh
+++ b/src/arch/gcn3/operand.hh
@@ -521,12 +521,22 @@
 switch(_opIdx) {
   case REG_EXEC_LO:
 {
-ScalarRegU64 exec_mask = _gpuDynInst->wavefront()->
-execMask().to_ullong();
-std::memcpy((void*)srfData.data(), (void*)_mask,
-sizeof(srfData));
-DPRINTF(GPUSRF, "Read EXEC\n");
-DPRINTF(GPUSRF, "EXEC = %#x\n", exec_mask);
+if (NumDwords == 1) {
+ScalarRegU32 exec_mask = _gpuDynInst->wavefront()->
+execMask().to_ulong();
+std::memcpy((void*)srfData.data(),  
(void*)_mask,

+sizeof(exec_mask));
+DPRINTF(GPUSRF, "Read EXEC\n");
+DPRINTF(GPUSRF, "EXEC = %#x\n", exec_mask);
+} else {
+assert(NumDwords == 2);
+ScalarRegU64 exec_mask = _gpuDynInst->wavefront()->
+execMask().to_ullong();
+std::memcpy((void*)srfData.data(),  
(void*)_mask,

+sizeof(exec_mask));
+DPRINTF(GPUSRF, "Read EXEC\n");
+DPRINTF(GPUSRF, "EXEC = %#x\n", exec_mask);
+}
 }
 break;
   case REG_EXEC_HI:
@@ -541,7 +551,7 @@

 ScalarRegU32 exec_mask_hi = bits(exec_mask, 63, 32);
 std::memcpy((void*)srfData.data(),  
(void*)_mask_hi,

-sizeof(srfData));
+sizeof(exec_mask_hi));
 DPRINTF(GPUSRF, "Read EXEC_HI\n");
 DPRINTF(GPUSRF, "EXEC_HI = %#x\n", exec_mask_hi);
 }
@@ -556,7 +566,7 @@
 {
 typename OpTraits::FloatT pos_half = 0.5;
 std::memcpy((void*)srfData.data(), (void*)_half,
-sizeof(srfData));
+sizeof(pos_half));

 }
 break;
@@ -564,44 +574,44 @@
 {
 typename OpTraits::FloatT neg_half = -0.5;
 std::memcpy((void*)srfData.data(), (void*)_half,
-  

[gem5-dev] Change in gem5/gem5[develop]: dev-arm: Gicv3 maintenance interrupt never cleared

2020-07-20 Thread Giacomo Travaglini (Gerrit) via gem5-dev
Giacomo Travaglini has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31614 )



Change subject: dev-arm: Gicv3 maintenance interrupt never cleared
..

dev-arm: Gicv3 maintenance interrupt never cleared

The maintenance interrupt is a level sensitive interrupt though it has
been treated as edge triggered so far.

In order to be level sensitive, it needs to be cleared once the condition
which led to its generation are not valid anymore.

Change-Id: I9af9f4bf27622a7961393b00a145d6c9835d738b
Signed-off-by: Giacomo Travaglini 
---
M src/dev/arm/gic_v3_cpu_interface.cc
1 file changed, 4 insertions(+), 4 deletions(-)



diff --git a/src/dev/arm/gic_v3_cpu_interface.cc  
b/src/dev/arm/gic_v3_cpu_interface.cc

index 5e1f871..54075ec 100644
--- a/src/dev/arm/gic_v3_cpu_interface.cc
+++ b/src/dev/arm/gic_v3_cpu_interface.cc
@@ -2078,10 +2078,10 @@

 ICH_HCR_EL2 ich_hcr_el2 =  
isa->readMiscRegNoEffect(MISCREG_ICH_HCR_EL2);


-if (ich_hcr_el2.En) {
-if (maintenanceInterruptStatus()) {
-maintenanceInterrupt->raise();
-}
+if (ich_hcr_el2.En && maintenanceInterruptStatus()) {
+maintenanceInterrupt->raise();
+} else {
+maintenanceInterrupt->clear();
 }

 if (signal_IRQ) {

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31614
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: I9af9f4bf27622a7961393b00a145d6c9835d738b
Gerrit-Change-Number: 31614
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini 
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-arm: Check for security attribute when writing to ICFGR registers

2020-07-20 Thread Giacomo Travaglini (Gerrit) via gem5-dev
Giacomo Travaglini has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/31615 )



Change subject: dev-arm: Check for security attribute when writing to ICFGR  
registers

..

dev-arm: Check for security attribute when writing to ICFGR registers

This is matching the GICD_ICFGR read; a non secure access to a secure
interrupt should be treated as RAZ/WI

Change-Id: I9e92e03c13fe0474ed139b0ed22cebd5847b9109
Signed-off-by: Giacomo Travaglini 
---
M src/dev/arm/gic_v3_distributor.cc
1 file changed, 5 insertions(+), 0 deletions(-)



diff --git a/src/dev/arm/gic_v3_distributor.cc  
b/src/dev/arm/gic_v3_distributor.cc

index 8ec269a..27f404b 100644
--- a/src/dev/arm/gic_v3_distributor.cc
+++ b/src/dev/arm/gic_v3_distributor.cc
@@ -745,6 +745,11 @@

 for (int i = 0, int_id = first_intid; i < 8 * size && int_id <  
itLines;

  i = i + 2, int_id++) {
+
+if (nsAccessToSecInt(int_id, is_secure_access)) {
+continue;
+}
+
 irqConfig[int_id] = data & (0x2 << i) ?
 Gicv3::INT_EDGE_TRIGGERED :
 Gicv3::INT_LEVEL_SENSITIVE;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31615
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: I9e92e03c13fe0474ed139b0ed22cebd5847b9109
Gerrit-Change-Number: 31615
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini 
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]: mem: Use beats_per_clock as the DDR data rate for DRAMPower

2020-07-20 Thread Nikos Nikoleris (Gerrit) via gem5-dev
Nikos Nikoleris has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/30056 )


Change subject: mem: Use beats_per_clock as the DDR data rate for DRAMPower
..

mem: Use beats_per_clock as the DDR data rate for DRAMPower

The data rate is used by the drampower lib to estimate the power
consumption of the DRAM Core. Previously, we used the formula:

burst_cycles = divCeil(p->tBURST_MAX, p->tCK);
data_rate = p->burst_length / burst_cycles;

to derive the data_rate. However, under certain configurations this
formula computes the wrong result due to rounding errors. This patch
simplifies the way we derive the data_rate by passing the value of the
DRAM parameter beats_per_clock.

Change-Id: Ic8cd35bb4641d9c0a704675d2672a6fe4f4ec13e
Signed-off-by: Nikos Nikoleris 
Reviewed-by: Wendy Elsasser 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/30056
Tested-by: kokoro 
Reviewed-by: Daniel Carvalho 
---
M src/mem/drampower.cc
M src/mem/drampower.hh
2 files changed, 1 insertion(+), 17 deletions(-)

Approvals:
  Wendy Elsasser: Looks good to me, approved
  Daniel Carvalho: Looks good to me, but someone else must approve
  Nikos Nikoleris: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/mem/drampower.cc b/src/mem/drampower.cc
index f506928..13551a0 100644
--- a/src/mem/drampower.cc
+++ b/src/mem/drampower.cc
@@ -53,7 +53,7 @@
 archSpec.nbrOfBanks = p->banks_per_rank;
 // One DRAMPower instance per rank, hence set this to 1
 archSpec.nbrOfRanks = 1;
-archSpec.dataRate = getDataRate(p);
+archSpec.dataRate = p->beats_per_clock;
 // For now we can ignore the number of columns and rows as they
 // are not used in the power calculation.
 archSpec.nbrOfColumns = 0;
@@ -146,14 +146,3 @@
 {
 return p->VDD2 == 0 ? false : true;
 }
-
-uint8_t
-DRAMPower::getDataRate(const DRAMCtrlParams* p)
-{
-uint32_t burst_cycles = divCeil(p->tBURST_MAX, p->tCK);
-uint8_t data_rate = p->burst_length / burst_cycles;
-// 4 for GDDR5
-if (data_rate != 1 && data_rate != 2 && data_rate != 4 && data_rate !=  
8)

-fatal("Got unexpected data rate %d, should be 1 or 2 or 4 or 8\n");
-return data_rate;
-}
diff --git a/src/mem/drampower.hh b/src/mem/drampower.hh
index ed47476..da24bca 100644
--- a/src/mem/drampower.hh
+++ b/src/mem/drampower.hh
@@ -74,11 +74,6 @@
 static Data::MemPowerSpec getPowerParams(const DRAMCtrlParams* p);

 /**
- * Determine data rate, either one or two.
- */
-static uint8_t getDataRate(const DRAMCtrlParams* p);
-
-/**
  * Determine if DRAM has two voltage domains (or one)
  */
 static bool hasTwoVDD(const DRAMCtrlParams* p);

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/30056
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: Ic8cd35bb4641d9c0a704675d2672a6fe4f4ec13e
Gerrit-Change-Number: 30056
Gerrit-PatchSet: 4
Gerrit-Owner: Nikos Nikoleris 
Gerrit-Reviewer: Daniel Carvalho 
Gerrit-Reviewer: Matthias Jung 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-Reviewer: Wendy Elsasser 
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