gem5.git
4 years agomisc: Merged release-staging-v19.0.0.0 into develop
Bobby R. Bruce [Mon, 24 Feb 2020 20:22:38 +0000 (12:22 -0800)]
misc: Merged release-staging-v19.0.0.0 into develop

4 years agomisc: Updated CONTRIBUTING.md to reflect altered release policy
Bobby R. Bruce [Tue, 18 Feb 2020 19:19:56 +0000 (11:19 -0800)]
misc: Updated CONTRIBUTING.md to reflect altered release policy

It has been decided that contributions can be made to the staging branch
(assuming they are of a high enough importance). The staging branch will
then be merged into both the master and develop branches.

The time in which the staging branch exists has been extended to two
weeks.

Jira: https://gem5.atlassian.net/browse/GEM5-334
Change-Id: I3cd0b344be9768871b7fd79261c603d17d8ac1b8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25523
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomem: Use using to expose a print method that would otherwise be hidden.
Gabe Black [Mon, 10 Feb 2020 03:33:50 +0000 (19:33 -0800)]
mem: Use using to expose a print method that would otherwise be hidden.

This method would be hidden in the subclass which upset clang 11, and
that caused the build to break.

Change-Id: Ie678fc96a26809eb8f2acd0bddc1df81c0a9aa1e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25227
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Convert the static constexpr SIZE in vec_reg to a function.
Gabe Black [Sat, 1 Feb 2020 00:57:36 +0000 (16:57 -0800)]
arch: Convert the static constexpr SIZE in vec_reg to a function.

When defining a static constexpr variable in C++11, it is still
required to have a separate definition someplace, something that can
be particularly problematic in template classes. C++17 fixes this
problem by adding inline variables which don't, but in the mean time
having a static constexpr value with no backing store will, if the
compiler decides to not fold away the storage location, cause linking
errors.

This happened to me when trying to build the debug build of ARM just
now.

By turning these expressions into static inline functions, then they
no longer need definitions elsewhere, still fold away to nothing, and
are compliant with C++11 which is currently the standard gem5 expects
to be using.

Change-Id: I647d7cf4a1e8de98251ee9ef116f007e08eac1f3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24964
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>

4 years agofastmodel: Use all possible address spaces when setting up a bp.
Gabe Black [Tue, 11 Feb 2020 02:04:39 +0000 (18:04 -0800)]
fastmodel: Use all possible address spaces when setting up a bp.

gem5 does not historically distinguish between address spaces when
interacting with gdb, and gdb doesn't really give it any address space
information to work with. To ensure we catch whatever address space
we might be in by the time we get to the interesting address, we'll set
a breakpoint in all possible address spaces simultaneously with the
expectation that we'll hit one of them.

Change-Id: I9f4b93d04914db7a3c42be6236a523d35194afda
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25268
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
4 years agodev-arm: Fix setupBootloader for VExpress_GEM5_V2
Giacomo Travaglini [Wed, 19 Feb 2020 10:59:19 +0000 (10:59 +0000)]
dev-arm: Fix setupBootloader for VExpress_GEM5_V2

Recent changes in the setupBootloader method didn't take into account
that the VExpress_GEM5_Base class does require "loc" to be passed
to the bootloader setup method:

setupBootLoader(self, cur_sys, loc, boot_loader=None)

However VExpress_GEM5_V2_Base was just passing cur_sys and boot_loader
so that the bootloader was being passed as loc and boot_loader was
passed as None (default parameter):

super(VExpress_GEM5_V2_Base, self).setupBootLoader(
        cur_sys, boot_loader)

This patch is fixing this by removing loc from the VExpress_GEM5_Base
interface: the bootloader defaults (usinbg loc) are being set in the
derived classes (V1 and V2)

Change-Id: Ic4d4e4fd8d45a7af9207900287828119c3d7d56c
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25583
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agofastmodel: Use a shared pointer to track PC events.
Gabe Black [Sat, 1 Feb 2020 10:21:15 +0000 (02:21 -0800)]
fastmodel: Use a shared pointer to track PC events.

When the last event is removed from a breakpoint, then the breakpoint
itself is uninstalled from IRIS, and the list is deleted. Even though
the list has been traversed and so we don't lose track of any other
events that need to be processed, we also still need to check against
end() to see that we're done. If that now freed memory gets
overwritten, then we won't see the end and will wander right off the
end of the list into nonsense.

This change modifies the breakpoint info tracking structure to keep a
shared pointer to the event list. The pointer will still automatically
manage the list's memory so that it doesn't leak, and it won't get
deleted out from under us as we're iterating through it.

Change-Id: I5ad0f095d07f0a3a5cce9c10f03121827a674c33
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24965
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
4 years agofastmodel: Add in a missing include and namespace for itState.
Gabe Black [Thu, 20 Feb 2020 00:20:54 +0000 (16:20 -0800)]
fastmodel: Add in a missing include and namespace for itState.

Change-Id: I47661d95ae6f07768cb6ac1610bc29bc029c2bd9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25624
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agofastmodel: Return nullptr from getCheckerCpuPtr on fast model CPUs.
Gabe Black [Sat, 1 Feb 2020 10:27:16 +0000 (02:27 -0800)]
fastmodel: Return nullptr from getCheckerCpuPtr on fast model CPUs.

