[gem5-dev] Change in gem5/gem5[develop]: arch-arm: Implementation of Hardware Breakpoint exception

2020-04-21 Thread Jordi Vaquero (Gerrit)
Jordi Vaquero has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27967 )



Change subject: arch-arm: Implementation of Hardware Breakpoint exception
..

arch-arm: Implementation of Hardware Breakpoint exception

This code implementes hardware breakpoint exception as part of
software debug explained in ARMv8 reference manual ChapterD2.

+ ArmISA.py: Modify register to allow up to 15 Breakpoint registers
+ Sconscript: Add new file self_debug
+ faults.cc/hh: Defintion and implementation of HardwareBreakpoint
exception inheriting ArmFault.
+ isa.cc/hh: ArmISA contains now an attribute pointing to the SelfDebug
 object that will be used to be access SelfDebug infrastructure
 Added special cases for setMiscReg to cache debug enable bits.
+ miscregs.hh/cc: Definition and initialization of DBGDCn and DBGDVn
  registers.
+ tlb.cc/hh: We include the access to check for breakpoint instruction as
 part of the tlb translation process, checking if it comes from  
a

 fetch in the itlb
+ types.hh: Definition of new bitwise register types.
+ utility.cc/hh: Definition and implementation of auxiliar functions for
the selfDebug.
+ self_debug.hh/cc: Main files that include the implemenattion of
breakpoint checks, selfdebug enable and auxiliar functions.

Change-Id: I0e2a4be7f778de560c512253a9148da61e3e7e7a
---
M src/arch/arm/ArmISA.py
M src/arch/arm/SConscript
M src/arch/arm/faults.cc
M src/arch/arm/faults.hh
M src/arch/arm/insts/static_inst.cc
M src/arch/arm/insts/static_inst.hh
M src/arch/arm/isa.cc
M src/arch/arm/isa.hh
M src/arch/arm/miscregs.cc
M src/arch/arm/miscregs.hh
M src/arch/arm/miscregs_types.hh
A src/arch/arm/self_debug.cc
A src/arch/arm/self_debug.hh
M src/arch/arm/tlb.cc
M src/arch/arm/tracers/tarmac_parser.cc
M src/arch/arm/types.hh
M src/arch/arm/utility.cc
M src/arch/arm/utility.hh
18 files changed, 1,682 insertions(+), 71 deletions(-)



diff --git a/src/arch/arm/ArmISA.py b/src/arch/arm/ArmISA.py
index 2641ec3..b030e6c 100644
--- a/src/arch/arm/ArmISA.py
+++ b/src/arch/arm/ArmISA.py
@@ -90,8 +90,8 @@
 id_aa64afr1_el1 = Param.UInt64(0x,
 "AArch64 Auxiliary Feature Register 1")

