History log of /gem5/configs/common/cores/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
14216:188a91ee11c1 02-Sep-2019 Daniel R. Carvalho <odanrc@yahoo.com.br>

configs: Fix replacement policy assignment

Commit d207e9ccee411877fdeac80bb68a27900560f50f reworked the tags
to split the replacement policies, however the name of the variable
that contains the replacement policy changed between patch revisions,
which was not updated accordingly in the configs files.

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

13774:a1be2a0c55f2 25-Feb-2019 Andreas Sandberg <andreas.sandberg@arm.com>

configs: Use absolute import paths

Use absoluate import paths to be Python 3 compatible. This also
imports absolute_import from __future__ to ensure that Python 2.7
behaves the same way as Python 3.

Change-Id: Ica06ed95814e9cd3e768b3e1785075e36f6e56d0
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/16708
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>


/gem5/configs/common/BPConfig.py
/gem5/configs/common/Benchmarks.py
/gem5/configs/common/CacheConfig.py
/gem5/configs/common/Caches.py
/gem5/configs/common/CpuConfig.py
/gem5/configs/common/FSConfig.py
/gem5/configs/common/GPUTLBConfig.py
/gem5/configs/common/GPUTLBOptions.py
/gem5/configs/common/HMC.py
/gem5/configs/common/MemConfig.py
/gem5/configs/common/Options.py
/gem5/configs/common/PlatformConfig.py
/gem5/configs/common/SimpleOpts.py
/gem5/configs/common/Simulation.py
/gem5/configs/common/SysPaths.py
/gem5/configs/common/__init__.py
__init__.py
arm/HPI.py
arm/O3_ARM_v7a.py
arm/__init__.py
arm/ex5_LITTLE.py
arm/ex5_big.py
/gem5/configs/common/cpu2000.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/low_power_sweep.py
/gem5/configs/dram/sweep.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/arm/devices.py
/gem5/configs/example/arm/dist_bigLITTLE.py
/gem5/configs/example/arm/fs_bigLITTLE.py
/gem5/configs/example/arm/fs_power.py
/gem5/configs/example/arm/starter_fs.py
/gem5/configs/example/arm/starter_se.py
/gem5/configs/example/etrace_replay.py
/gem5/configs/example/fs.py
/gem5/configs/example/garnet_synth_traffic.py
/gem5/configs/example/hmc_hello.py
/gem5/configs/example/hmctest.py
/gem5/configs/example/memcheck.py
/gem5/configs/example/memtest.py
/gem5/configs/example/read_config.py
/gem5/configs/example/ruby_direct_test.py
/gem5/configs/example/ruby_gpu_random_test.py
/gem5/configs/example/ruby_mem_test.py
/gem5/configs/example/ruby_random_test.py
/gem5/configs/example/se.py
/gem5/configs/learning_gem5/part1/caches.py
/gem5/configs/learning_gem5/part1/simple.py
/gem5/configs/learning_gem5/part1/two_level.py
/gem5/configs/learning_gem5/part2/hello_goodbye.py
/gem5/configs/learning_gem5/part2/run_simple.py
/gem5/configs/learning_gem5/part2/simple_cache.py
/gem5/configs/learning_gem5/part2/simple_memobj.py
/gem5/configs/learning_gem5/part3/msi_caches.py
/gem5/configs/learning_gem5/part3/ruby_caches_MI_example.py
/gem5/configs/learning_gem5/part3/ruby_test.py
/gem5/configs/learning_gem5/part3/simple_ruby.py
/gem5/configs/learning_gem5/part3/test_caches.py
/gem5/configs/network/Network.py
/gem5/configs/network/__init__.py
/gem5/configs/ruby/GPU_RfO.py
/gem5/configs/ruby/MI_example.py
/gem5/configs/ruby/Ruby.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
/gem5/configs/topologies/BaseTopology.py
/gem5/configs/topologies/Cluster.py
/gem5/configs/topologies/Crossbar.py
/gem5/configs/topologies/CrossbarGarnet.py
/gem5/configs/topologies/MeshDirCorners_XY.py
/gem5/configs/topologies/Mesh_XY.py
/gem5/configs/topologies/Mesh_westfirst.py
/gem5/configs/topologies/Pt2Pt.py
/gem5/configs/topologies/__init__.py
13731:67cd980cb20f 26-Jan-2019 Andreas Sandberg <andreas.sandberg@arm.com>