Fast model CPUs won't (at least as of now) have a checker CPU attached
to them. We can safely return nullptr to signal that to calling code.

Change-Id: I7edd4f895d9c3767cb991a2b2af6538cf9661969
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24966
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

4 years agofastmodel: Ignore clearArchRegs for now.
Gabe Black [Sat, 1 Feb 2020 10:30:35 +0000 (02:30 -0800)]
fastmodel: Ignore clearArchRegs for now.

This only seems to be used from outside of the CPU when resetting state
at the start of execution. Since this state is already reset in
fast model, we can mostly ignore that call for now.

When more accessors are implemented, this function can be use them to
clear registers like it would on other thread contexts.

Change-Id: I5146273387ec17987770abc67f6f426c4480e0b9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24967
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

4 years agosim: Fix pseudo instruction parameter loading
Jason Lowe-Power [Tue, 18 Feb 2020 18:51:58 +0000 (10:51 -0800)]
sim: Fix pseudo instruction parameter loading

With the new ABI API the position argument of the pseudo inst ABI was
not updated correctly. The position needs to be incremented (at least)
once per argument.

Note: `position++` must be outside of the function call because of a GCC
complaint:
build/X86/sim/pseudo_inst.hh:80:48: error: cannot bind non-const lvalue
reference of type 'int&' to an rvalue of type 'PseudoInstABI::Position
{aka int}'
         return TheISA::getArgument(tc, position++, sizeof(uint64_t),
false);

Issue: https://gem5.atlassian.net/browse/GEM5-351
Change-Id: Idd890a587a565b8ad819f094147a02dc1519e997
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25543
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agofastmodel: Set itstate when building a PCState from IRIS.
Gabe Black [Tue, 14 Jan 2020 01:15:22 +0000 (17:15 -0800)]
fastmodel: Set itstate when building a PCState from IRIS.

These bits are probably never going to be non-zero since we'd have to
take a checkpoint part way through an if/then construct in thumb, but
they're easy to extract and we might as well store them properly.

Change-Id: Ifc5c34063dd23f72cc106c0d77d90c5e6ee871be
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24328
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: ArmISA::clear, inval TLB cached miscregs
Adrian Herrera [Mon, 17 Feb 2020 16:13:34 +0000 (16:13 +0000)]
arch-arm: ArmISA::clear, inval TLB cached miscregs

ArmISA::clear resets the value of the architecture registers. Some of
these are cached in ArmTLB, including SCTLR. This patch invalidates the
cached copies on clear; this fixes a bug when resetting CPU cores by which
the cached SCTLR was used and SCTLR.M was set, resulting in non-arch
compliant reset behaviour and a PA being treated as a VA on translation.

Change-Id: I8d4eeeaf807325bd7b300a7a317abfa40ad23c87
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25466
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: pass ThreadContext on ISA clear
Adrian Herrera [Mon, 9 Dec 2019 09:53:12 +0000 (09:53 +0000)]
misc: pass ThreadContext on ISA clear

This patch changes the clear API for the ISAs to pass the ThreadContext
issuing the call. This allows the ISA to carry out maintainance
operations on the TC state.

Change-Id: I40d6cf39c321521a221146aa0fd8f2cf665d39c6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25465
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agocpu: Fix vector renaming bug
Giacomo Travaglini [Mon, 17 Feb 2020 10:45:43 +0000 (10:45 +0000)]
cpu: Fix vector renaming bug

The following patch:

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

moved initialization of vecMode out of initializing list.
In this way regFile gets initialized with an invalid initial renaming
mode.

Change-Id: Ib7bab9eaac0f5850fd3b3151584132f809a641e1
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25430
Reviewed-by: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch, arch-arm: Use BaseISA in RenameMode interface
Giacomo Travaglini [Mon, 17 Feb 2020 10:41:58 +0000 (10:41 +0000)]
arch, arch-arm: Use BaseISA in RenameMode interface

Please note: we are still templatizing the RenameMode class to avoid
virtual methods

Change-Id: I4afd99f45eaa45be9e032b67e106884a21c83234
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25429
Reviewed-by: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: Fix CNTFRQ_EL0 permission bits
Adrian Herrera [Fri, 14 Feb 2020 09:18:08 +0000 (09:18 +0000)]
arch-arm: Fix CNTFRQ_EL0 permission bits

The register is marked as being writable at EL3 only (mon).  However the
arm arm states the register is accessible at the highest implemented EL.
Which means that if EL1 is the highest EL, EL1 code should be able to
modify the register value.

Change-Id: If9884fa2232869c043c96eba320e3c69efbab517
Reviewed-by: Richard Cooper <richard.cooper@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25428
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoscons,systemc: disable systemc tests scons by default
Ciro Santilli [Tue, 21 Jan 2020 18:03:44 +0000 (18:03 +0000)]
scons,systemc: disable systemc tests scons by default

Not running the systemc test SConscript reduces the scons startup time
(before any file is compiled) from about 10s to 4s on my machine.

The performance investigation was done at:
https://gem5.atlassian.net/browse/GEM5-256

As before, the systemc tests are still automatically built when
they are run with:

src/systemc/tests/verify.py --update-json build/ARM -j `nproc` \
  --filter-file src/systemc/tests/working.filt

