Commit Graph

17285 Commits

Author SHA1 Message Date
Gabe Black
f511aa977e cpu: Fix syntax in cpu/simple_thread.hh.
Change-Id: Id23de4651eb6b03b569ab48fd1dcf186e7b192dd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45860
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
2021-05-24 16:58:58 +00:00
Gabe Black
1e99a99c90 cpu: Fix style in cpu/simple/base.hh.
Change-Id: Ie5ef296ef82bf974c6bf2448c493242dad40c760
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45859
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
2021-05-24 16:58:48 +00:00
Gabe Black
1a33023815 arch-x86: Work around a bug in g++ 6 and 7.
These versions of g++ don't handle parameter pack expansion correctly
when there is a parameter pack defined at the class level and then one
which is defined by the constructor itself. Even though it knows what
the outter parameter pack contains, it still re-assigns it to be empty
and puts all arguments into the later parameter pack.

To work around this problem, we will explicitly put the class level
parameters into a tuple, which we then have to go through extra
acrobatics to explode and pass into base class constructors.

That also means that in all subclasses, the arguments which go into the
tuple need to be wrapped in {}s to group them into constructor arguments
for the tuple.

Change-Id: I3139eebd7042b02f50862d88be5c940583a2a809
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45820
Maintainer: Gabe Black <gabe.black@gmail.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
2021-05-21 23:48:31 +00:00
Gabe Black
8949521ae3 base: Initialize some variables in the wide multiply helpers.
Not initializing them seems to upset older versions of g++.

Change-Id: Ib3de0460463f2fe514175484c49e1df68dacb4d3
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45819
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2021-05-21 23:48:23 +00:00
Daniel R. Carvalho
85b8c5b0a3 gpu-compute: Rename prefetch variable as isPrefetch
Pave the way for a prefetch namespace.

Change-Id: I4372abb5603eb6a920f7ff127cde54cb24e31377
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45409
Tested-by: kokoro <noreply+kokoro@google.com>
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>
2021-05-21 23:10:39 +00:00
Daniel R. Carvalho
17580efbd7 arch: Rename freebsd loader variables as freebsdLoader
Pave the way for a loader namespace.

Change-Id: Ief6f54cc49840fb6c156d56ba3da52dc0a995ac8
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45423
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 23:10:39 +00:00
Daniel R. Carvalho
10c0fb84ad arch: Rename some linux loader variables as linuxLoader
Pave the way for a loader namespace.

Change-Id: Ie7c811e74424063ff773569e7ad9df9dde166d4f
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45422
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 23:10:39 +00:00
Daniel R. Carvalho
78915f1895 dev-arm: Rename SCMI namespace as scmi
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

::SCMI became ::scmi.

Change-Id: I68f729124079ecce02120577d2b89b25f10bde4a
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45392
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
b571b17626 dev: Rename iGbReg namespace as igbreg
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

::iGbReg became ::igbreg.

Change-Id: I4b19503c8cda37248667464be0ac4fd9a7bb42d8
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45391
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
debb13905b dev: Rename Ps2 namespace as ps2
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

::Ps2 became ::ps2.

Change-Id: I6630a0817ee4aa724ce4e76edac164c28a583d61
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45390
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
fef8e578bf dev: Rename ps2 variables as ps2Device
Pave the way for a ps2 namespace.

Change-Id: I61fa33c57aee3e7c6df02a364420e4f83901f60b
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45389
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
faad68d224 dev: Rename sinic::Regs namespace as sinic::registers
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

sinic::Regs became sinic::registers.

"registers" was chosen over "regs" to reduce conflict
resolution (there is already a variable called regs).

Change-Id: I329d40884906bb55d1b1d749610b9f0dee243418
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45388
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
fd4f65a294 dev: Rename CopyEngineReg namespace as copy_engine_reg
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

::CopyEngineReg became ::copy_engine_reg.

Change-Id: I8ac5ff272ab6a663a25f245c48827c7ff1b6abc5
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45387
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
f317fbdb75 dev: Rename TxdOp namespace as txd_op
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

iGbReg::TxdOp became iGbReg::txd_op.