configs: Fix Python 3 iterator and exec compatibility issues

Python 2.7 used to return lists for operations such as map and range,
this has changed in Python 3. To make the configs Python 3 compliant,
add explicit conversions from iterators to lists where needed, replace
xrange with range, and fix changes to exec syntax.

This change doesn't fix import paths since that might require us to
restructure the configs slightly.

Change-Id: Idcea8482b286779fc98b4e144ca8f54069c08024
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/16002
Reviewed-by: Gabe Black <gabeblack@google.com>


/gem5/configs/common/BPConfig.py
/gem5/configs/common/Benchmarks.py
/gem5/configs/common/CacheConfig.py
/gem5/configs/common/CpuConfig.py
/gem5/configs/common/FSConfig.py
/gem5/configs/common/GPUTLBConfig.py
/gem5/configs/common/HMC.py
/gem5/configs/common/MemConfig.py
/gem5/configs/common/Options.py
/gem5/configs/common/PlatformConfig.py
/gem5/configs/common/Simulation.py
/gem5/configs/common/SysPaths.py
arm/HPI.py
/gem5/configs/common/cpu2000.py
/gem5/configs/dist/sw.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/low_power_sweep.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/fs.py
/gem5/configs/example/garnet_synth_traffic.py
/gem5/configs/example/hmctest.py
/gem5/configs/example/memcheck.py
/gem5/configs/example/memtest.py
/gem5/configs/example/read_config.py
/gem5/configs/example/ruby_gpu_random_test.py
/gem5/configs/example/ruby_mem_test.py
/gem5/configs/example/ruby_random_test.py
/gem5/configs/example/se.py
/gem5/configs/ruby/AMD_Base_Constructor.py
/gem5/configs/ruby/GPU_RfO.py
/gem5/configs/ruby/GPU_VIPER.py
/gem5/configs/ruby/GPU_VIPER_Baseline.py
/gem5/configs/ruby/GPU_VIPER_Region.py
/gem5/configs/ruby/Garnet_standalone.py
/gem5/configs/ruby/MESI_Three_Level.py
/gem5/configs/ruby/MESI_Two_Level.py
/gem5/configs/ruby/MI_example.py
/gem5/configs/ruby/MOESI_AMD_Base.py
/gem5/configs/ruby/MOESI_CMP_directory.py
/gem5/configs/ruby/MOESI_CMP_token.py
/gem5/configs/ruby/MOESI_hammer.py
/gem5/configs/ruby/Ruby.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
/gem5/configs/topologies/MeshDirCorners_XY.py
/gem5/configs/topologies/Mesh_XY.py
/gem5/configs/topologies/Mesh_westfirst.py
/gem5/configs/topologies/Pt2Pt.py
13432:6ce67b7e6e44 07-Nov-2018 Pau Cabre <pau.cabre@metempsy.com>

configs: Added an option for choosing branch predictor type

Added the parameter "--bp-type" to set the branch predictor type
Added the parameter "--list-bp-types" to list all the available branch
predictor types

Change-Id: Ia6aae90c784aef359b6d8233c8383cd7a871aca1
Signed-off-by: Pau Cabre <pau.cabre@metempsy.com>
Reviewed-on: https://gem5-review.googlesource.com/c/14015
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

12600:e670dd17c8cf 19-Feb-2018 Daniel R. Carvalho <odanrc@yahoo.com.br>