Change-Id: I33b7a53c0a7d70386ab17d7bb4886c84a97a2eb3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25385
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: Add used attribute to pauth_helpers asserts
Matthew Poremba [Wed, 12 Feb 2020 22:07:43 +0000 (14:07 -0800)]
arch-arm: Add used attribute to pauth_helpers asserts

Adding M5_VAR_USED attribute to variables in pauth_helpers so that
gem5.fast builds.

Change-Id: I45dd70ea2e921f7ce68ea52147abdd40da99f37e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25364
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoutil: Remove ALPHA from the regress script.
Gabe Black [Mon, 17 Feb 2020 10:15:44 +0000 (02:15 -0800)]
util: Remove ALPHA from the regress script.

The default architecture will now be ARM.

Change-Id: Ib2bda3d4ce1fc25f1fec1c9f62eeb9b81032017b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25460
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>

4 years agoutil: Delete some Alpha related files from the m5 utility.
Gabe Black [Mon, 17 Feb 2020 10:14:33 +0000 (02:14 -0800)]
util: Delete some Alpha related files from the m5 utility.

Change-Id: I5d751996d09459e79427851e80a4826e18f9db27
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25459
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>

4 years agoutil: Delete authors lists from files in util.
Gabe Black [Mon, 17 Feb 2020 10:05:03 +0000 (02:05 -0800)]
util: Delete authors lists from files in util.

Change-Id: I2a165d3130c1464a73823046e4c7b03ba0355459
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25457
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agotests: Delete some test files which are specific to Alpha.
Gabe Black [Mon, 17 Feb 2020 10:12:56 +0000 (02:12 -0800)]
tests: Delete some test files which are specific to Alpha.

Change-Id: Idbffab70abdbb59817c6e002e26b8cb0fa96a4e2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25458
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agomisc: Remove mention of ALPHA from the README.
Gabe Black [Mon, 17 Feb 2020 10:22:37 +0000 (02:22 -0800)]
misc: Remove mention of ALPHA from the README.

Change-Id: Ic0faf22e5ed94cf7e7591175a808c4696de29e25
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25462
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agomisc: Remove arch-alpha from the MAINTAINERS file.
Gabe Black [Mon, 17 Feb 2020 10:17:52 +0000 (02:17 -0800)]
misc: Remove arch-alpha from the MAINTAINERS file.

This architecture no longer exists in gem5, and so doesn't need a
maintainer.

Change-Id: I41cfba1e60d24fd4016953addfb7933993bce98b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25461
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agoscons: Remove mention of ALPHA from the SConstruct.
Gabe Black [Mon, 17 Feb 2020 10:26:05 +0000 (02:26 -0800)]
scons: Remove mention of ALPHA from the SConstruct.

I've arbitrarily chosen to make ARM the default ISA for now, since I
think it's the best supported ISA with X86 somewhere a little behind
it. As a compromise, I change all mention of ALPHA (or even ALPHA_SE!)
in comments to be X86 instead, so it gets some attention too.

Change-Id: I1d8edc7925ca2d94f11b26e2c0b9314216e9b97d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25463
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agomisc: Delete authors lists from shared include files.
Gabe Black [Mon, 17 Feb 2020 09:41:55 +0000 (01:41 -0800)]
misc: Delete authors lists from shared include files.

Change-Id: I65d3d2e8df9799d9d3dc61734265a62b4dc9d67f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25456
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosystem: Delete authors lists from system source files.
Gabe Black [Mon, 17 Feb 2020 09:40:36 +0000 (01:40 -0800)]
system: Delete authors lists from system source files.

Change-Id: I899bd4d04ad1cbf5ab32d57df88e2a146d2e2e4e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25455
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agotests: Delete authors lists from test files.
Gabe Black [Mon, 17 Feb 2020 09:37:04 +0000 (01:37 -0800)]
tests: Delete authors lists from test files.

Change-Id: Id3628d34adccf8cc1044195b7209f3b01f061c93
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25454
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agox86: Delete authors lists from x86 files.
Gabe Black [Mon, 17 Feb 2020 09:02:26 +0000 (01:02 -0800)]
x86: Delete authors lists from x86 files.

Change-Id: I7f842105e2c506664fd62d5f671f90db59e42c0e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25453
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosparc: Delete authors lists from sparc files.
Gabe Black [Mon, 17 Feb 2020 08:26:33 +0000 (00:26 -0800)]
sparc: Delete authors lists from sparc files.

Change-Id: Iac3f9bb546121c73e6e73a0377d2a917c40df5f8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25452
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoriscv: Delete authors lists from riscv files.
Gabe Black [Mon, 17 Feb 2020 08:14:19 +0000 (00:14 -0800)]
riscv: Delete authors lists from riscv files.

Change-Id: I94135c8f0e1baee741d6470cb80b4da5e5f8e673
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25451
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agopower: Delete the authors lists from the power ISA.
Gabe Black [Mon, 17 Feb 2020 08:05:26 +0000 (00:05 -0800)]
power: Delete the authors lists from the power ISA.

Change-Id: Ib661723a9fcc09dd6e1e68a7c38a99e6d404dc46
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25450
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomips: Delete authors lists from mips files.
Gabe Black [Mon, 17 Feb 2020 07:57:13 +0000 (23:57 -0800)]
mips: Delete authors lists from mips files.

