Gabe Black
4f4df67148
cpu: Remove the MemDepPred template parameter from MemDepUnit.
...
Hard code this to StoreSet, the only value ever used with this
parameter. If the dependency predictor needs to be updatable, there
should be a well defined interface for it which can be connected at run
time.
Change-Id: Ie30a742eac98220cc39679d26ada5d08099659a0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42104
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
2021-05-20 20:08:02 +00:00
Gabe Black
eacc352ebd
cpu: Remove comm types from O3CPUImpl.
...
This struct is now empty, although we still need to keep it until all
the types within O3 have been de-templated and no longer need a template
argument.
Change-Id: I3889bdbb1b8d638f7b04e5bfb7698e35eb7f2e57
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42103
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-20 20:07:47 +00:00
Gabe Black
fc51c87329
cpu: Remove the O3CPU type from the O3CPUImpl.
...
Change-Id: I4dca10ea3ae1c9bb0f2cb55c7d303f1fd8d25283
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42102
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
2021-05-20 20:07:29 +00:00
Gabe Black
2db8b308e0
cpu: Drop the DynInstPtr types from O3CPUImpl.
...
Aside from basic code editting, this also moves some methods from the
.hh files to the _impl.hh files. It also changes the Checker CPU
template to take the DynInstPtr type directly instead of through Impl
since that was the only type it used anyway. Finally it sets up a header
file which predeclares the O3DynInstPtr and O3DynInstConstPtr types so
they can be used without having to also include the BaseO3DynInst class
definition to break circular dependencies.
Change-Id: I5ca6af38ec13e6e820abcdb3748412e4f7fc1c78
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42101
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-20 20:07:09 +00:00
Gabe Black
2caf2509a2
base: Stop using macros in base/socket.test.cc.
...
These macros could easily be integer constants instead.
Change-Id: I62711477def1379ba885a7094aa7e00ec17cabeb
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45742
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-20 08:48:55 +00:00
Gabe Black
ab645bf854
cpu: Collapse the SimpleCPUPolicy into O3CPUImpl.
...
Change-Id: I0bc160f28f084c8873c3e19be9a4d7a45f9480a0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42100
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-20 06:40:58 +00:00
Gabe Black
4abe9ac08b
misc: Switch away from the deprecated UNIT_* macros.
...
Expand the macros in place.
Change-Id: I5dba512b99a1204c23a995e112248b86523b77c8
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45560
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 21:42:34 +00:00
Gabe Black
85373ed248
base: Deprecate the UNIT_* macros.
...
These macros, like all macros, do not respect namespaces. Using these
macros effectively undoes the benefit of putting the unit classes into a
namespace.
Change-Id: I098a7d6951ccc334ae03a3a2e4da6a0f7c1e2263
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45559
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
2021-05-19 21:42:34 +00:00
Gabe Black
4030b720a9
base: Avoid an unused expression error in GEM5_DEPRECATED_MACRO.
...
If the lambda in that macro is not actually called, clang complains
about an unused expression which breaks the build.
Change-Id: Id8708944cbac4c937e833583da0c2c18422230c0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45719
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 21:42:34 +00:00
Gabe Black
a0fa1e03b2
cpu: Check the KVM API version with a static_assert instead of macros.
...
Change-Id: Id8d52e25c4582ad802ee59facad5a1c31c2aa216
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45743
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 20:06:04 +00:00
Gabe Black
d53c0a95ee
cpu: Make some compiler guards consistent with the other files.
...
Change-Id: I9dd007ad4ea0e1ff93677333a2f5e1f9b5d2a8fa
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45741
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 20:05:46 +00:00
Gabe Black
c1b40a3cab
base: Fix the compiler guard in base/pollevent.hh
...
This was not formatted consistently with other files.
Change-Id: Ibee20cb6f458fcf99a1729cb8bd50c9c536d6639
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45740
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 20:05:46 +00:00
Gabe Black
e0750c7a76
base: Eliminate macros in base/inet.hh|cc.
...
The macro in base/inet.hh, HOME_ADDRESS_OPTION, was not used by
anything. The IP6_EXTENSION macro was replaced with a static inline
function called ip6Extension. The awkward nested ternary operator was
replaced with an equivalent ||.
Change-Id: I100894811159b39b964a49c43a09d493d1268739
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45739
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 20:05:46 +00:00
Bobby R. Bruce
3275fa8e4f
base: Add GEM5_DEPRECATED_ENUM_VAL
...
This deperecation enum works exactly the same way as GEM5_DEPRECATED
but will not expand if using GCC <6, as enum value deprecation was only
introduced in GCC 6.
Change-Id: I64fcaca0d79a353da805642e021ec1cb101cfa0e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45539
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 >
2021-05-19 15:55:29 +00:00
Giacomo Travaglini
a84a15ab17
arch-arm: Fix FEAT_VMID16 for Self Hosted debug
...
The existing code was querying the vmidbits but it was not checking the
VTCR_EL2.VS bit, which dynamically enables/disables VMID16
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Change-Id: Id1e7df758a636267173c4fcd4db99e5834f21ee9
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45659
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 08:46:58 +00:00
Gabe Black
db21d1bb39
cpu: Eliminate some macros in the minor CPU.
...
These were MINORTRACE, MINORINST, and MINORLINE. Replace them with
inline template functions.
Change-Id: I02b13d60b41349dfe7ac33e6009c0e3e5cf11156
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45620
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-19 00:27:16 +00:00
Gabe Black
49000fc3b6
base: Surround a DPRINTFS parameter in ()s.
...
Since DPRINTFS is a macro, its arguments need to be properly wrapped so
they expand as expected when used in expressions. This wasn't being done
for the s argument which was used as s->name(). If s contained some
other operator which had lower precedence than ->, the -> would happen
first to whatever was on the right hand side.
Change-Id: Id3250abb9ba51c4b0740f8de0d80ed730ba96944
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45619
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-18 19:34:07 +00:00
Philip Metzler
157e7e2e3b
fastmodel: Fix scx_get_parameter_list for ARM fastmodels.
...
The first non-critical piece of this CL removes the unused self
from the Python function signature.
Then also includes "stl.h" from pybind11 to allow the
implicit conversion from std::map<std::string, std::string>
to a Python dict (otherwise there will be a runtime (not compile time)
error when calling the function.
As the current implementation always throws an error because of the
missing stl.h I don't believe anyone is using this function, and as such
it should be safe to just change the signature of
scx_get_parameter_list.
Change-Id: Ib3202b2d4d1b8418a4adf54739fe389d4ee07743
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45622
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-18 14:06:52 +00:00
Bobby R. Bruce
7cfc944a29
arch-arm: Fix unused variable error with ARM .fast comp
...
Change-Id: Ia65a0eb92f498fec379f93d081e7748aacf0724f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45479
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-17 16:46:46 +00:00
Giacomo Travaglini
d578c6992c
arch-arm: Enable ARMv8.1-VMID16 by default
...
Change-Id: Ibeb724cf1e599b10b4ddcc030d3c8eda59afea47
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45188
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
2021-05-17 10:22:41 +00:00
Giacomo Travaglini
1cecc752d7
arch-arm: Implement ARMv8.1-VMID16, 16-bit VMID
...
In an Armv8.1 implementation, when EL2 is using AArch64, the VMID size
is an IMPLEMENTATION DEFINED choice of 8 bits or 16 bits.
When implemented, this feature is supported only when EL2 is using AArch64.
The ID_AA64MMFR1_EL1.VMIDBits field identifies the supported VMID size.
Change-Id: I7acde0a9ba285d4740771133debd60a7a7515954
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45187
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-17 10:22:41 +00:00
Giacomo Travaglini
cf83aec07a
arch-arm: Using 16 bit VMID
...
Change-Id: Ia4f408b8e84b5f52f6b48fd5d4bbc2a5fac87154
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45186
Reviewed-by: Richard Cooper <richard.cooper@arm.com >
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com >
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-17 10:22:41 +00:00
Gabe Black
26c03495fa
cpu: Stop using macros for constants in the multiperpsective_perceptron.
...
Enums work just as well and respect namespaces and scopes.
Change-Id: If726ff325be7114c9a749f5f4e1a193552a24c2b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45519
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-15 06:30:13 +00:00
Bobby R. Bruce
3225820e7c
base,tests: Fix debug.cc tests to reflect new API changes
...
Due to simplifications in how the debug flag is enabled (here:
https://gem5-review.googlesource.com/c/public/gem5/+/45007 ), the
debug.cc.test tests were failing when compiled to .fast (`scons
build/NULL/unittests.fast`). This patch fixes the tests to work with
this new API.
Change-Id: Ifd49f698dcc9e5d2a81d4b4a9363b82dd8a91a97
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45480
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-14 18:14:15 +00:00
Bobby R. Bruce
521d04f92f
arch-gcn3: Fixing .fast compilation for gcn3
...
DPRINTF was altered here:
https://gem5-review.googlesource.com/c/public/gem5/+/44988 .
This change results in DPRINTFs always compiling. As such, the
variables decladed within NDEBUG ifdefs, and later used in DPRINTFs,
cause an error when compiling .fast. In this patch the NDEBUG ifdefs
have been removed.
Change-Id: I54992cfe152c84b265e64e1389bf2656c95ba42e
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45481
Reviewed-by: Matthew Poremba <matthew.poremba@amd.com >
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com >
Maintainer: Matthew Poremba <matthew.poremba@amd.com >
Maintainer: Matt Sinclair <mattdsinclair@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-14 18:13:59 +00:00
Daniel R. Carvalho
9b675ebea8
misc: Add missing compiler.hh include
...
Add some missing base/compiler.hh includes.
Found by manually checking the files in:
grep -r --include \*.hh -L \
'#include "base/compiler.hh"' \
$(grep -r -l "GEM5_" src/)
And occasionally checking some .cc files through
a similar methodology.
Change-Id: I6b6e27189c627bb76ace73c338486743d469be46
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45459
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-14 10:02:14 +00:00
Matthew Poremba
aa19af29ad
arch-vega,arch-gcn3: Fix s_cmp_lt_u32
...
Was using less-than-or-equal rather than less-than. All other comparison
instructions look correct otherwise.
Change-Id: Iee0374554f21a80a6da2eb75f38b22c83b6e1e9c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45499
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com >
Maintainer: Matt Sinclair <mattdsinclair@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-14 07:56:17 +00:00
Gabe Black
6d7c3afcd4
mem: Get rid of the SET* macros in packet.cc.
...
Replace these with a helper function which merges attributes into a
unsigned long long which the bitset constructor can accept.
Change-Id: I36f809503a47c17b82dc75dee0d5bb8615eda27b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45367
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-12 23:10:55 +00:00
Gabe Black
6719ad3201
base: Stop using macros to handle nan in stats/text.cc.
...
c++ provides a standard way to retrieve the value of nan. Use that
instead of a function to compute it, or macros defined for c.
Change-Id: I483e8642d28cc3187682ce6bb7457b5e796cf61c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45366
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-12 21:07:47 +00:00
Gabe Black
311603d923
base: Stop both conditionally and unconditionally including cmath.
...
base/stats/text.cc was both conditionally (in two places) and unconditionally
including cmath. Once should be enough.
Change-Id: I941dfb8631eb71d1a8b423011022f78d628baa33
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45365
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-12 20:49:49 +00:00
Gabe Black
3889795886
arch-sparc: Replace M5_HWCAP_SPARC_* constants.
...
These were not using correct style and were using an obsolete M5 prefix.
Change-Id: I24273857bee2fcf52f203262b431c23665d5e87f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45244
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-12 16:11:11 +00:00
Daniel R. Carvalho
bf365b962d
mem: Fix compilation issues in qos
...
Fix circular dependency and related issues.
Change-Id: I48490519fa0a00619a4baede72ebae2868560660
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br >
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45245
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-12 11:23:21 +00:00
Gabe Black
b1a396bfcf
arch: Stop using deprecated M5_AT_* constants.
...
Also stop using the non-namespaced version of AuxVector.
Change-Id: I26fc0cf1f27c1a1dcae479096b183ab1f5abc8e2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45243
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
6e9725199e
sim: Deprecate M5_AT_* constants.
...
These are formatted as #defines, but they are actually enum constants.
If they were actually macros, they should use a GEM5_ prefix. Put them
in the gem5 namespace to remove the need for that prefix, and an auxv
namespace to remove the need for the AT prefix.
Since we now have a gem5::auxv namespace, move the AuxVector template
into it and deprecate the old, global namespace version.
Also, one of the constants was M5_BASE_PLATFORM, which was inconsistent
with the rest of the constants which were M5_AT_... This was not
actually because the constant in any header files was different, it was
just incorrectly transcribed and should have been M5_AT_BASE_PLATFORM.
Since we're changing names anyway, replace this with
gem5::auxv::BasePlatform.
Change-Id: Ie0dc34a683b113a4ed4bc76054eb822676f6e802
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45242
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
02ae343c66
misc: Replace M5_CLASS_VAR_USED with GEM5_CLASS_VAR_USED.
...
Change-Id: Ibd2230d684f41201b07fa9083881145e36176a68
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45241
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
2fd7508e9f
misc: Replace M5_FOR_EACH_IN_PACK with GEM5_FOR_EACH_IN_PACK.
...
Change-Id: I5d565c496129033634d2b913f83d014c5e07b1dc
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45240
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
f1879bdc17
base: Replace M5_UNLIKELY with GEM5_UNLIKELY.
...
Change-Id: Id5f01675da5110f6503bd799a7889e8eb73433a1
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45239
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
c480558532
misc: Replace M5_UNREACHABLE with GEM5_UNREACHABLE.
...
Change-Id: Id4cbdb8ae58c1077411e01579ac3a2d72b3b7465
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45238
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
e92f64b0b7
misc: Replace M5_ALIGNED with GEM5_ALIGNED.
...
Change-Id: Ia06bc959c81e9b37e0a506c022b8f8d86a0897ac
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45237
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
97ef1472ad
misc: Replace M5_LOCAL and M5_WEAK with GEM5_LOCAL and GEM5_WEAK.
...
Change-Id: Ieb8350e647480f9bf582479b7933f0462f18d14d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45236
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
650b27f755
arch-sparc: Replace M5_NO_INLINE with GEM5_NO_INLINE.
...
Change-Id: Ibea33196765cc2d038d12c1388e6585275eaba55
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45235
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
ce6b5e7e33
misc: Replace M5_ATTR_PACKED with GEM5_PACKED.
...
Change-Id: Ie59071ca1fc81a76267a54ddd2d35dfc4477995d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45234
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
11fe13c311
misc: Replace M5_FALLTHROUGH with GEM5_FALLTHROUGH.
...
Change-Id: I058f311b6d9c284f745bcc915db72236d05db21b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45233
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-11 20:16:31 +00:00
Gabe Black
e1fea279e2
misc: Replace M5_NODISCARD with GEM5_NO_DISCARD.
...
Change-Id: I1ddaf03afe865092d1664e395b51b1f573c19c85
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45232
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
fb3befcc6d
misc: Replace M5_VAR_USED with GEM5_VAR_USED.
...
Change-Id: I64a874ccd1a9ac0541dfa01971d7d620a98c9d32
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45231
Tested-by: kokoro <noreply+kokoro@google.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
2021-05-11 20:16:31 +00:00
Gabe Black
e55ae090b3
base: Move the macros in compiler.hh to a GEM5_ prefix.
...
Also add macros which define the old names to the new names for
backwards compatibility.
This change also takes the opportunity to rename the M5_ATTR_PACKED
macro to GEM5_PACKED, dropping the ATTR. None of the other attribute
based macros bother to specify that they stand for an attribute, making
this one inconsistent and overly verbose.
Similarly, it renames M5_NODISCARD to GEM5_NO_DISCARD to be consistent
with other macros which separate out individual words like GEM5_VAR_USED
and GEM5_NO_INLINE
Change-Id: I22d404492faf28b79a8247f869f14af21c9cf967
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45230
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Maintainer: Gabe Black <gabe.black@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-11 20:16:31 +00:00
Gabe Black
eef05e8821
sim: Use type_traits to steer swap_bytes.
...
Rather than have a function with a if which checks against each
supported size of a type T which calls the right version of
swap_bytesNN, this change uses SFINAE and type traits to select the
function, and adds the requirement that the type being swapped is
actually convertible to the unsigned integer type of the appropriate
size.
This has the nice benefit of also avoiding hard coding which sizes can
be supported by the base swap_bytes, although that's probably not much a
limit in practice, avoids forcing all types to be convertible to all
sizes of uint*_ts for unused branches of the if, and removes a
dependence on base/logging.hh for the panic.
Change-Id: I2267f69a2868fcba2318c7562a49d27fef785395
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45286
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-11 20:15:10 +00:00
Gabe Black
00caced648
dev: Overload swap_bytes, don't specialize the template.
...
The effect is the same, the rules for overloads are easier to work with
than the rules for templates, and it removes the assumption that
swap_bytes actually is a template.
Also some minor style fixes.
Change-Id: Id9439177185b5269dd89605bbd05b09390a18d40
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45285
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br >
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com >
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu >
Maintainer: Jason Lowe-Power <power.jg@gmail.com >
Tested-by: kokoro <noreply+kokoro@google.com >
2021-05-11 20:14:56 +00:00
Gabe Black
8076a41183
arch-x86: Build source picking into the operands.
...
The parser is able to add extra code to generate the operand value, but
we were explicitly adding that code ourselves. That added complexity
particularly to the reg microops, but made other types a little more
complex as well.
Change-Id: Idae36c27662c79302ea9b2831062c8c067ba174c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42971
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
2021-05-11 04:53:04 +00:00
Gabe Black
cba6374f57
arch: Set %(op_idx)s properly when predicated operands are present.
...
This should be either the fixed index if there are no predicated
operands (ie operands which may not be used), and an auto incrementing
index otherwise. This is still not bulletproof since the auto
incrementing index is just code which ++-es the index, and so the index
will be different and incremented each time that value is substituted
in.
Also, the mixture of predicated operands and the vector operands is
broken and will not generate compilable code, but I'm not going to try
to fix that here.
Change-Id: I1ceae519649762e54eaa019610e51bb8c21d28d6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42970
Tested-by: kokoro <noreply+kokoro@google.com >
Reviewed-by: Gabe Black <gabe.black@gmail.com >
Maintainer: Gabe Black <gabe.black@gmail.com >
2021-05-11 04:52:32 +00:00