Change-Id: I737205a3d29ffc0d96da72ba9fc6829939970957
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45386
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
a498fb3551 dev: Rename Sinic namespace as sinic
As part of recent decisions regarding namespace
naming conventions, all namespaces will be changed
to snake case.

::Sinic became ::sinic.

Change-Id: I0a28089cc9f8f65b33101b4791d67c2f82b85059
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45385
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
2021-05-21 10:05:09 +00:00
Daniel R. Carvalho
43b026f3f9 base: Add macros to deprecate namespaces and classes
The GEM5_DEPRECATED_NAMESPACE macro temporarily declares
a namespace with the deprecated name that prints a
warning message when used. It also make sure that when
the old namespace name is used the new name is referenced.

The GEM5_DEPRECATED_CLASS macro deprecates classes that
were renamed, or moved to different namespaces.

Attributes in namespaces are an issue, though.
- Clang only allows from version 6 on, and only when
  using C++17.
- GCC has a bug before version 10 where the deprecated
  attribute was not properly recognized in namespaces:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79817

Possible solutions for GCC < 10:
1)
    \#define GEM5_DEPRECATED_NAMESPACE() \
    namespace gem5 { namespace deprecated { \
        auto namespace_##old_namespace = [](){ \
            GEM5_DEPRECATED("Please use the new namespace: '" \
                          \#new_namespace "'") \
            int old_namespace; \
            return old_namespace; \
        }; \
    }} \
    namespace new_namespace {} \
    namespace old_namespace { \
        using namespace new_namespace; \
    }

    Add the above macro to all headers that previously
    declared the deprecated namespace to trigger a
    warning. This is extremely inconvenient because
    every file that includes that header will trigger
    the deprecation warning, so the compilation output
    gets VERY clogged.
2)  Similar to 1), but do not use the temporary variable
    on declaration. This would require using the variable
    somewhere else, like a respective .c file. This is
    not always possible, so we could resort to adding a
    special file (e.g., base/deprecated_elements.cc)
    containing all uses of the deprecated temporary
    variables.
3)
    \#define GEM5_DEPRECATED_NAMESPACE(old_ns, new_ns) \
        namespace old_ns = new_ns;
    Similar to 3), but simply declare an alias in the
    header files (see above macro) to maintain backwards
    compatibility. Then use the special file to declare
    all deprecation messages.
4)
    Rely on release notes / e-mail to the mailing list
    to inform that those are deprecated.

We have selected option 4 for these problematic instances.

Checking if namespace deprecation is possible is done
through scons.

Jira issues:
https://gem5.atlassian.net/browse/GEM5-975
https://gem5.atlassian.net/browse/GEM5-991

Change-Id: Ide234f6a8707d88a869fa843bf8c61ca7714e4f3
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45246
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-21 10:05:09 +00:00
Giacomo Travaglini
14b616d440 arch: Make MMU::flushAll virtual
This is enabling ISA specific MMUs to reimplement the flushing
according to their TLB structure

Change-Id: Ic407ab95137b299206cb94926fb69d8898ed33f8
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45779
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2021-05-21 08:32:25 +00:00
Giacomo Travaglini
da01b59a1c arch-arm: Stop using the DmaPort in the TableWalker
Using a custom TableWalker port instead

Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Change-Id: I9e77324569ef0f74f6c8a3941f90bc988abf3c57
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45599
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-21 08:32:25 +00:00
Gabe Black
f30d15a29e cpu: Delete the now unused cpu/o3/impl.hh.
Change-Id: I99b6ec745066c154079c3f44086d2e8721c0ed82
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42119
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
f7902540e0 cpu: De-templatize the O3ThreadState.
Change-Id: Ifa6342abe396e131ae8edcb8111453852cdbefd7
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42118
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
fda2e46a9e cpu: De-templatize the FullO3CPU class.
Change-Id: Ib7f1e40447a2f5a49e0c9a3af8579d075d5d3625
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42117
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
4ba06c8f25 cpu: Delete the unnecessary BaseO3CPU class.
This class has no content, and is not used for anything except as an
extra layer between FullO3CPU and BaseCPU.