Change-Id: I56c054c64fe3d1e39ed5d315b8ac78de2e993dc5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25449
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Gabe Black <gabeblack@google.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agohsail: Delete the author list from gpu_isa.hh.
Gabe Black [Mon, 17 Feb 2020 07:48:49 +0000 (23:48 -0800)]
hsail: Delete the author list from gpu_isa.hh.

Change-Id: I9c90fef4420286dbda7157d8961b4cf3c79a7c27
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25448
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarm: Delete authors lists from the arm files.
Gabe Black [Mon, 17 Feb 2020 07:47:36 +0000 (23:47 -0800)]
arm: Delete authors lists from the arm files.

Change-Id: I6e9f5b70faebe5d279bff303c42f59a00a7845ec
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25447
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Delete authors lists from the null arch files.
Gabe Black [Mon, 17 Feb 2020 07:15:49 +0000 (23:15 -0800)]
arch: Delete authors lists from the null arch files.

Change-Id: Ief42708d8961a5c33db5e8a603ee8fff8df8b198
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25446
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Delete authors lists from generic arch files.
Gabe Black [Mon, 17 Feb 2020 07:11:01 +0000 (23:11 -0800)]
arch: Delete authors lists from generic arch files.

Change-Id: I831a0f1876845f37ab12a2448e898719e74a0b55
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25445
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev,mips: Delete a large binary file from src/dev/mips.
Gabe Black [Sun, 16 Feb 2020 01:41:37 +0000 (17:41 -0800)]
dev,mips: Delete a large binary file from src/dev/mips.

This file doesn't seem to actually get referred to by anything in gem5,
and additionally MIPS FS mode has a ways to go before it can be used.
If this file is really necessary for running MIPS, it can be retrieved
from the history in the future.

Change-Id: I3a86fc928a4be1c9159f0fafb986dfb06d09bb7b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25404
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim: Delete authors lists from files in sim.
Gabe Black [Sun, 16 Feb 2020 02:33:09 +0000 (18:33 -0800)]
sim: Delete authors lists from files in sim.

Change-Id: I09a6117772c092157bf83701cf853145bb88ccf8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25411
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosystemc: Delete authors lists from systemc files.
Gabe Black [Sun, 16 Feb 2020 02:15:38 +0000 (18:15 -0800)]
systemc: Delete authors lists from systemc files.

Change-Id: I6c6219732029d5a9db1d317c130086cf2d16a272
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25410
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev: Delete the authors list from files in src/dev.
Gabe Black [Sun, 16 Feb 2020 01:40:40 +0000 (17:40 -0800)]
dev: Delete the authors list from files in src/dev.

Change-Id: I0907a6f1ada3038305c2d83a350a8d435ac657ba
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25403
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: Be more verbose on load/store construction
Giacomo Travaglini [Wed, 4 Dec 2019 14:38:01 +0000 (14:38 +0000)]
arch-arm: Be more verbose on load/store construction

This is achieved by using keyword arguments to improve readibility.
Some of the building helpers are using native types and can be annoying
for a reader to understand what those sequences of number and boolean
mean. It is also easier in this way to commit mistakes.

Change-Id: I63081d09a1f621550c5b6522b8107f349939b21d
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24044
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agobase: Use a int to store fgetc return value
Giacomo Travaglini [Fri, 14 Feb 2020 10:24:01 +0000 (10:24 +0000)]
base: Use a int to store fgetc return value

The stdio fgetc returns the character read as an unsigned char cast to
an int.
The reason why it gets casted from unsigned char to int is because EOF
is defined as a negative value (usually -1).

At the moment in the atomicio.test we store the int in a char.

However the C standard states that the sign of a char is implementation
specific. This makes the test non portable: an architecture/ABI which
which is considering a char as a unsigned char won't compile since a
unsigned value will always be != -1 (EOF).

This is the error message you would get on a aarch64 host /w gcc/5.4.0

build/ARM/base/atomicio.test.cc:121:48:
error: comparison is always true due to limited range of data type
[-Werror=type-limits]

Change-Id: I120e44b5204d98e643f19b8dd6fa2762342a6e64
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25384
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: Fix ArmKVM build
Giacomo Travaglini [Mon, 17 Feb 2020 14:27:46 +0000 (14:27 +0000)]
arch-arm: Fix ArmKVM build

BaseInterrupts don't have a checkRaw method.
This was breaking gem5 compilation on a Arm machine

Change-Id: I8717b1bcf64ed14e8a0f63a9dcaca6041dbea4d3
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25431
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agocpu: Delete authors lists from the cpu directory.
Gabe Black [Mon, 17 Feb 2020 07:07:25 +0000 (23:07 -0800)]
cpu: Delete authors lists from the cpu directory.

Change-Id: Icfba8e23b5f6820a6ddefe1a50abbe5f8825b7b5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25444
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agomem: Delete authors lists from mem files.
Gabe Black [Mon, 17 Feb 2020 06:36:41 +0000 (22:36 -0800)]
mem: Delete authors lists from mem files.

Change-Id: I439d64d01950463747446a8177086eb276b8db55
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25443
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agopython: Delete authors lists from the python directory.
Gabe Black [Sun, 16 Feb 2020 01:53:50 +0000 (17:53 -0800)]
python: Delete authors lists from the python directory.

Change-Id: Ia147b90016f56a8ddd0c77b15746f74f50aba7e8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25408
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agomisc: Delete authors lists from proto.
Gabe Black [Sun, 16 Feb 2020 01:49:09 +0000 (17:49 -0800)]
misc: Delete authors lists from proto.