-# 1 CTX CMPs | 2 WRPs | 2 BRPs | !PMU | !Trace | Debug v8-A
-id_aa64dfr0_el1 = Param.UInt64(0x00101006,
+# 1 CTX CMPs | 2 WRPs | 16 BRPs | !PMU | !Trace | Debug v8-A
+id_aa64dfr0_el1 = Param.UInt64(0x0010F006,
 "AArch64 Debug Feature Register 0")
 # Reserved for future expansion
 id_aa64dfr1_el1 = Param.UInt64(0x,
diff --git a/src/arch/arm/SConscript b/src/arch/arm/SConscript
index e51437e..958236e 100644
--- a/src/arch/arm/SConscript
+++ b/src/arch/arm/SConscript
@@ -83,6 +83,7 @@
 Source('stacktrace.cc')
 Source('system.cc')
 Source('table_walker.cc')
+Source('self_debug.cc')
 Source('stage2_mmu.cc')
 Source('stage2_lookup.cc')
 Source('tlb.cc')
diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc
index 22894f3..ba8369a 100644
--- a/src/arch/arm/faults.cc
+++ b/src/arch/arm/faults.cc
@@ -281,6 +281,10 @@
 "Software Breakpoint",   0x000, 0x000, 0x200, 0x400, 0x600, MODE_SVC,
 0, 0, 0, 0, true, false, false,  EC_SOFTWARE_BREAKPOINT
 );
+template<> ArmFault::FaultVals ArmFaultVals::vals(
+"Hardware Breakpoint",   0x000, 0x000, 0x200, 0x400, 0x600, MODE_SVC,
+0, 0, 0, 0, true, false, false,  EC_HW_BREAKPOINT
+);
 template<> ArmFault::FaultVals ArmFaultVals::vals(
 // Some dummy values
 "ArmSev Flush",  0x000, 0x000, 0x000, 0x000, 0x000, MODE_SVC,
@@ -1075,6 +1079,16 @@
 } else if (stage2) {
 tc->setMiscReg(MISCREG_HPFAR, (faultAddr >> 8) & ~0xf);
 tc->setMiscReg(T::HFarIndex,  OVAddr);
+} else if (debug > ArmFault::NODEBUG) {
+DBGDS32 Rext =  tc->readMiscReg(MISCREG_DBGDSCRext);
+tc->setMiscReg(T::FarIndex, faultAddr);
+if (debug == ArmFault::BRKPOINT){
+Rext.moe = 0x1;
+}
+
+tc->setMiscReg(T::FsrIndex, fsr);
+tc->setMiscReg(MISCREG_DBGDSCRext, Rext);
+
 } else {
 tc->setMiscReg(T::FsrIndex, fsr);
 tc->setMiscReg(T::FarIndex, faultAddr);
@@ -1277,9 +1291,10 @@
 toHyp = scr.ns && (currEL(tc) == EL2);
 // otherwise, check whether to take to Hyp mode through Hyp Trap vector
 toHyp |= (stage2 ||
-  ((source == DebugEvent) && hdcr.tde && (currEL(tc) != EL2)) | 
|

-   ((source == SynchronousExternalAbort) && hcr.tge &&
-(currEL(tc) == EL0))) && !inSecureState(tc);
+  ((source == DebugEvent) && (hdcr.tde || hcr.tge) &&
+   (currEL(tc) != EL2)) ||
+  ((source == SynchronousExternalAbort) && hcr.tge  &&
+   

[gem5-dev] Change in gem5/gem5[develop]: misc, tests: Updated and generalized the resource url for tests

2020-04-21 Thread Bobby R. Bruce (Gerrit)
Bobby R. Bruce has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27987 )



Change subject: misc, tests: Updated and generalized the resource url for  
tests

..

misc, tests: Updated and generalized the resource url for tests

As we are now going to maintain different bundles of resources for each
gem5 release, the resources have been archived to
http://dist.gem5.org/dist/current for gem5 19. The development branch
will use http://dist.gem5.org/dist/develop going forward. New releases
will follow the format http://dist.gem5.org/dist/{VERSION}.

This patch makes the resources url a command-line parameter, set to the
"correct" url by default. This will be updated to the correct, archived,
version subdirectory upon release of a new gem5 version. E.g.:
http://dist.gem5.org/dist/v20 for the gem5 20 release.

Change-Id: Ia16c496be3a60283ecc431ffaa5b059e1932b526
Issue-on: https://gem5.atlassian.net/browse/GEM5-431
---
M ext/testlib/config.py
M tests/gem5/cpu_tests/test.py
M tests/gem5/fs/linux/arm/test.py
M tests/gem5/hello_se/test_hello_se.py
M tests/gem5/insttest_se/test.py
M tests/gem5/m5_util/test_exit.py
M tests/gem5/m5threads_test_atomic/test.py
M tests/gem5/x86-boot-tests/test_linux_boot.py
M tests/test-progs/hello/src/Makefile.arm
M tests/test-progs/hello/src/Makefile.x86
M tests/test-progs/m5-exit/src/Makefile.x86
11 files changed, 15 insertions(+), 16 deletions(-)



diff --git a/ext/testlib/config.py b/ext/testlib/config.py
index 39d6a24..348d0a8 100644
--- a/ext/testlib/config.py
+++ b/ext/testlib/config.py
@@ -220,6 +220,7 @@
   os.pardir))
 defaults.result_path = os.path.join(os.getcwd(), '.testing-results')
 defaults.list_only_failed = False
