Jason Lowe-Power
f2d7005f60
misc: Add Matt Poremba as GPU maintainer
...
Change-Id: I90494955b6db628695ef8a42111977decba27618
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34655
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Matthew Poremba <matthew.poremba@amd.com >
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com >
Reviewed-by: Matthew Poremba <matthew.poremba@amd.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-16 23:16:25 +00:00
Gabe Black
a10c573755
arch,cpu: Get rid of the IsMemRef StaticInst flag.
...
A comment at the top of StaticInstFlags.py says that if IsMemRef is set,
exactly one of IsStore or IsLoad will be set. That's not strictly true
since IsAtomic may be set as well, in which case neither IsStore or
IsLoad will be set (in one example I found).
The isMemRef accessor still exists, and now just ors the IsStore,
IsLoad, and IsAtomic flags.
Change-Id: Ic5ff104da68978273977a6eff2abab5dd0ae7fda
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33744
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-16 12:13:08 +00:00
Gabe Black
e7965ff60d
base: Create a SConscript for the loader subdirectory.
...
These files had been handled in base/SConscript, but there are enough of
them that they deserve their own.
Change-Id: I0c4166d8ff3c761c25940d2af5d7f0a9a6c874fa
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33898
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
2020-09-16 12:12:49 +00:00
Gabe Black
faf0af7a35
arch,cpu: Rearrange StaticInst flags for memory barriers.
...
There were three different StaticInst flags for memory barriers,
IsMemBarrier, IsReadBarrier, and IsWriteBarrier. IsReadBarrier was never
used, and IsMemBarrier was for both loads and stores, so a composite of
IsReadBarrier and IsWriteBarrier.
This change gets rid of IsMemBarrier and replaces by setting
IsReadBarrier and IsWriteBarrier at the same time. An isMemBarrier
accessor is left, but is now implemented by checking if both of the
other flags are set, and renamed to isFullMemBarrier to make it clear
that it's checking both for both types of barrier, not one or the other.
Change-Id: I702633a047f4777be4b180b42d62438ca69f52ea
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33743
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-16 08:29:17 +00:00
Earl Ou
429b828e7b
base: use setjmp to speed up fiber
...
ucontext is an order of magnitude slower compared to most of the fiber
implementation, mainly due to the additional signal mask operation.
This change applies the trick provided in
http://www.1024cores.net/home/lock-free-algorithms/tricks/fibers ,
which uses _setjmp/_longjmp to switch between contexts created by
ucontext.
Combine with NodeList improvement, we see 81% speed improvement with the
example provided by Matthias Jung:
https://gist.github.com/myzinsky/557200aa04556de44a317e0a10f51840
Compared with Accellera's SystemC, gem5 SystemC was originally 10x
slower, and with this change it's about 1.8x.
Change-Id: I0ffb6978e83dc8be049b750dc1baebb3d251601c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34356
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-16 07:57:40 +00:00
Gabe Black
8864c2ea24
mips,cpu: Eliminate the unused IsIndexed StaticInst flag.
...
It's set by some MIPS instructions, but does not have an accessor in
StaticInst and is not used by anything.
Change-Id: I3466f7d2723fb1b0ac195064867e3840e3a8f21b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33735
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-16 03:48:50 +00:00
Gabe Black
b1c70250c4
mem: Remove #if THE_ISA in the AbstractMemory class.
...
This used to guard the extraction of the endianness when tracing memory
accesses. Since that's now always possible even in NULL_ISA, we don't
need conditional compilation.
Change-Id: Ie5ec76f5b0f27dd4123bc0f0a4c02438bed629ad
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34499
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com >
Maintainer: Gabe Black <gabeblack@google.com >
2020-09-15 20:37:10 +00:00
Gabe Black
a64ecba92e
cpu: Get rid of the unused IsMicroBranch StaticInst flag.
...
This flag was never set, nor read.
Change-Id: I74506c220d96b53dcd44740639286b1dbbe84d2e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33742
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
2020-09-15 20:36:34 +00:00
Gabe Black
48f7ddc421
x86,cpu: Get rid of the unused IsCC StaticInst flag.
...
This flag was set when some registers were used in x86, but never
actually checked by anything.
Change-Id: Id0f9847aeca5017455929ab4bbf28210288a3553
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33741
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
2020-09-15 20:36:08 +00:00
Gabe Black
5c33112fa5
mips,cpu: Get rid of the IsDpsOp StaticInst flag.
...
This flag was set by MIPS for a few instructions, but didn't have an
accessor in StaticInst and was never used for anything.
Change-Id: I153cedde0d16cb1d78b2705bd7340ebfd10e4fb6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33740
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 20:35:59 +00:00
Bobby R. Bruce
6df6f9aa98
misc: Merge branch 'release-staging-v20.1.0.0' into develop
...
Change-Id: I1eacbc5719aa85c5a7650ec33fd99f673fdf443d
2020-09-15 09:03:55 -07:00
Bobby R. Bruce
b5850b69d1
cpu,misc: Revert problematic terminology renames in BaseCPU
...
Due to gem5's use of duck-typing, we must termorarly revert the
terminology in BaseCPU back to master/slave to avoid issues.
This fixes https://gem5.atlassian.net/browse/GEM5-775 .
Change-Id: Idf1cb99aa9568ee70943ebec96f27394d8167f8c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34495
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 16:01:32 +00:00
Earl Ou
1ac0d0889c
systemc: avoid dynamic_cast in the critical path
...
NodeList is in the critical path of the systemc scheduler in gem5. A
unnecessary dynamic_cast in the NodeList slow down the event process by
about 15%. Fix the issue by avoiding dynamic_cast.
We see about 15% speed improvement on the example provided by Matthias Jung:
https://gist.github.com/myzinsky/557200aa04556de44a317e0a10f51840
Compare with Accellera implementation, gem5 version is originally 10x
slower and now it's about 8.5x slower.
Change-Id: I3b4ddca31e58e1d4e96144a4021b0a5bb956fda4
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34355
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 08:22:25 +00:00
Gabe Black
9f887b7634
mips,cpu: Get rid of the IsIprAccess StaticInst flag.
...
This was set by MIPS in two places, I think largely just because it was
available. This flag refers to IPRs which are an Alpha concept. In the
O3 CPU, IsIprAccess was used as a possible indicator to determine if an
instruction IsSerializeBefore, but we've already got a flag for that. In
the minor CPU, which hasn't been made to work with MIPS as far as I
know, it was used in a condition but not mentioned in the comment
alongside the condition. I think there it was added for the sake of
Alpha.
This change eliminates that flag and removes it from the O3 and minor
CPUs. In the MIPS ISA description, the instructions that were marked as
IsIprAccess have now been marked as IsSerializeBefore since, if there
was a real reason for them to be marked as IsIprAccess, it would have
been to get it them to work in O3, and there IsSerializeBefore gets
equivalent behavior.
Change-Id: Ia874cde12fa70b998d3e638458f13d69798d40b7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33739
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
2020-09-15 08:03:26 +00:00
Gabe Black
d64465c024
mips,cpu: Get rid of the IsERET StaticInst flag.
...
This is set by MIPS but doesn't have an accessor in StaticInst, and
isn't used by anything.
Change-Id: Ie28d2df134dcf264bca17c9c66dd32515a240492
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33738
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
2020-09-15 08:03:19 +00:00
Gabe Black
340a16ac1c
cpu: Get rid of the IsThreadSync StaticInst flag.
...
This flag was never set and only checked in one place. If it was set, it
would have triggered a panic there.
Change-Id: I934a0346837c66bae8ce06f50027003bfd47083d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33737
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 08:03:10 +00:00
Gabe Black
587c2e6a1c
mips,cpu: Get rid of the IsCondDelaySlot StaticInst flag.
...
This is set by MIPS in a few places, but not actually used by anything.
Change-Id: Iaf3b29b2c14bb1de3ffd6a0035f12f238591cb60
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33736
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
2020-09-15 08:02:47 +00:00
Gabe Black
007abdec6b
sparc,sim: Remove special handling of SPARC in the clone system call.
...
We can set the extra syscall return values in the ISA specific archClone
function. We don't need a special #ifdef to handle them.
Change-Id: I82904b3d4bdf211c89d271d7277a60151191cdfc
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34167
Maintainer: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Ciro Santilli <ciro.santilli@arm.com >
2020-09-15 03:59:03 +00:00
Jason Lowe-Power
90a6e80962
mem-ruby: Update port names in Ruby
...
After the terminology update commit there were still many confusing
names in the Ruby ports. This changeset is a proposal for updating these
names.
For an example use case, see the following resources changeset.
https://gem5-review.googlesource.com/c/public/gem5-resources/+/34416
Change-Id: I01d4f24a70b300e39438ee147dfab7a8d674d5c7
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34417
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 00:25:01 +00:00
Jason Lowe-Power
4c9f77462f
tests: Remove MIPS from Learning gem5 tests
...
Change-Id: Iffd9f5da188cac26ac75a8109886c36789956959
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34415
Reviewed-by: mike upton <michaelupton@gmail.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-15 00:25:01 +00:00
Jason Lowe-Power
caabcf569d
dev: Fix port name in x86 device
...
Change-Id: I7704109287b9a1a09e51da3c62c29720631ce87e
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34435
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-14 23:11:43 +00:00
Andreas Sandberg
43cbcd93ac
stats: Move global CPU stats to BaseCPU
...
We currently register global CPU statistics such as sim_insts and
sim_ops from stat_control.cc. This adds an undesriable dependency on
BaseCPU from stats_contro.cc. Move the CPU-specific stats to a global
stat group in BaseCPU. This group is merged with the Root object's
stats which means that they appear as global stats in a typical stat
dump.
Care has been taken to keep the old stat names. However, the order of
the stats.txt will be slightly different due to the way legacy stats
and new-style stats are serialised.
Change-Id: I5410bc432f1a8cf3de58b08ca54a1aa2711d9c76
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34395
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-14 08:52:40 +00:00
Andreas Sandberg
56e53cafe0
base, sim, mem, arch: Remove the dummy CPU in NULL
...
The NULL ISA target has a dummy BaseCPU class that doesn't seem to be
needed anymore. Remove this class and the some unnecessary includes.
Change-Id: I031c999b3c0bb8dec036ad087a3edb2c1c723501
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34236
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-14 08:52:40 +00:00
Giacomo Travaglini
dd9991dad0
arch-arm: Fix ArmISA namespace requirement for Arm KVM
...
This is needed after:
https://gem5-review.googlesource.com/c/public/gem5/+/34155
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Change-Id: I614b908a48145d8c2f5e8b8177448e3269f8dac9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34418
Reviewed-by: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-13 11:43:44 +00:00
Muhammad Sarmad Saeed
b2847f43c9
misc: Update documentation of SimObject related APIs
...
Updated documentation of Drain, Serialize, Evnet queue and Simobject
APIs. Made some corrections to where the documentation was available
in the code but did not appear in the documentation.
Change-Id: I5254e87eb5663232e824bcd5592da0a04eba673b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/31814
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 05:38:53 +00:00
Srikant Bharadwaj
7957b1c43b
mem-garnet: Upgrade garnet version to 3.0
...
This version of garnet includes HeteroGarnet which
supports heterogenous interconnect systems, flexible
router and link configurations, and better debugging
resources.
This patch changes the garnet directory structure
to not include the version number. The user will be
informed about the garnet version being used.
Change-Id: Id4763421528305193ae0cd10c159b385a9513553
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34259
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 05:38:09 +00:00
Jason Lowe-Power
1c3e411834
arch-arm: Initialize some cases of destReg
...
Some compilers complained that this variable may be uninitialized. This
change initializes it to 0.
Change-Id: I201d75ba05ce49d13bbaf4d67e1c728ef704fdf0
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34335
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: mike upton <michaelupton@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 05:31:31 +00:00
Jason Lowe-Power
69e3e508c7
tests: Update x86 system.py for MemCtrl interface
...
Change-Id: If4103b197720f74df70d0a24602e2b3715936826
Signed-off-by: Jason Lowe-Power <jason@lowepower.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34315
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Reviewed-by: mike upton <michaelupton@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 05:31:31 +00:00
Srikant Bharadwaj
28d41f213a
mem-garnet: Allow empty vnet list for garnet network links
...
An empty supporting_vnet list is the default and implies that
all vnets are supported. This removes the assert which requires
the list to have a minimum list size of 1.
Change-Id: I6710ba06041164bbd597d98e75374a26a1aa5655
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34258
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 02:00:13 +00:00
Srikant Bharadwaj
94f7736489
mem-garnet: Fix default value of network bridge
...
Initializing the network bridge with NULL causes it to have
an class error when instatiating a link. The bridge is only
needed whne either a CDC or SerDes is enabled. This is handled
later during construction of the GarnetLink.
Change-Id: If19a21a6d9bf49449b9c390467d08d3422ae991a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34257
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-11 02:00:13 +00:00
Shivani Parekh
392c1ced53
misc: Replaced master/slave terminology
...
Change-Id: I4df2557c71e38cc4e3a485b0e590e85eb45de8b6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33553
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 23:02:28 +00:00
Dimitrios Chasapis
468b343837
configs,python: Fixes an issue with python3 and the config scripts when restoring a checkpoint
...
Fixes a compatibility issue with the configuration scripts when trying to restore a checkpoint. Since python2.4 list.sort has an updated interface. The older one has been dropped in python3.
Jira Issue: https://gem5.atlassian.net/browse/GEM5-754
Change-Id: I09f819057d510e477d6ceae0356fafad40f4280d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34295
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 21:09:37 +00:00
Mahyar Samani
c1ebdf66ff
tests: cross-compiling hello binaries for hello_se tests.
...
Some of the hello_se tests fail due to different syntax of the string
for different isas. This patch adds makefiles for cross-compiling the
hello.c file located at tests/test-progs/hello/src/.
Change-Id: I8ccfc0487020df9da722a97e57310db2d2e8882c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28528
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 16:55:00 +00:00
Bobby R. Bruce
6e0dfe906a
cpu: Fixed unused var error when with fast builds
...
As `is_htm_speculative` is only used in assert statements, it is
considered unused during the `.fast` compilation. This commit adds the
`M5_USED_VAR` macro.
This caused our compiler tests to fail:
https://www.mail-archive.com/gem5-dev@gem5.org/msg35913.html
Change-Id: I00d187d1a31d065c236ac29a657bd479ad4b03bc
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34256
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Reviewed-by: Gabe Black <gabeblack@google.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 16:54:36 +00:00
Iru Cai
59a3f3365f
arch-arm: just return the fault in twoEqualRegInst{,Fp}
...
This prevents the code from using the uninitialized destReg when
running the ``if (imm >= eCount)`` branch, which will make GCC 10.2
report a -Werror=maybe-uninitialized error when building gem5.opt.
Change-Id: Ie6e7d3d47a1b65b840b2106263ecfc21eb6af26b
Signed-off-by: Iru Cai <mytbk920423@gmail.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34275
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 16:54:09 +00:00
Iru Cai
4aab23e34f
arch-arm: Fix build errors with gcc 10.2
...
The "-Werror=type-limits" flag in GCC 10.2 reports these errors,
because ``imm`` in neon.isa, and ``imm`` and ``count`` in sve.isa are
unsigned, and they're used to do ``imm < 0`` and ``imm * count >= 0``
comparison.
Change-Id: I33934357f578a9fc1040a6d9c08ea929fb36eb47
Signed-off-by: Iru Cai <mytbk920423@gmail.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33154
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 16:54:09 +00:00
Andreas Sandberg
f2bda57a96
dev: Use the new ByteOrder param type in VirtIO devices
...
VirtIO devices currently request their endianness from the System
object. Instead of explicitly querying the system for its endianness,
expose the device's endianness as a param. This param defaults to the
endianness of a parent object using the Parent proxy (in practice the
system).
Change-Id: If4f84ff61f4d064bdd015a881790f5af03de6535
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33296
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
2020-09-10 14:27:17 +00:00
Andreas Sandberg
4925855557
dev: Use the new ByteOrder param type in SimpleUart
...
Use the new ByteOrder param type in SimpleUart. The default value is
currently little endian. However, it is expected that most users of
this device will use single-byte accesses which aren't affected by
endianness.
Change-Id: I3f5d4ea566e5127474cff976332bd53c5b49b9e2
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33295
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
2020-09-10 14:27:09 +00:00
Gabe Black
5eb3e44f54
fastmodel: Add an ISA class which defers to IRIS.
...
This class is just to enable checkpointing of "ISA" state, aka the
MiscRegs.
Change-Id: I45315b8aaa09aaf6230f44665c13597400efd780
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29822
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 11:29:11 +00:00
Gabe Black
e44ba7dab2
fastmodel: Create a fake "Interrupts" object for fast model CPUs.
...
This object doesn't actually manage interrupts since the fast model
CPUs do that on their own, it just checkpoints interrupt related state.
Change-Id: I9d3a6354b02e4ae7bfd032c50e51a3a841b81388
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29821
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 11:29:00 +00:00
Bobby R. Bruce
724dd71c06
arch-mips: Replaced BigEndianByteOrder in MIPS
...
The following change removed the `BigEndianByteOrder` enum and replaced
it with `ByteOrder:big`:
https://gem5-review.googlesource.com/c/public/gem5/+/33174
This change was not propogated to `src/arch/mips/isa/decoder.isa` and
`src/arch/mips/isa/formats/mem.isa`, and therefore caused compilation
errors. This caused the Nightly Build to fail:
https://www.mail-archive.com/gem5-dev@gem5.org/msg35900.html
This commit fixes this error.
Change-Id: I3967eb9e9236a7a95318c17ca410b613b8473eed
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34255
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-10 05:44:24 +00:00
Giacomo Travaglini
edb1454fe0
arch-arm: Fix ArmISA namespace requirement for TME instructions
...
This is needed after:
https://gem5-review.googlesource.com/c/public/gem5/+/34155
Change-Id: I8ef0b5ce9cd5ae5224331e1c9347fdd9e884a536
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34235
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 15:57:30 +00:00
Emily Brickey
fc075a8bd2
cpu-o3: convert rename to new style stats
...
Change-Id: Id34a85e40ad7e83d5805a034df6e0c5ad9b9af82
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33397
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 14:37:37 +00:00
Emily Brickey
c68bce62a5
cpu-o3: convert rob to new style stats
...
Change-Id: I84430d50c49742cd536dd75ce25184c2316dce51
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33398
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 14:37:37 +00:00
Emily Brickey
0df96ee6bb
cpu-o3: convert lsq_unit to new style stats
...
Removes unused stats: invAddrLoads, invAddrSwpfs, lsqBlockedLoads
Change-Id: Icd7fc6d8a040f4a1f9b190409b7cdb0a57fd68cf
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33394
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 14:37:37 +00:00
Emily Brickey
aca1d5f0dc
cpu-o3: convert decode to new style stats
...
Change-Id: Ia67a51f3b2c2d40d8bf09f1636c721550f5e9a23
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33316
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 14:37:37 +00:00
Emily Brickey
b8bbcad7e4
cpu-o3: convert commit to new style stats
...
Change-Id: I859fe753d1a2ec2da8a4209d1db122f1014af5d6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33315
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 14:37:37 +00:00
Andreas Sandberg
0d9ca42bbe
sim: Expose the system's byte order as a param
...
There are cases where a system's byte order isn't well-defined from an
ISA. For example, Arm implementations can be either big or little
endian, sometimes depending on a boot parameter. Decouple the CPU byte
order from the System's default byte order by exposing the System's
byte order as a parameter that defaults to big endian for SPARC and
POWER and little endian for everything else.
Change-Id: I24f87ea3a61b05042ede20dea6bb056af071d2c0
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33175
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabeblack@google.com >
2020-09-09 09:49:47 +00:00
Gabe Black
3930b32c05
mem: Remove the unused nvm private member from NVMInterface::Rank.
...
This unused (and otherwise unusable) member caused a compiler warning
and broke the build for me. It can be reintroduced if used in the
future.
Change-Id: I48181f6bca60c059e74727290950adfb9a194680
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34217
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 07:08:53 +00:00
Gabe Black
a607c250d9
cpu: Fix style and add overrides to bas_dyn_inst.hh.
...
Either return types, brackets and the function body should all be on
their own line, or the entire function should be on a single line.
Consistently place the * or & up against the variable name and not the
type name. There isn't an official rule for which to use, but the
majority of existing uses were this way.
Add overrides for overridden virtual methods.
These fixes get rid of compiler warnings which are breaking the build
for me.
Change-Id: Ifc6ace4794a66ffd031ee686f6b6ef888004d786
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34216
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2020-09-09 07:08:53 +00:00