Change-Id: I3ec4f28c82de2f006518ca276f761813d08d7977
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25407
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agolearning-gem5: Delete authors lists from learning_gem5.
Gabe Black [Sun, 16 Feb 2020 01:47:52 +0000 (17:47 -0800)]
learning-gem5: Delete authors lists from learning_gem5.

Change-Id: I42b6241057dab661aeaad695d48f62f70f163832
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25406
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agomisc: Delete authors lists from documentation related files.
Gabe Black [Sun, 16 Feb 2020 01:44:55 +0000 (17:44 -0800)]
misc: Delete authors lists from documentation related files.

Change-Id: I6cd78336687c2516a90dba7c56154b03a709f791
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25405
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agocpu: Mark ExecContext::tcBase() as const
Giacomo Travaglini [Fri, 17 Jan 2020 10:47:27 +0000 (10:47 +0000)]
cpu: Mark ExecContext::tcBase() as const

Change-Id: Ia3965c05a1b00e0a9738ddbccb4dc0b651f78e5e
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24523
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: Delete authors lists from top level .md files.
Gabe Black [Sun, 16 Feb 2020 03:13:03 +0000 (19:13 -0800)]
misc: Delete authors lists from top level .md files.

Change-Id: Iefa9d6bd3ce0212bb3eb6101a73aeca737df2c1a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25417
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agoconfig: Delete authors lists from config files.
Gabe Black [Sun, 16 Feb 2020 03:11:16 +0000 (19:11 -0800)]
config: Delete authors lists from config files.

Change-Id: I049f2e97ad00d76341c2aeeaa02279862a8a4d71
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25416
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agobase: Delete authors lists from files in base.
Gabe Black [Sun, 16 Feb 2020 02:59:38 +0000 (18:59 -0800)]
base: Delete authors lists from files in base.

Change-Id: I73020efd522489ee152af890ab5e03449bc0a900
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25415
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agogpu-compute: Delete authors lists from gpu-compute files.
Gabe Black [Sun, 16 Feb 2020 02:42:01 +0000 (18:42 -0800)]
gpu-compute: Delete authors lists from gpu-compute files.

Change-Id: I72318eb885f9517de325ea9a9af263f36613bf6e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25414
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agokern: Delete authors lists from files in kern.
Gabe Black [Sun, 16 Feb 2020 02:36:34 +0000 (18:36 -0800)]
kern: Delete authors lists from files in kern.

Change-Id: Ic82d0172b61b5b84241edf1112148d7383aade97
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25413
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agoscons: Remove authors from the main SConsctruct/SConscript files.
Gabe Black [Sun, 16 Feb 2020 02:34:09 +0000 (18:34 -0800)]
scons: Remove authors from the main SConsctruct/SConscript files.

Change-Id: I48987ea4d829e722caf16126dd82f2c580e7836a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25412
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agotests: Delete authors lists from the unittest directory.
Gabe Black [Sun, 16 Feb 2020 01:55:38 +0000 (17:55 -0800)]
tests: Delete authors lists from the unittest directory.

Change-Id: Id4c7f5ddb932e427cb42d0698b1a048377d027c2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25409
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
4 years agomisc: Updated Doxygen to state version as v19.0.0.0
Bobby R. Bruce [Thu, 13 Feb 2020 20:33:43 +0000 (12:33 -0800)]
misc: Updated Doxygen to state version as v19.0.0.0

Change-Id: I6baf60e1f59c0e856c2184fcb0211ed85a62a794
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25363
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoalpha: Delete the alpha arch files.
Gabe Black [Thu, 23 Jan 2020 05:28:08 +0000 (21:28 -0800)]
alpha: Delete the alpha arch files.

Change-Id: If8f930c77e5f97156b42f68b3f8a538c8f8bf94c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24652
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agobase: Delete alpha loader components.
Gabe Black [Thu, 23 Jan 2020 05:27:09 +0000 (21:27 -0800)]
base: Delete alpha loader components.

Change-Id: I228ff95af3fea04f8fb96486d5130abe1ab0228f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24651
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
4 years agodev: Delete alpha devices.
Gabe Black [Thu, 23 Jan 2020 05:21:48 +0000 (21:21 -0800)]
dev: Delete alpha devices.

Change-Id: Idc41e83d94d39e8e45044a64b22b39cb395947c7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24650
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
4 years agosim: Remove mention of alpha.
Gabe Black [Thu, 23 Jan 2020 05:20:06 +0000 (21:20 -0800)]
sim: Remove mention of alpha.

Change-Id: Iec6b9284383d380885955438c3693b0d2efc497e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24649
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
4 years agocpu: Remove alpha specialized code.
Gabe Black [Thu, 23 Jan 2020 05:36:09 +0000 (21:36 -0800)]
cpu: Remove alpha specialized code.

Change-Id: I770132af2f11ed232a100ab8bef942f17789ef36
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24648
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoconfigs: Remove mentions of alpha from the configs.
Gabe Black [Thu, 23 Jan 2020 05:16:29 +0000 (21:16 -0800)]
configs: Remove mentions of alpha from the configs.

Change-Id: I09117b52c0c87679eaa72dbb79545dd1e77732b1
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24647
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
4 years agosystem: Delete alpha files from system.
Gabe Black [Thu, 23 Jan 2020 05:11:06 +0000 (21:11 -0800)]
system: Delete alpha files from system.

Change-Id: I42b8ea34fb64b6dc7bdf3c09310011cfd989a7d9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24646
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
4 years agoscons: Delete the ALPHA default build configuration.
Gabe Black [Thu, 23 Jan 2020 05:10:03 +0000 (21:10 -0800)]
scons: Delete the ALPHA default build configuration.

Change-Id: Ifbc0b6dd9b85e5a00ab11f16b2703b4ae946207e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24645
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: Updated git-commit-msg.py to print rejected commit
Bobby R. Bruce [Mon, 10 Feb 2020 20:07:52 +0000 (12:07 -0800)]
misc: Updated git-commit-msg.py to print rejected commit

A rejected commit is now printed to stdout. This adds an additional
level of security if the ".git/COMMIT_EDITMSG" is deleted/overwritten.

Jira: https://gem5.atlassian.net/browse/GEM5-321
Change-Id: I87d463f7c40024d68bf78705f0d02fcea9f0eeeb
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25343
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoscons,arch: Remove simple scalar compatibility.
Gabe Black [Wed, 5 Feb 2020 00:19:38 +0000 (16:19 -0800)]
scons,arch: Remove simple scalar compatibility.

This was primarily in Alpha where disassmbly output could be compatible
(default off, probably not usd in a long time), and floating point
could be compatible (default on). A small bit had crept into x86 from
long ago which is also removed.

Change-Id: Ibb68b63787f370259bd1613b393e0b057c007704
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25012
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarm: Don't checkpoint the SystemCounter's "_period" value.
Gabe Black [Wed, 15 Jan 2020 02:19:18 +0000 (18:19 -0800)]
arm: Don't checkpoint the SystemCounter's "_period" value.

This value is just a cached inverse of _freq and can be recalculated
easily once the checkpoint is restored. The actual value of _period
actually depends on the global resolution of time (ie how much time a
Tick represents), and so saving the value of _period is also not
technically correct, even though in practice that will very rarely
cause a problem.

Change-Id: I21e63ba25ac4e189417905e532981f3d80723f19
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24390
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarm: "Correct" the spelling of flavor.
Gabe Black [Tue, 4 Feb 2020 01:29:26 +0000 (17:29 -0800)]
arm: "Correct" the spelling of flavor.

In US English, flavor is spelled flavor, not flavour. The choice of
US spelling is arbitrary but consistent with gem5's history and the
rest of the code base.

Also fix a couple small style issues.

Change-Id: I307f8458fec5918a6fc34f938a4c12955d4d0565
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25010
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch,cpu: Make the CPU's ISA parameter type BaseISA.
Gabe Black [Tue, 4 Feb 2020 01:08:18 +0000 (17:08 -0800)]
arch,cpu: Make the CPU's ISA parameter type BaseISA.

This is mostly only a superficial change since the isa parameter is
then dynamic cast to the ISA specific version inside the various
consumers, currently the SimpleThread, O3CPU and Decoder classes. If
those aren't being used, for instance in the fast model CPUs, then you
can use a different ISA implementation without any type clashes.

Change-Id: I2226ef60f9a471ae51b8bfce8683033f7854197a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25009
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoext: Add failure node to JUnit xml file
Giacomo Travaglini [Wed, 5 Feb 2020 17:18:11 +0000 (17:18 +0000)]
ext: Add failure node to JUnit xml file

"failure" is a child of the testcase node:

https://llg.cubic.org/docs/junit/

It allows xml parsers to understand which testcase failed the run.
Otherwise CI frameworks like jenkins wouldn't be able to classify every
single testcase. Prior to this patch testlib was using
testsuites.failures and testsuite.failures only. These are simply
reporting the number of failures.

Change-Id: I0d498eca029c3232f2a588b153b6b6829b789394
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25083
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
4 years agomisc: Updated CONTRIBUTING.md to discuss releases and hotfixes
Bobby R. Bruce [Tue, 28 Jan 2020 02:43:32 +0000 (18:43 -0800)]
misc: Updated CONTRIBUTING.md to discuss releases and hotfixes

A new section in CONTRIBUTING.md has been added to discuss the
proceedure for how releases are carried out, as well as hotfixes.

Jira: https://gem5.atlassian.net/browse/GEM5-297
Change-Id: I49e7d6e41e8a6d5387c839eb26263e86dd52c294
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24843
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: Updated CONTRIBUTING.md to discuss WIP changes
Bobby R. Bruce [Mon, 27 Jan 2020 23:00:17 +0000 (15:00 -0800)]
misc: Updated CONTRIBUTING.md to discuss WIP changes

Previously CONTRIBUTING.md discused private changes, but contributors
cannot submit private changes to Gerrit under the current configuration.
This has therefore been removed and replaced with an explanation of how
to submit a WIP (Work In Progress) changes to Gerrit. WIP changes are
permitted.

Change-Id: I9e1acbdaf4a9b5c433c0704ba9faf325a6b48c6a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24805
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: Updated CONTRIBUTING.md for master-as-stable setup
Bobby R. Bruce [Mon, 27 Jan 2020 22:18:08 +0000 (14:18 -0800)]
misc: Updated CONTRIBUTING.md for master-as-stable setup