+defaults.resource_url = 'http://dist.gem5.org/dist/develop'

 def define_constants(constants):
 '''
@@ -579,6 +580,12 @@
 default=None,
 help='Path where binaries are stored (downloaded if not  
present)'

 ),
+Argument(
+'--resource-url',
+action='store',
+default=config._defaults.resource_url,
+help='The URL where the resources reside.'
+),

 ]

diff --git a/tests/gem5/cpu_tests/test.py b/tests/gem5/cpu_tests/test.py
index ba90e2a..339d15a 100644
--- a/tests/gem5/cpu_tests/test.py
+++ b/tests/gem5/cpu_tests/test.py
@@ -56,7 +56,7 @@
 else:
 base_path = joinpath(absdirpath(__file__), 'benchmarks', 'bin')

-base_url  
= 'http://dist.gem5.org/dist/current/gem5/cpu_tests/benchmarks/bin/'

+base_url = config.resource_url + '/gem5/cpu_tests/benchmarks/bin/'
 for isa in valid_isas:
 path = joinpath(base_path, isa)
 for workload in workloads:
diff --git a/tests/gem5/fs/linux/arm/test.py  
b/tests/gem5/fs/linux/arm/test.py

index f90299b..39cb011 100644
--- a/tests/gem5/fs/linux/arm/test.py
+++ b/tests/gem5/fs/linux/arm/test.py
@@ -81,7 +81,7 @@
 ]

 tarball = 'aarch-system-201901106.tar.bz2'
-url = "http://dist.gem5.org/dist/current/arm/; + tarball
+url = config.resource_url + "/arm/" + tarball
 filepath = os.path.dirname(os.path.abspath(__file__))
 path = config.bin_path if config.bin_path else filepath
 arm_fs_binaries = DownloadedArchive(url, path, tarball)
diff --git a/tests/gem5/hello_se/test_hello_se.py  
b/tests/gem5/hello_se/test_hello_se.py

index 75043b9..260daad 100644
--- a/tests/gem5/hello_se/test_hello_se.py
+++ b/tests/gem5/hello_se/test_hello_se.py
@@ -81,7 +81,7 @@
 base_path = joinpath(absdirpath(__file__), '..', 'test-progs', 'hello',
 'bin')

-urlbase = 'http://dist.gem5.org/dist/current/test-progs/hello/bin/'
+urlbase = config.resource_url + '/test-progs/hello/bin/'

 ref_path = joinpath(getcwd(), 'ref')
 verifiers = (
diff --git a/tests/gem5/insttest_se/test.py b/tests/gem5/insttest_se/test.py
index c3fa322..6bddc86 100644
--- a/tests/gem5/insttest_se/test.py
+++ b/tests/gem5/insttest_se/test.py
@@ -51,7 +51,7 @@
 else:
 base_path = joinpath(absdirpath(__file__), '..', 'test-progs')

-urlbase = 'http://dist.gem5.org/dist/current/test-progs/insttest/bin/'
+urlbase = config.resource_url + '/test-progs/insttest/bin/'
 for isa in test_progs:
 for binary in test_progs[isa]:
 for  operating_s in supported_os[isa]:
diff --git a/tests/gem5/m5_util/test_exit.py  
b/tests/gem5/m5_util/test_exit.py

index 02e97cf..0a0dc16 100644
--- a/tests/gem5/m5_util/test_exit.py
+++ b/tests/gem5/m5_util/test_exit.py
@@ -53,8 +53,7 @@
 path = joinpath(absdirpath(__file__), '..',
 'test-progs', 'hello', 'bin', 'x86', 'linux')
 filename = 'm5_exit'
-url = ('http://dist.gem5.org/dist/current/test-progs/' +
-   'm5-exit/bin/x86/linux/m5_exit')
+url = (config.resource_url + '/test-progs/m5-exit/bin/x86/linux/m5_exit')
 test_program = DownloadedProgram(url, path, filename)

 a = verifier.MatchRegex(m5_exit_regex)
diff --git 

[gem5-dev] Change in gem5/gem5[develop]: cpu: Check for a switch in renaming at startup stage

2020-04-21 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/28007 )



Change subject: cpu: Check for a switch in renaming at startup stage
..

cpu: Check for a switch in renaming at startup stage

This needs to be done since setting up vector renaming mode during
construction time might not be possible if some SimObject haven't been
initialized yet.  By adding the extra check at startup time we are sure
the vector renaming mode is set up right.

JIRA: https://gem5.atlassian.net/browse/GEM5-438

Change-Id: Ibe3e9881e62c26c0a322232fb9651683155c2be8
Signed-off-by: Giacomo Travaglini 
---
M src/cpu/o3/cpu.cc
1 file changed, 3 insertions(+), 1 deletion(-)



diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index 5f0a98b..e90617d 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -599,8 +599,10 @@
 FullO3CPU::startup()
 {
 BaseCPU::startup();
-for (int tid = 0; tid < numThreads; ++tid)
+for (int tid = 0; tid < numThreads; ++tid) {
 isa[tid]->startup(threadContexts[tid]);
+switchRenameMode(tid, );
+}

 fetch.startupStage();
 decode.startupStage();

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/28007
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: Ibe3e9881e62c26c0a322232fb9651683155c2be8
Gerrit-Change-Number: 28007
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: arch: Fix VecReg container alignement to 128bits view

2020-04-21 Thread Jordi Vaquero (Gerrit)
Jordi Vaquero has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27968 )



Change subject: arch: Fix VecReg container alignement to 128bits view
..

arch: Fix VecReg container alignement to 128bits view

This Patch will fix the alignment problem that appears sometimes
when we try to create a view of 128 bits over the VecRegContainer
object.

That container is initially created as std::array, so
there is no obligation to be aligned to 16 bytes. This patches forces
all containers to be aligned to 16 bytes.

The problem has been observed in the Jira Issue:
https://gem5.atlassian.net/browse/GEM5-320

Change-Id: Id9fdd427bd7a4dc904edd519f31cc29c5b29c5e6
---
M src/arch/generic/vec_reg.hh
1 file changed, 2 insertions(+), 1 deletion(-)



diff --git a/src/arch/generic/vec_reg.hh b/src/arch/generic/vec_reg.hh
index 4156ac5..e26cf8b 100644
--- a/src/arch/generic/vec_reg.hh
+++ b/src/arch/generic/vec_reg.hh
@@ -279,7 +279,8 @@
 static constexpr inline size_t size() { return SIZE; };
 using Container = std::array;
   private:
-Container container;
+// 16-byte aligned to support 128bit element view
+alignas(16) Container container;
 using MyClass = VecRegContainer;

   public:

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27968
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: Id9fdd427bd7a4dc904edd519f31cc29c5b29c5e6
Gerrit-Change-Number: 27968
Gerrit-PatchSet: 1
Gerrit-Owner: Jordi Vaquero 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: configs: Produce list of workload types in workloads.py

2020-04-21 Thread Giacomo Travaglini (Gerrit)

Hello Nikos Nikoleris,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/c/public/gem5/+/27970

to review the following change.


Change subject: configs: Produce list of workload types in workloads.py
..

configs: Produce list of workload types in workloads.py

Change-Id: I3f585e006704e671775af8d66d241e555d34cb08
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Nikos Nikoleris 
---
M configs/example/arm/workloads.py
1 file changed, 8 insertions(+), 0 deletions(-)



diff --git a/configs/example/arm/workloads.py  
b/configs/example/arm/workloads.py

index 61e57f6..dd00819 100644
--- a/configs/example/arm/workloads.py
+++ b/configs/example/arm/workloads.py
@@ -37,6 +37,7 @@
 from __future__ import print_function
 from __future__ import absolute_import

+import inspect
 import m5
 from m5.objects import *
 from m5.options import *
@@ -83,3 +84,10 @@

 # Arm Trusted Firmware will provide a PSCI implementation
 system._have_psci = True
+
+def _is_workload(cls):
+""" Just a wrapper around the issubclass """
+return inspect.isclass(cls) and \
+issubclass(cls, ArmFsWorkload)
+
+workload_types = dict(inspect.getmembers(sys.modules[__name__],  
_is_workload))


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27970
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: I3f585e006704e671775af8d66d241e555d34cb08
Gerrit-Change-Number: 27970
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: configs: Add an example workloads module

2020-04-21 Thread Giacomo Travaglini (Gerrit)

Hello Ciro Santilli, Nikos Nikoleris,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/c/public/gem5/+/27969

to review the following change.


Change subject: configs: Add an example workloads module
..

configs: Add an example workloads module

This will be a collection of Workload types.
At the moment we provide the following:

* ArmBaremetal: modelling a simple baremetal workload
* ArmTrustedFirmware: modelling the arm trusted firmware workload

Change-Id: Ib46286c03a1c952f981b172c1ea6aa4a6668757e
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Ciro Santilli 
Reviewed-by: Nikos Nikoleris 
---
A configs/example/arm/workloads.py
1 file changed, 85 insertions(+), 0 deletions(-)



diff --git a/configs/example/arm/workloads.py  
b/configs/example/arm/workloads.py

new file mode 100644
index 000..61e57f6
--- /dev/null
+++ b/configs/example/arm/workloads.py
@@ -0,0 +1,85 @@
+# Copyright (c) 2020 ARM Limited
+# All rights reserved.
+#
+# The license below extends only to copyright in the software and shall
+# not be construed as granting a license to any other intellectual
+# property including but not limited to intellectual property relating
+# to a hardware implementation of the functionality of the software
+# licensed hereunder.  You may use the software subject to the license
+# terms below provided that you ensure that this notice is replicated
+# unmodified and in its entirety in all distributions of the software,
+# modified or unmodified, in source code or in binary form.
+#
+# 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.
+#
+
+from __future__ import print_function
+from __future__ import absolute_import
+
+import m5
+from m5.objects import *
+from m5.options import *
+
+from common.SysPaths import binary, disk
+
+class ArmBaremetal(ArmFsWorkload):
+""" Baremetal workload """
+atags_addr = 0
+
+def __init__(self, obj, system, **kwargs):
+super(ArmBaremetal, self).__init__(**kwargs)
+
+self.object_file = obj
+
+class ArmTrustedFirmware(ArmFsWorkload):
+"""
+Arm Trusted Firmware (TFA) workload.
+
+It models the firmware design described at:
+
+ 
https://trustedfirmware-a.readthedocs.io/en/latest/design/firmware-design.html

+
+The Workload is expecting to find a set of firmare images under
+the M5_PATH/binaries path. Those images are:
+* bl1.bin (BL1 = Stage 1 Bootloader)
+* fip.bin (FIP = Firmware Image Package):
+BL2, BL31, BL33 binaries compiled under a singe package
+
+These are the results of the compilation of Arm Trusted Firmware.
+https://github.com/ARM-software/arm-trusted-firmware
+
+"""
+atags_addr = 0
+
+def __init__(self, obj, system, **kwargs):
+super(ArmTrustedFirmware, self).__init__(**kwargs)
+
+self.extras = [ binary('bl1.bin'), binary('fip.bin'), ]
+self.extras_addrs = [
+system.realview.bootmem.range.start,
+system.realview.flash0.range.start
+]
+
+# Arm Trusted Firmware will provide a PSCI implementation
+system._have_psci = True

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27969
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: Ib46286c03a1c952f981b172c1ea6aa4a6668757e
Gerrit-Change-Number: 27969
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo 

[gem5-dev] Change in gem5/gem5[develop]: configs: Use workloads.py in baremetal.py

2020-04-21 Thread Giacomo Travaglini (Gerrit)

Hello Nikos Nikoleris,

I'd like you to do a code review. Please visit

https://gem5-review.googlesource.com/c/public/gem5/+/27971

to review the following change.


Change subject: configs: Use workloads.py in baremetal.py
..

configs: Use workloads.py in baremetal.py

Change-Id: I806b771df448241a7a61f496ac22c29d5bc6b84c
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Nikos Nikoleris 
---
M configs/example/arm/baremetal.py
1 file changed, 9 insertions(+), 3 deletions(-)



diff --git a/configs/example/arm/baremetal.py  
b/configs/example/arm/baremetal.py

index 00a350a..00fe5e7 100644
--- a/configs/example/arm/baremetal.py
+++ b/configs/example/arm/baremetal.py
@@ -57,6 +57,7 @@
 from common.cores.arm import HPI

 import devices
+import workloads

 # Pre-defined CPU configurations. Each tuple must be ordered as :  
(cpu_class,
 # l1_icache_class, l1_dcache_class, walk_cache_class, l2_Cache_class). Any  
of

@@ -100,9 +101,6 @@
   args.mem_size,
   platform=platform(),
   mem_mode=mem_mode,
-  workload=ArmFsWorkload(
-  atags_addr=0,
-  object_file=args.kernel),
   readfile=args.readfile)

 MemConfig.config_mem(args, system)
@@ -162,6 +160,10 @@
 system.have_virtualization = True
 system.have_security = True

+workload_class = getattr(workloads, args.workload)
+system.workload = workload_class(
+args.kernel, system)
+
 return system

 def run(args):
@@ -190,6 +192,10 @@
 parser.add_argument("--kernel", type=str,
 default=None,
 help="Binary to run")
+parser.add_argument("--workload", type=str,
+default="ArmBaremetal",
+choices=workloads.workload_types.keys(),
+help="Workload type")
 parser.add_argument("--disk-image", type=str,
 default=None,
 help="Disk to instantiate")

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27971
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: I806b771df448241a7a61f496ac22c29d5bc6b84c
Gerrit-Change-Number: 27971
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Nikos Nikoleris 
Gerrit-MessageType: newchange
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: configs: Add --machine-type option to baremetal.py

2020-04-21 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27952 )


Change subject: configs: Add --machine-type option to baremetal.py
..

configs: Add --machine-type option to baremetal.py

Change-Id: Ie5d81b455b86f456a49ba91aa231169be319fa73
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Adrian Herrera 
Reviewed-by: Ciro Santilli 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27952
Tested-by: kokoro 
---
M configs/example/arm/baremetal.py
1 file changed, 7 insertions(+), 1 deletion(-)

Approvals:
  Ciro Santilli: Looks good to me, approved
  Giacomo Travaglini: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/configs/example/arm/baremetal.py  
b/configs/example/arm/baremetal.py

index 36928ec..00a350a 100644
--- a/configs/example/arm/baremetal.py
+++ b/configs/example/arm/baremetal.py
@@ -93,10 +93,12 @@
 # Only simulate caches when using a timing CPU (e.g., the HPI model)
 want_caches = True if mem_mode == "timing" else False

+platform = ObjectList.platform_list.get(args.machine_type)
+
 system = devices.simpleSystem(ArmSystem,
   want_caches,
   args.mem_size,
-  platform=VExpress_GEM5_V2(),
+  platform=platform(),
   mem_mode=mem_mode,
   workload=ArmFsWorkload(
   atags_addr=0,
@@ -199,6 +201,10 @@
 parser.add_argument("--cpu-freq", type=str, default="4GHz")
 parser.add_argument("--num-cores", type=int, default=1,
 help="Number of CPU cores")
+parser.add_argument("--machine-type", type=str,
+choices=ObjectList.platform_list.get_names(),
+default="VExpress_GEM5_V2",
+help="Hardware platform class")
 parser.add_argument("--mem-type", default="DDR3_1600_8x8",
 choices=ObjectList.mem_list.get_names(),
 help = "type of memory to use")

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27952
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: Ie5d81b455b86f456a49ba91aa231169be319fa73
Gerrit-Change-Number: 27952
Gerrit-PatchSet: 2
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Adrian Herrera 
Gerrit-Reviewer: Ciro Santilli 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: configs: Add --semi-path option to baremetal.py

2020-04-21 Thread Giacomo Travaglini (Gerrit)
Giacomo Travaglini has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27951 )


Change subject: configs: Add --semi-path option to baremetal.py
..

configs: Add --semi-path option to baremetal.py

This is to make it possible to configure the semihosting
root directory via commandline.

Change-Id: If5167abc19eb8d78db37ebc854c336fe778a8a6f
Signed-off-by: Giacomo Travaglini 
Reviewed-by: Adrian Herrera 
Reviewed-by: Ciro Santilli 
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27951
Tested-by: kokoro 
---
M configs/example/arm/baremetal.py
1 file changed, 5 insertions(+), 0 deletions(-)

Approvals:
  Ciro Santilli: Looks good to me, approved
  Giacomo Travaglini: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/configs/example/arm/baremetal.py  
b/configs/example/arm/baremetal.py

index 87e8952..36928ec 100644
--- a/configs/example/arm/baremetal.py
+++ b/configs/example/arm/baremetal.py
@@ -110,6 +110,7 @@
 stdin=args.semi_stdin,
 stdout=args.semi_stdout,
 stderr=args.semi_stderr,
+files_root_dir=args.semi_path,
 cmd_line = " ".join([ args.kernel ] + args.args)
 )

@@ -223,6 +224,10 @@
 parser.add_argument("--semi-stderr", type=str, default="stderr",
 help="Standard error for semihosting " \
 "(default: gem5's stderr)")
+parser.add_argument('--semi-path', type=str,
+default="",
+help=('Search path for files to be loaded through '
+  'Arm Semihosting'))
 parser.add_argument("args", default=[], nargs="*",
 help="Semihosting arguments to pass to benchmark")
 parser.add_argument("-P", "--param", action="append", default=[],

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27951
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: If5167abc19eb8d78db37ebc854c336fe778a8a6f
Gerrit-Change-Number: 27951
Gerrit-PatchSet: 2
Gerrit-Owner: Giacomo Travaglini 
Gerrit-Reviewer: Adrian Herrera 
Gerrit-Reviewer: Ciro Santilli 
Gerrit-Reviewer: Giacomo Travaglini 
Gerrit-Reviewer: kokoro 
Gerrit-MessageType: merged
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

[gem5-dev] Change in gem5/gem5[develop]: arch,sim,kern,dev,cpu: Create a Workload SimObject.

2020-04-21 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/24283 )


Change subject: arch,sim,kern,dev,cpu: Create a Workload SimObject.
..

arch,sim,kern,dev,cpu: Create a Workload SimObject.

This generalized Workload SimObject is not geared towards FS or SE
simulations, although currently it's only used in FS. This gets rid
of the ARM specific highestELIs64 property (from the workload, not the
system) and replaces it with a generic getArch.

The old globally accessible kernel symtab has been replaced with a
symtab accessor which takes a ThreadContext *. The parameter isn't used
for anything for now, but in cases where there might be multiple
symbol tables to choose from (kernel vs. current user space?) the
method will now be able to distinguish which to use. This also makes
it possible for the workload to manage its symbol table with whatever
policy makes sense for it.

That method returns a const SymbolTable * since most of the time the
symbol table doesn't need to be modified. In the one case where an
external entity needs to modify the table, two pseudo instructions,
the table to modify isn't necessarily the one that's currently active.
For instance, the pseudo instruction will likely execute in user space,
but might be intended to add a symbol to the kernel in case something
like a module was loaded.

To support that usage, the workload has a generic "insertSymbol" method
which will insert the symbol in the table that "makes sense". There is
a lot of ambiguity what that means, but it's no less ambiguous than
today where we're only saved by the fact that there is generally only
one active symbol table to worry about.

This change also introduces a KernelWorkload SimObject class which
inherits from Workload and adds in kernel related members for cases
where the kernel is specified in the config and loaded by gem5 itself.
That's the common case, but the base Workload class would be used
directly when, for instance, doing a baremetal simulation or if the
kernel is loaded by software within the simulation as is the case for
SPARC FS.

Because a given architecture specific workload class needs to inherit
from either Workload or KernelWorkload, this change removes the
ability to boot ARM without a kernel. This ability should be restored
in the future.

To make having or not having a kernel more flexible, the kernel
specific members of the KernelWorkload should be factored out into
their own object which can then be attached to a workload through a
(potentially unused) property rather than inheritance.

Change-Id: Idf72615260266d7b4478d20d4035ed5a1e7aa241
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24283
Reviewed-by: Giacomo Travaglini 
Maintainer: Gabe Black 
Tested-by: kokoro 
---
M configs/common/FSConfig.py
M src/arch/arm/ArmFsWorkload.py
M src/arch/arm/freebsd/fs_workload.cc
M src/arch/arm/fs_workload.cc
M src/arch/arm/fs_workload.hh
M src/arch/arm/linux/fs_workload.cc
M src/arch/arm/stacktrace.cc
M src/arch/arm/system.cc
M src/arch/generic/linux/threadinfo.hh
M src/arch/riscv/RiscvFsWorkload.py
M src/arch/riscv/bare_metal/fs_workload.cc
M src/arch/riscv/bare_metal/fs_workload.hh
D src/arch/riscv/bare_metal/system.cc
M src/arch/riscv/fs_workload.hh
M src/arch/sparc/SparcFsWorkload.py
M src/arch/sparc/fs_workload.cc
M src/arch/sparc/fs_workload.hh
M src/arch/x86/X86FsWorkload.py
M src/arch/x86/fs_workload.cc
M src/arch/x86/fs_workload.hh
M src/arch/x86/stacktrace.cc
M src/cpu/o3/thread_state.hh
M src/cpu/simple_thread.cc
M src/kern/linux/helpers.cc
M src/sim/SConscript
M src/sim/System.py
R src/sim/Workload.py
M src/sim/debug.cc
A src/sim/kernel_workload.cc
A src/sim/kernel_workload.hh
D src/sim/os_kernel.cc
D src/sim/os_kernel.hh
M src/sim/pseudo_inst.cc
M src/sim/system.hh
R src/sim/workload.cc
A src/sim/workload.hh
36 files changed, 562 insertions(+), 572 deletions(-)

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



diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index a424a30..b3e248e 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -388,7 +388,7 @@
 self.console = binary('mips/console')
 if not cmdline:
 cmdline = 'root=/dev/hda1 console=ttyS0'
-self.workload = OsKernel(command_line=fillInCmdline(mdesc, cmdline))
+self.workload = KernelWorkload(command_line=fillInCmdline(mdesc,  
cmdline))


 self.system_port = self.membus.slave

diff --git a/src/arch/arm/ArmFsWorkload.py b/src/arch/arm/ArmFsWorkload.py
index 459f830..bc27c6d 100644
--- a/src/arch/arm/ArmFsWorkload.py
+++ b/src/arch/arm/ArmFsWorkload.py
@@ -36,7 +36,7 @@
 from m5.params import *
 from m5.options import *
 from m5.SimObject import *
-from m5.objects.OsKernel import OsKernel
+from m5.objects.Workload import KernelWorkload

 class ArmMachineType(Enum):
  

[gem5-dev] Change in gem5/gem5[develop]: configs,arch,sim: Move fixFuncEventAddr into the Workload class.

2020-04-21 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/24287 )


Change subject: configs,arch,sim: Move fixFuncEventAddr into the Workload  
class.

..

configs,arch,sim: Move fixFuncEventAddr into the Workload class.

This is specialized per arch, and the Workload class is the only thing
actually using it. It doesn't make any sense to dispatch those calls
over to the System object, especially since that was, in most cases,
the only reason an ISA specific system class even still existed.

After this change, only ARM still has an architecture specific System
class.

Change-Id: I81b6c4db14b612bff8840157cfc56393370095e2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24287
Maintainer: Gabe Black 
Tested-by: kokoro 
Reviewed-by: Giacomo Travaglini 
---
M configs/common/FSConfig.py
M src/arch/arm/fs_workload.hh
M src/arch/arm/system.hh
D src/arch/mips/MipsSystem.py
M src/arch/mips/SConscript
D src/arch/mips/bare_iron/system.cc
D src/arch/mips/bare_iron/system.hh
D src/arch/mips/linux/system.cc
D src/arch/mips/linux/system.hh
D src/arch/mips/system.cc
D src/arch/mips/system.hh
D src/arch/riscv/RiscvSystem.py
M src/arch/riscv/SConscript
D src/arch/riscv/system.cc
D src/arch/riscv/system.hh
M src/arch/riscv/tlb.cc
M src/arch/sparc/SConscript
D src/arch/sparc/SparcSystem.py
D src/arch/sparc/system.cc
D src/arch/sparc/system.hh
M src/arch/x86/SConscript
D src/arch/x86/X86System.py
M src/arch/x86/pagetable.hh
M src/arch/x86/process.cc
D src/arch/x86/system.cc
D src/arch/x86/system.hh
M src/arch/x86/tlb.hh
M src/mem/multi_level_page_table.hh
M src/sim/SConscript
M src/sim/system.hh
D src/sim/workload.cc
M src/sim/workload.hh
32 files changed, 17 insertions(+), 957 deletions(-)

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



diff --git a/configs/common/FSConfig.py b/configs/common/FSConfig.py
index b3e248e..7fc5557 100644
--- a/configs/common/FSConfig.py
+++ b/configs/common/FSConfig.py
@@ -108,7 +108,7 @@
 def childImage(self, ci):
 self.image.child.image_file = ci

-self = SparcSystem()
+self = System()
 if not mdesc:
 # generic system
 mdesc = SysConfig()
@@ -362,7 +362,7 @@
 ide = IdeController(disks=Parent.disks,
 pci_func=0, pci_dev=0, pci_bus=0)

-self = LinuxMipsSystem()
+self = System()
 if not mdesc:
 # generic system
 mdesc = SysConfig()
@@ -453,7 +453,7 @@


 def makeX86System(mem_mode, numCPUs=1, mdesc=None, workload=None,  
Ruby=False):

-self = X86System()
+self = System()

 if workload is None:
 workload = X86FsWorkload()
diff --git a/src/arch/arm/fs_workload.hh b/src/arch/arm/fs_workload.hh
index d6e375c..46694eb 100644
--- a/src/arch/arm/fs_workload.hh
+++ b/src/arch/arm/fs_workload.hh
@@ -117,6 +117,14 @@
 FsWorkload(Params *p);

 void initState() override;
+
+Addr
+fixFuncEventAddr(Addr addr) const override
+{
+// Remove the low bit that thumb symbols have set
+// but that aren't actually odd aligned
+return addr & ~1;
+}
 };

 } // namespace ArmISA
diff --git a/src/arch/arm/system.hh b/src/arch/arm/system.hh
index 1339c1c..203be1a 100644
--- a/src/arch/arm/system.hh
+++ b/src/arch/arm/system.hh
@@ -143,14 +143,6 @@

 ArmSystem(Params *p);

-Addr
-fixFuncEventAddr(Addr addr) override
-{
-// Remove the low bit that thumb symbols have set
-// but that aren't actually odd aligned
-return addr & ~1;
-}
-
 /** true if this a multiprocessor system */
 bool multiProc;

diff --git a/src/arch/mips/MipsSystem.py b/src/arch/mips/MipsSystem.py
deleted file mode 100644
index d32f30a..000
--- a/src/arch/mips/MipsSystem.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# -*- mode:python -*-
-
-# Copyright (c) 2007 MIPS Technologies, Inc.
-# 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 

[gem5-dev] [NOTICE] Mailing lists successfully migrated!

2020-04-21 Thread Bobby Bruce via gem5-dev
Dear all,

Thank you for your patience. If you have received this email it means our
mailing lists have been successfully migrated. You should experience no
change in service; please continue use the mailing lists as you have done
so before.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net
___
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[master]: arch-x86, cpu: Fix bpred by annotating branch instructions in x86

2020-04-21 Thread Juan Manuel Cebrián González (Gerrit)
Juan Manuel Cebrián González has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/27972 )



Change subject: arch-x86,cpu: Fix bpred by annotating branch instructions  
in x86

..

arch-x86,cpu: Fix bpred by annotating branch instructions in x86

Original Creator: Adria Armejach.

Branch instructions needed to be annotated in x86 as direct/indirect and  
conditional/unconditional. These annotations where not present causing the  
branch predictor to misbehave, not using the BTB. In addition, logic to  
determine the real branch target at decode needed to be added as it was  
also missing.


Change-Id: I91e707452c1825b9bb4ae75c3f599da489ae5b9a
---
M src/arch/x86/isa/insts/general_purpose/control_transfer/call.py
M  
src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py

M src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
M src/arch/x86/isa/insts/general_purpose/control_transfer/loop.py
M src/arch/x86/isa/insts/general_purpose/control_transfer/xreturn.py
M src/arch/x86/isa/macroop.isa
M src/arch/x86/isa/microops/regop.isa
M src/arch/x86/isa/microops/seqop.isa
M src/cpu/o3/decode_impl.hh
9 files changed, 112 insertions(+), 6 deletions(-)



diff --git  
a/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py  
b/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py

index c58152c..edc0007 100644
--- a/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py
+++ b/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py
@@ -41,6 +41,7 @@
 # Make the default data size of calls 64 bits in 64 bit mode
 .adjust_env oszIn64Override
 .function_call
+.control_direct

 limm t1, imm
 rdip t7
@@ -55,6 +56,7 @@
 # Make the default data size of calls 64 bits in 64 bit mode
 .adjust_env oszIn64Override
 .function_call
+.control_indirect

 rdip t1
 # Check target of call
@@ -68,6 +70,7 @@
 # Make the default data size of calls 64 bits in 64 bit mode
 .adjust_env oszIn64Override
 .function_call
+.control_indirect

 rdip t7
 ld t1, seg, sib, disp
@@ -82,6 +85,7 @@
 # Make the default data size of calls 64 bits in 64 bit mode
 .adjust_env oszIn64Override
 .function_call
+.control_indirect

 rdip t7
 ld t1, seg, riprel, disp
diff --git  
a/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py  
b/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py

index 87b2e6a..f92935d 100644
---  
a/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py
+++  
b/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py

@@ -40,6 +40,7 @@
 {
 # Make the defualt data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -50,6 +51,7 @@
 {
 # Make the defualt data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -60,6 +62,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -70,6 +73,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -80,6 +84,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -90,6 +95,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -100,6 +106,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -110,6 +117,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -120,6 +128,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -130,6 +139,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -140,6 +150,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -150,6 +161,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+.control_direct

 rdip t1
 limm t2, imm
@@ -160,6 +172,7 @@
 {
 # Make the default data size of jumps 64 bits in 64 bit mode
 .adjust_env oszIn64Override
+ 

[gem5-dev] NOTICE: gem5 mailing lists undergoing migration. Downtime expected!

2020-04-21 Thread Bobby Bruce
Dear all,

Over the next few hours, our gem5-dev, gem5-users, and gem5-announce
mailing lists will be migrated to a new service. In order for this to
happen there will be some downtime. We hope this will be short and resolved
by the end of the day at the latest. I shall send out an email once the
migration is complete.

We apologize for any inconvenience this may cause. Our Jira Issue tracking
system is still available to those who wish to report/discuss gem5 bugs and
possible improvements (https://gem5.atlassian.net). Those with urgent
questions that can't wait, please contact me at bbr...@ucdavis.edu.

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 2235,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: https://www.bobbybruce.net
___
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev