gem5.git
4 years agocpu: update info related direction into BP if mispredicted.
tv-reddy [Wed, 26 Feb 2020 23:16:58 +0000 (15:16 -0800)]
cpu: update info related direction into BP if mispredicted.

Update direction info of a branch into BP if, the branch is not
found in the target buffer. Therefore, this  updated direction is
used to squash the branch later on. Previously, some mispredicted
branches were not sqaushed as the BP had old info.

Reported-by: Dimitrios Chasapis
Change-Id: I4be2eb706edc5ffa9935948fb52a01667286c721
jira-issue: https://gem5.atlassian.net/browse/GEM5-355
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25903
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Dimitrios Chasapis <k4s4s.heavener@gmail.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: Add missing UARTs (PL011) to VExpress_GEM5 platform
Adrian Herrera [Mon, 24 Feb 2020 11:27:54 +0000 (11:27 +0000)]
dev-arm: Add missing UARTs (PL011) to VExpress_GEM5 platform

This uarts are present in the VE RS1 memory map

Change-Id: I894f401bf524dfd46f6a663980436d8e12e0cd69
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/+/25986
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: Add trusted SP805 to VExpress_GEM5 platform
Adrian Herrera [Mon, 24 Feb 2020 11:14:47 +0000 (11:14 +0000)]
dev-arm: Add trusted SP805 to VExpress_GEM5 platform

This watchdog is present in the VE RS2 memory map when security is
enabled.

Change-Id: I732debf4d3e987a351cc09ca7206ef40b52ada41
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/+/25985
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: Add trusted SRAM memory to VExpress_GEM5 platform
Adrian Herrera [Fri, 21 Feb 2020 14:23:30 +0000 (14:23 +0000)]
dev-arm: Add trusted SRAM memory to VExpress_GEM5 platform

This memory is present in the VE RS1 memory map when security is enabled

Change-Id: I2e4fb95c2124d6e60b556903acb17fc4b1dba1a3
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/+/25984
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: Add flash0 memory to VExpress_GEM5 platform
Adrian Herrera [Fri, 21 Feb 2020 11:05:28 +0000 (11:05 +0000)]
dev-arm: Add flash0 memory to VExpress_GEM5 platform

This memory is present in the VE RS1 memory map

Change-Id: Ia00c802f137d8a82c93b984f4043ba9f7fd8027a
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Reviewed-by: Adrian Herrera <adrian.herrera@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25983
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoconfigs: Fix argument handling sweep.py
Nikos Nikoleris [Mon, 24 Feb 2020 16:58:07 +0000 (18:58 +0200)]
configs: Fix argument handling sweep.py

Change-Id: I6dacbda19971e1c940d1798febb54d20f971c2bc
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25710
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agopython: Remove unnecessary exports from pybind enums
Nikos Nikoleris [Mon, 24 Feb 2020 17:00:09 +0000 (19:00 +0200)]
python: Remove unnecessary exports from pybind enums

According to pybind documentation [1], enum entries use
.export_values() to export the enum entries into the parent
scope. However, strongly typed C++11 class enums are in their own
scope and therefore do not need to be exported.

[1]: https://pybind11.readthedocs.io/en/stable/classes.html#enume
rations-and-internal-types

Change-Id: I6181306b530d59eaedcb3daf9cab0a03d01d56f4
Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25709
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agotests: Migrated 51.memcheck scons-based tests to testlib
Bobby R. Bruce [Thu, 27 Feb 2020 01:58:50 +0000 (17:58 -0800)]
tests: Migrated 51.memcheck scons-based tests to testlib

"configs/example/memcheck.py" has been modified to keep the generated
"memcheck.cfg" in the "configs/example" directory. This generated file
is now ignored by git.

Change-Id: I19fab96419aa29e851139e759cc88b96465dd668
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25943
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: PL031, fix AMBA ID and clock names
Adrian Herrera [Thu, 5 Dec 2019 16:21:01 +0000 (16:21 +0000)]
dev-arm: PL031, fix AMBA ID and clock names

This patch fixes the AMBA ID of the PL031 RTC. It also adds the
"clock-names" property to its auto-DTB generation. This fixes and
enables correct probing from Linux.

Change-Id: I331bfa81664f57a35f21f35d658772eb40380e35
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25432
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agolearning-gem5: Use zero initialization in hello_goodbye test
Giacomo Travaglini [Thu, 27 Feb 2020 15:13:51 +0000 (15:13 +0000)]
learning-gem5: Use zero initialization in hello_goodbye test

This is likely fixing:

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

the exitCause method was randomically printing an invalid string coming
from a non 0 terminated char buffer, whose pointer is provided via the
exitSimLoop.
By doing zero-initialization we make sure last character is '\0'.

Change-Id: I514a9bd240a0d5489ce9652ad14289f834752abe
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/+/25987
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agotests: Fixed .testignore from 'arch64' to 'aarch64'
Bobby R. Bruce [Wed, 26 Feb 2020 16:54:15 +0000 (08:54 -0800)]
tests: Fixed .testignore from 'arch64' to 'aarch64'

Entries in `tests/gem5/.testignore` which were ignoring insttest tests,
were stating the host system as 'arch64' instead of 'aarch64'. This has
been fixed.

Change-Id: Ib90bd89e0544d225afc012fefca98db0ea2d8dd0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25845
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

4 years agoarm: Expose the constants which select a semihosting operation.
Gabe Black [Wed, 26 Feb 2020 03:16:06 +0000 (19:16 -0800)]
arm: Expose the constants which select a semihosting operation.

Give these constants meaningful names instead of opaque constants only
visible in the .cc file.