mem-cache: Split array indexing and replacement policies.

Replacement policies (LRU, Random) are currently considered as array
indexing methods, but have completely different functionalities:

- Array indexers determine the possible locations for block allocation.
This information is used to generate replacement candidates when
conflicts happen.
- Replacement policies determine which of the replacement candidates
should be evicted to make room for new allocations.

For this reason, they were split into different classes. Advantages:

- Easier and more straightforward to implement other replacement
policies (RRIP, LFU, ARC, ...)
- Allow easier future implementation of cache organization schemes

As now we can't assure the use of sets, the previous way to create a
true LRU is not viable. Now a timestamp_bits parameter controls how
many bits are dedicated for the timestamp, and a true LRU can be
achieved through an infinite number of bits (although a few bits suffice
in practice).

Change-Id: I23750db121f1474d17831137e6ff618beb2b3eda
Reviewed-on: https://gem5-review.googlesource.com/8501
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>

12564:2778478ca882 06-Mar-2018 Gabe Black <gabeblack@google.com>

config: Switch from the print statement to the print function.

Change-Id: I701fa58cfcfa2767ce9ad24da314a053889878d0
Reviewed-on: https://gem5-review.googlesource.com/8762
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Gabe Black <gabeblack@google.com>

12149:b87a60509a13 10-Jul-2017 Ashkan Tousi <ashkan.tousimojarad@arm.com>

config, arm: Add a high-performance in order timing model

The High-Performance In-order (HPI) CPU timing model is tuned to be
representative of a modern in-order ARMv8-A implementation. The HPI
core and its supporting simulation scripts, namely starter_se.py and
starter_fs.py (under /configs/example/arm/) are part of the ARM
Research Starter Kit on System Modeling. More information can be found
at: http://www.arm.com/ResearchEnablement/SystemModeling

Change-Id: I124bd06ba42d20abff09d447542b031d17eabe22
Signed-off-by: Ashkan Tousi <ashkan.tousimojarad@arm.com>
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/4201
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>

12109:f29e9c5418aa 05-Apr-2017 Rekai Gonzalez-Alberquilla <Rekai.GonzalezAlberquilla@arm.com>

cpu: Added interface for vector reg file

This patch adds some more functionality to the cpu model and the arch to
interface with the vector register file.

This change consists mainly of augmenting ThreadContexts and ExecContexts
with calls to get/set full vectors, underlying microarchitectural elements
or lanes. Those are meant to interface with the vector register file. All
classes that implement this interface also get an appropriate implementation.

This requires implementing the vector register file for the different
models using the VecRegContainer class.

This change set also updates the Result abstraction to contemplate the
possibility of having a vector as result.

The changes also affect how the remote_gdb connection works.

There are some (nasty) side effects, such as the need to define dummy
numPhysVecRegs parameter values for architectures that do not implement
vector extensions.

Nathanael Premillieu's work with an increasing number of fixes and
improvements of mine.

Change-Id: Iee65f4e8b03abfe1e94e6940a51b68d0977fd5bb
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
[ Fix RISCV build issues and CC reg free list initialisation ]
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/2705


arm/O3_ARM_v7a.py
/gem5/src/arch/SConscript
/gem5/src/arch/alpha/isa.hh
/gem5/src/arch/alpha/registers.hh
/gem5/src/arch/arm/ArmISA.py
/gem5/src/arch/arm/insts/static_inst.cc
/gem5/src/arch/arm/insts/static_inst.hh
/gem5/src/arch/arm/isa.cc
/gem5/src/arch/arm/isa.hh
/gem5/src/arch/arm/nativetrace.cc
/gem5/src/arch/arm/registers.hh
/gem5/src/arch/arm/remote_gdb.cc
/gem5/src/arch/arm/remote_gdb.hh
/gem5/src/arch/arm/utility.cc
/gem5/src/arch/generic/ISACommon.py
/gem5/src/arch/generic/SConscript
/gem5/src/arch/generic/traits.hh
/gem5/src/arch/generic/types.hh
/gem5/src/arch/isa_parser.py
/gem5/src/arch/mips/isa.hh
/gem5/src/arch/mips/registers.hh
/gem5/src/arch/null/registers.hh
/gem5/src/arch/power/isa.hh
/gem5/src/arch/power/registers.hh
/gem5/src/arch/riscv/isa.hh
/gem5/src/arch/riscv/registers.hh
/gem5/src/arch/sparc/isa.hh
/gem5/src/arch/sparc/registers.hh
/gem5/src/arch/x86/isa.hh
/gem5/src/arch/x86/registers.hh
/gem5/src/cpu/base_dyn_inst.hh
/gem5/src/cpu/checker/cpu.hh
/gem5/src/cpu/checker/cpu_impl.hh
/gem5/src/cpu/checker/thread_context.hh
/gem5/src/cpu/exec_context.hh
/gem5/src/cpu/inst_res.hh
/gem5/src/cpu/minor/dyn_inst.cc
/gem5/src/cpu/minor/exec_context.hh
/gem5/src/cpu/minor/scoreboard.cc
/gem5/src/cpu/minor/scoreboard.hh
/gem5/src/cpu/o3/O3CPU.py
/gem5/src/cpu/o3/comm.hh
/gem5/src/cpu/o3/cpu.cc
/gem5/src/cpu/o3/cpu.hh
/gem5/src/cpu/o3/dyn_inst.hh
/gem5/src/cpu/o3/free_list.hh
/gem5/src/cpu/o3/inst_queue_impl.hh
/gem5/src/cpu/o3/regfile.cc
/gem5/src/cpu/o3/regfile.hh
/gem5/src/cpu/o3/rename.hh
/gem5/src/cpu/o3/rename_impl.hh
/gem5/src/cpu/o3/rename_map.cc
/gem5/src/cpu/o3/rename_map.hh
/gem5/src/cpu/o3/thread_context.hh
/gem5/src/cpu/o3/thread_context_impl.hh
/gem5/src/cpu/reg_class.cc
/gem5/src/cpu/reg_class.hh
/gem5/src/cpu/reg_class_impl.hh
/gem5/src/cpu/simple/base.cc
/gem5/src/cpu/simple/exec_context.hh
/gem5/src/cpu/simple_thread.hh
/gem5/src/cpu/static_inst.hh
/gem5/src/cpu/thread_context.cc
/gem5/src/cpu/thread_context.hh
/gem5/src/sim/serialize.cc
12099:40bbc2917b8a 04-Jul-2017 Andreas Sandberg <andreas.sandberg@arm.com>

config, arm: Don't import timing models for missing CPUs

When importing the cores.arm package, we currently throw an exception
if a timing model can't be imported due to a missing dependency (e.g.,
the required CPU model wasn't included in the build). This is
undesirable since it prevents other, working, timing models from being
added to the package. Wrap the import_module call in a try-except
block and skip timing models that have missing dependencies.

Change-Id: I92bab62c989f433a8a4a7bf59207d9d81b3d19e1
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3946
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

12098:6a2ac80ff671 26-Jun-2017 Andreas Sandberg <andreas.sandberg@arm.com>

config: Clean up core timing model discovery

Instead of hard-coding timing models in CpuConfig.py, use
introspection to find them in the cores.arm model package.

Change-Id: I6642dc9cbc3f5beeeec748e716c9426c233d51ea
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Gabor Dozsa <gabor.dozsa@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3944
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

12097:77a3d2890ba6 26-Jun-2017 Andreas Sandberg <andreas.sandberg@arm.com>

config: Move core timing models to config/common/cores

Change-Id: I189b6462cc64f7cc6c1b7a6c2af1abb60e1854de
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-by: Gabor Dozsa <gabor.dozsa@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/3943
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>