Jira: https://gem5.atlassian.net/browse/GEM5-284
Change-Id: I28c4d658a2e9c3bf11879a7b73e16d167c97398f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24804
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: Removed old contribution guidelines regarding branches
Bobby R. Bruce [Fri, 24 Jan 2020 20:59:00 +0000 (12:59 -0800)]
misc: Removed old contribution guidelines regarding branches

This is old, outdated information. It has largely been replaced by:
https://gem5-review.googlesource.com/c/public/gem5/+/24263

Change-Id: I2f232cd1b3133f94434f4f12b1206dabaf339899
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24803
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomem: Eliminate the now unused GENERIC_IPR request flag.
Gabe Black [Tue, 26 Nov 2019 01:34:55 +0000 (17:34 -0800)]
mem: Eliminate the now unused GENERIC_IPR request flag.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: Id3aaffa4fa88032fd209c5c3b6f67283a6af1c48
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23187
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Muhammad Sarmad Saeed <mssaeed@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
4 years agoarch: Get rid of the generic mmapped IPR mechanism.
Gabe Black [Tue, 26 Nov 2019 01:30:22 +0000 (17:30 -0800)]
arch: Get rid of the generic mmapped IPR mechanism.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I4ab6f80581eee39e90fb91c672eca8e1a8fd9046
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23186
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

4 years agoarm: Call pseudoInst directly from the mmapped IPR handlers.
Gabe Black [Tue, 26 Nov 2019 01:12:12 +0000 (17:12 -0800)]
arm: Call pseudoInst directly from the mmapped IPR handlers.

The amount of plumbing necessary for the generic IPR mechanism out
weighs its value, considering it's only used for the m5ops.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I0efcf43904d5f779bef5ad127dd8d39fff41ac39
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23185
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agotests,misc: update TESTING.md documentation
Giacomo Travaglini [Thu, 16 Jan 2020 10:01:08 +0000 (10:01 +0000)]
tests,misc: update TESTING.md documentation

* Documentation was assuming only tests in tests/test-progs were run.
This is not true anymore since we are running linux-boot for arm
which doesn't have a directory inside test-progs and because it
is now possible to explicitly specify the bin directory
(--bin-path)

Change-Id: I4cbb02fa1c88839be45302ea64e07792e1fc81f5
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24526
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoscons: Fix an error about an unrecognized compiler.
Gabe Black [Sat, 8 Feb 2020 01:27:02 +0000 (17:27 -0800)]
scons: Fix an error about an unrecognized compiler.

join was being passed a series of strings to join as separate
arguments like os.path.join, but it expects to get them as members of a
single sequence.

Change-Id: Id88ce4e9c5400f256a1af6351b4a964af0036b72
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25203
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agobase: Fix squares of stats
Daniel R. Carvalho [Sat, 8 Feb 2020 11:38:02 +0000 (12:38 +0100)]
base: Fix squares of stats

If a sample V, which has a square(V) = V * V, was seen N times, then
its sum of squares is given by N * square(V).

Change-Id: Ie3fe0e4afe6e79ba4c8a5a56532f9346f79b4029
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25184
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agobase: Use a const auto & in a range based for loop.
Gabe Black [Mon, 10 Feb 2020 03:30:47 +0000 (19:30 -0800)]
base: Use a const auto & in a range based for loop.

clang 11 complains otherwise which breaks the build, and this way
is less verbose and more efficient since it doesn't require copying
a vector of strings for each element of the loop.

Change-Id: I005fa5fdf19ddba2114e98413e3609b0a91c1ec5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25226
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoriscv: Cast to float explicitly when comparing a float to an int.
Gabe Black [Mon, 10 Feb 2020 03:28:21 +0000 (19:28 -0800)]
riscv: Cast to float explicitly when comparing a float to an int.

clang 11 complains that the int value is not represented exactly
otherwise which breaks the build. With this case the comparison is
still the same, but since it's explicit the compiler doesn't warn about
it.

Change-Id: I1d9ffc77e778517d9c6a985ae7aa6c4f1d5b57a2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25225
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Alec Roelke <alec.roelke@gmail.com>
Maintainer: Alec Roelke <alec.roelke@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarm: Fix how a bitfield is extracted in some SVE instructions.
Gabe Black [Mon, 10 Feb 2020 03:23:27 +0000 (19:23 -0800)]
arm: Fix how a bitfield is extracted in some SVE instructions.

These instructions were extracting a bitfield by masking it, but then
didn't shift the bit into the correct position. They were then
comparing it with 1, which clang 11 correctly complained would always
be false. That warning became an error which broke the build.

This fixes that problem by switching that line and the few surrounding
lines to use the bits() function which removes the need to manually
mask or shift values. That makes it less likely for there to be a
mistake, and also makes it more obvious which bits are being accessed.

Change-Id: I692214f898e90dc7d5de460d1da2ef6aefda4fb8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25224
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Add a bunch of missing override specifiers.
Gabe Black [Mon, 10 Feb 2020 01:56:14 +0000 (17:56 -0800)]
arch: Add a bunch of missing override specifiers.

Missing override on methods which are overriding virtual methods causes
warnings/errors on certain compilers.