Change-Id: Idb6258a655b0fb614e94b0fc0e281696d5081ab0
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42116
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
157f9757c2 cpu: De-templatize the O3ThreadContext.
Change-Id: I1559760949031bd63bd3a48e62c37448c1f6f5b6
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42115
Tested-by: kokoro <noreply+kokoro@google.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com>
2021-05-21 01:19:37 +00:00
Gabe Black
e164d08287 cpu: De-templatize the O3 DefaultCommit.
Change-Id: I054cb344a5e3829caf6cbd26e931514b877c1577
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42114
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
fe65f1e864 cpu: De-templatize the O3 DefaultRename.
Change-Id: I28fbf5f3727c94ddf64a0e047784663508c6bda2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42113
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
03a843cf77 cpu: De-templatize the O3 DefaultIEW.
Change-Id: Ieb7b23250573a3bc7e7ff296ff6bf8811a865802
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42112
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
9722ce0075 cpu: De-templatize the O3 LSQ.
Change-Id: I7821fe971c0c38b77e730b4c40fb9fb204c6e7fd
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42111
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
da4c0590ee cpu: De-templatize the O3 DefaultDecode.
Change-Id: If2cef59654db4f5ff8e7cb73d1951895e5e12c9d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42110
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
f4a3380167 cpu: De-templatize the O3 DefaultFetch.
Change-Id: I5d4ce7a269c9f1df497003404872a977e7edb575
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42109
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
9adca30528 cpu: De-templatize the O3 InstructionQueue.
Change-Id: Id897b66b4041a6be4c85019585b205e8d8b366e5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42108
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
2021-05-21 01:19:37 +00:00
Gabe Black
0f667aff1f cpu: De-templatize O3's LSQUnit.
Change-Id: Id426950b4fec9b98855b3f9f95e63fc0d9b6e64f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42107
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nathanael Premillieu <nathanael.premillieu@huawei.com>
2021-05-21 01:19:37 +00:00
Gabe Black
ea46bfee0f arch-riscv: When an inst generates a fault, return it immediately.
When a fault is generated, it needs to be returned, and nothing else
should be done. There's no point in keeping it around and having to
check over and over if there was a fault and if other parts of the
execute functions should be skipped.

This simplifies the logic a bit which should speed up execution, and
also makes life easier for the compiler since behavior is obvious and
doesn't have to be deduced from possible data values and ifs.

Change-Id: I2004c7d22ac6222e1ef2acb51d49b4eb2e60b144
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45520
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Ayaz Akram <yazakram@ucdavis.edu>
2021-05-20 23:42:13 +00:00
Bobby R. Bruce
4607a67c74 mem-ruby: Fix nonsensical check in MOESI_CMP_token-L1cache
This check always equated to False. It should be an 'or' not an 'and'
comparison.

The Clang 11 compiler threw an "overlapping comparisons always evaluate
to false" error for the code generaed from this.

Change-Id: I299dc6fa8206d5e85d59ba8353bf16102b8e5e1b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45799
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
2021-05-20 23:23:42 +00:00
Gabe Black
7ef28e9517 cpu: De-templatize the O3 ROB.
Change-Id: I257d2a71be5d4254437d84a5bfa59e2e8dc6420a
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42106
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:08:41 +00:00
Gabe Black
2801cc08c0 cpu: De-templatize the O3 MemDepUnit.
Change-Id: I4c1d6b1246fe4ca9f8a9cc9d434ca20f512f8d2f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42105
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:08:24 +00:00
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
0fd71ca168 util,tests: Add Clang version 10 and 11 to the compiler tests
Change-Id: Iad14cc57dad54a9b36f6304f882e55077f5f0156
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45683
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 15:57:28 +00:00
Bobby R. Bruce
db9f03fbf0 tests,util: Add Clang version 10 and 11 to Cloudbuild
This change will build the clang compilation images for version 10 and
11 in gem5's Google Cloud Build.  These can then be used in the gem5
compilation tests.

Change-Id: I9fc902bbaf3262c018231873abfe7fdedd13172c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45682
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 15:57:28 +00:00