Change-Id: Ib88912dae79960f785099c236c337db52a69d563
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25945
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarm: Use a const ThreadContext * and readMiscRegNoEffect in places.
Gabe Black [Wed, 26 Feb 2020 12:46:11 +0000 (04:46 -0800)]
arm: Use a const ThreadContext * and readMiscRegNoEffect in places.

Unlike readMiscReg, readMiscRegNoEffect won't have any read related
side effects and so can be used on a const ThreadContext. Also, using
a const ThreadContext * in a few functions which don't actually intend
to change state makes them usable in more situations.

Change-Id: I4fe538ba1158b25f512d3cccd779e12f6c91da6c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25944
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim,arch: Move code that waits for a GDB connection to startup().
Gabe Black [Sat, 1 Feb 2020 00:53:46 +0000 (16:53 -0800)]
sim,arch: Move code that waits for a GDB connection to startup().

Currently the System class has a mechanism to wait for a GDB connection
for each CPU which has requested it through one of its parameters.
Unfortunately, not every thread context/CPU will be ready for GDB at
that point, particularly considering that in an FS simulation the
kernel won't have been read so there will be no symbols, none of the
registers or the entry point will have been set.

Also in the fast models, the CPUs haven't had a chance to initialize
themselves enough by that point to respond to the API calls which are
used to implement GDB support.

Change-Id: If27cb3e0259a1f67599ab0493695b2f8af640d8e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24963
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Chun-Chen TK Hsu <chunchenhsu@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agocpu: change the location of BTBlookup
tv-reddy [Thu, 20 Feb 2020 07:30:41 +0000 (23:30 -0800)]
cpu: change the location of BTBlookup

BTBlookup should be done only if BTB is used, previously
this stat was updated for indirector predictor as well.

https: //gem5.atlassian.net/browse/GEM5-338
Change-Id: I20695dc7a8677d4fd0c4ae9f4f7d279387d5ad62
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25625
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu>
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agotests,misc: Updated tests/.gitignore to ignore test resources
Bobby R. Bruce [Sun, 1 Dec 2019 20:52:47 +0000 (12:52 -0800)]
tests,misc: Updated tests/.gitignore to ignore test resources

Tests run via main.py create some temp resources. These are now ignored.

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

4 years agoMerge "misc: merge branch 'release-staging-v19.0.0.0' into develop" into develop
Bobby R. Bruce [Wed, 26 Feb 2020 16:29:23 +0000 (16:29 +0000)]
Merge "misc: merge branch 'release-staging-v19.0.0.0' into develop" into develop

4 years agotests: Removed unneeded 02.insttest data
Bobby R. Bruce [Wed, 26 Feb 2020 02:38:14 +0000 (18:38 -0800)]
tests: Removed unneeded 02.insttest data

This test has been migrated to be run via `./main.py`.

Change-Id: I3608306da62c301bf0ebea6c5fbd1eebac703467
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25844
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agosim: print --debug-flag Event execution and instance ID
Ciro Santilli [Fri, 22 Nov 2019 16:14:50 +0000 (16:14 +0000)]
sim: print --debug-flag Event execution and instance ID

This makes it much easier to determine what event is causing something to
happen, especially when there are multiple events happening at the
same time.

Change-Id: I17378e16bd3de1d98e936a6252aab2cd8c303b23
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25383
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agomisc: merge branch 'release-staging-v19.0.0.0' into develop
Bobby R. Bruce [Wed, 26 Feb 2020 02:52:55 +0000 (18:52 -0800)]
misc: merge branch 'release-staging-v19.0.0.0' into develop

Change-Id: I8430c6717697563386d165a40a0d080b0d18832e

4 years agotests: Migrated insttest tests to be run via `./main.py run`
Bobby R. Bruce [Sun, 1 Dec 2019 20:36:32 +0000 (12:36 -0800)]
tests: Migrated insttest tests to be run via  `./main.py run`

Some of these tests are ignored due to them failing. These should be
fixed at a later date.

Change-Id: Ida2810e00b7c9daa6b33caa01ab9dfd5b79bf03e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24323
Reviewed-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agoarch-x86: Change guest ABI for x86 pseudo insts v19.0.0.0
Jason Lowe-Power [Fri, 21 Feb 2020 02:20:45 +0000 (18:20 -0800)]
arch-x86: Change guest ABI for x86 pseudo insts

Change the guest ABI for x86 pseudo instructions to explictly write rax.
This is required because for some reason, the KVM CPU overwrites rax
after the KVM MMIO sets the value.

Note: This is hacky. It will only work for the current implementations
of x86 m5 ops which have their return value in RAX. A comment is added
to the m5ops file to make this clear.

Change-Id: I9466bf050b26db3650cfe3d23008e0f77fda8bc0
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25664
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
4 years agodev-arm: RealView, add support for off-chip memory
Adrian Herrera [Mon, 18 Nov 2019 10:41:08 +0000 (10:41 +0000)]
dev-arm: RealView, add support for off-chip memory

This patch adds support for attaching off-chip memory in
"RealView" derived platforms.

Change-Id: Id1d430654abe83e76b532c8cf1ce2683a5a1e719
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25644
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
4 years agodev-arm: default _on_chip_memory on RealView
Adrian Herrera [Mon, 25 Nov 2019 15:09:22 +0000 (15:09 +0000)]
dev-arm: default _on_chip_memory on RealView

The _on_chip_memory member function is utilised at RealView level, but
it does not provide a default implementation. This assumes all platforms
extending RealView have on-chip memory. This patch provides a default
implementation for safeness.

Change-Id: Iaaa2bee7a85653ee97bfa95b50047eb350a88b58
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/25643
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
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>