Change-Id: I16f565fa07bfcb399a0209cd87f1f9729cd89b2e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25223
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomem-cache,mem-ruby: Move WeightedLRU RP
Daniel R. Carvalho [Sat, 2 Nov 2019 14:20:00 +0000 (15:20 +0100)]
mem-cache,mem-ruby: Move WeightedLRU RP

Move the WeightedLRUReplacementPolicy to the replacement policies folder.

Change-Id: I9902faefb6de33343bb65f994be70bd9e1dd4e14
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22445
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: John Alsop <johnathan.alsop@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

4 years agotests: hello_se using host tag
Giacomo Travaglini [Fri, 17 Jan 2020 14:09:18 +0000 (14:09 +0000)]
tests: hello_se using host tag

This patch is rewriting hello_se to distinguish between statically and
dynamically linked hello worlds.

Change-Id: I03c1add1d1ca568d150f4bacd89b2838a6d27035
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24528
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>

4 years agotests: Add --host tag
Giacomo Travaglini [Fri, 17 Jan 2020 14:04:47 +0000 (14:04 +0000)]
tests: Add --host tag

A host tag has been added to take into consideration the host ISA which
is running gem5 (default is X86).
There might be regressions which are supposed to be run on a particular
host machine only. This could be the case of dynamically linked
regressions which require dynamic linker/loader + shared libraries of
the same ISA as the target.

Change-Id: I4c4044a4f1b8899f443856340df302df7c1aaf8e
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24527
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoconfigs: Using VExpress_GEM5_V1 as a default for Options.py
Giacomo Travaglini [Thu, 6 Feb 2020 14:34:48 +0000 (14:34 +0000)]
configs: Using VExpress_GEM5_V1 as a default for Options.py

This is replacing deprecated VExpress_EMM for scripts using Options.py,
like fs.py.

Change-Id: I2ba01b248bb9baf49e1f2217d623f3b9bc8a35f9
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25183
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-arm: LDTRSW was not marked as unpriviledged
Giacomo Travaglini [Wed, 4 Dec 2019 14:16:47 +0000 (14:16 +0000)]
arch-arm: LDTRSW was not marked as unpriviledged

Change-Id: If0f2b835e40ef011eba884b1dcd81f14531fd1ce
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24043
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
4 years agosystemc: gem5_to_tlm: treat non-rw as ignorable command
Earl Ou [Tue, 4 Feb 2020 03:30:59 +0000 (11:30 +0800)]
systemc: gem5_to_tlm: treat non-rw as ignorable command

Treat all kinds of non read/write requests in gem5_to_tlm bridge as ignorable
commands.

Change-Id: I5236e1b31f9a57470dc666d01cbe96249f48ed5d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25163
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch,sim: Replace setuidFunc with ignoreFunc.
Gabe Black [Wed, 27 Nov 2019 09:46:31 +0000 (01:46 -0800)]
arch,sim: Replace setuidFunc with ignoreFunc.

The setuidFunc just ignores the call and warns about it, and that's
what ignoreFunc already does.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I7655863ed6fe200ff3ac087be3218d49c3c43061
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23194
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim: Convert most of the common syscalls to use the guest ABI.
Gabe Black [Wed, 27 Nov 2019 01:46:37 +0000 (17:46 -0800)]
sim: Convert most of the common syscalls to use the guest ABI.

A couple tricky instances were left alone for now, specifically one
place where the size of the argument is specified explicitly (the
default ABI always leaves off the size), and two places where the
arguments are variadic which is not yet supported.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I2ec19bea77d329de3575e17e9f7209f4fd871aa6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23193
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim: Use the Guest ABI mechanism in writeFunc.
Gabe Black [Tue, 26 Nov 2019 07:30:26 +0000 (23:30 -0800)]
sim: Use the Guest ABI mechanism in writeFunc.

This change only modifies the writeFunc since it's easy to test using
the hello world test programs.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: Ia4a7bacdb9938d9fbe4093fc6958904d6c423360
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23192
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Switch SyscallDescABI in for SyscallDesc.
Gabe Black [Tue, 26 Nov 2019 07:26:08 +0000 (23:26 -0800)]
arch: Switch SyscallDescABI in for SyscallDesc.

This lets system calls accept arguments by putting them in their
signatures.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: Ieb32b8b5592d894e493466717613ff16e2a03768
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23191
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim: Add a transitional syscall ABI which defers to Process.
Gabe Black [Tue, 26 Nov 2019 07:01:59 +0000 (23:01 -0800)]
sim: Add a transitional syscall ABI which defers to Process.

This change adds a transitional ABI which just falls back to the
existing Process syscall arg getters. It should be phased out once each
ISA implements its own actual ABI.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: Ic40bd924989f91de70bbce59fda888b79bbbfca4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23190
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch: Simplify the SyscallDesc tables.
Gabe Black [Tue, 26 Nov 2019 06:22:13 +0000 (22:22 -0800)]
arch: Simplify the SyscallDesc tables.

By using braced initializer lists and dropping the default
unimplementedFunc implementation function, the SyscallDesc tables
become a lot less crowded, and it's now very obvious which syscalls
are implemented just by quickly visually scanning the table.

This will also make it a lot easier to change the underlying type
stored in the table without having to adjust all of the instances
within them.

Jira Issue: https://gem5.atlassian.net/browse/GEM5-187

Change-Id: I7821de74812e1c02ca4550fc9c46cc2188cf1bd0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23189
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>