History log of /gem5/configs/learning_gem5/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
13980:62a28c423e91 16-May-2019 Jason Lowe-Power <jason@lowepower.com>

configs: Generalize FileSystemConfig for non se.py

This patch updates the FileSystemConfig so it works with more kinds of
config scripts (e.g., the Learning gem5 scripts).

There are 4 main changes:
- Added system as a parameter to the config_filesystem function so the
function can search the system for the number of CPUs instead of relying
on options from Options.py
- Instead of calling redirect_paths everywhere config_filesystem is
used, now it is implicitly called.
- Cleaned up the Ruby scripts a bit to remove redundant calls to
config_filesystem
- Added a config_filesystem call to the Ruby Learning gem5 script
(currently the only Learning gem5 script that requires it).

In the future, I think it would be better to move the config_filesystem
call into simulate.py, probably into the instantiate function. I tried to
use the per-CPU configuration parameters instead of options from
Options.py, but that's not possible until after the SimObject params
have been finalized in instantiate.

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

13842:7bda240061e4 05-Apr-2019 Jason Lowe-Power <jason@lowepower.com>

learning_gem5,configs: Update ruby_test

Use SimpleMemory instead of DDR3 so we can use the timing results in
tests. By using SimpleMemory, even if the DRAM timing changes the timing
of this test won't change. I expect the timing of SimpleMemory to never
change.

Change-Id: I4c75981d7b8bfc4dcca59e628e89f5a6ea4c0e36
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17871
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>

13840:b831620edab0 04-Apr-2019 Jason Lowe-Power <jason@lowepower.com>

configs: Fix import path error in learning_gem5 part3

Change-Id: I2c5cd22bded998bae8e7aa77e42e1b042ce1c5f5
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17869
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>

13839:a32423451596 04-Apr-2019 Jason Lowe-Power <jason@lowepower.com>

configs: Add full path for learning_gem5 binaries

Change-Id: Ie48429d65e322136109a223ed404937989aae494
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/17868
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.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
/gem5/configs/common/cores/__init__.py
/gem5/configs/common/cores/arm/HPI.py
/gem5/configs/common/cores/arm/O3_ARM_v7a.py
/gem5/configs/common/cores/arm/__init__.py
/gem5/configs/common/cores/arm/ex5_LITTLE.py
/gem5/configs/common/cores/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
part1/caches.py
part1/simple.py
part1/two_level.py
part2/hello_goodbye.py
part2/run_simple.py
part2/simple_cache.py
part2/simple_memobj.py
part3/msi_caches.py
part3/ruby_caches_MI_example.py
part3/ruby_test.py
part3/simple_ruby.py
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
12611:8c69b5670fbb 09-Mar-2018 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Add a simple config for MI_example

Adds a new config script to configure the MI_example protocol. This script
closely follows the script used for MSI, but instead supports the
MI_example protocol. This script works with the simple_ruby runscript and
can be included instead of msi_caches.

Change-Id: I8be0be67bf51369763ba103a5f101cfc01ad8859
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/8945
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12610:ce4e3b0639b2 09-Mar-2018 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Ruby random tester files for MSI

Adds a pair of scripts to run the Ruby random tester with the MSI protocol.

This code follows Learning gem5 Part 3.
http://learning.gem5.org/book/part3/index.html

Change-Id: I15550a36618546f0354163b0216cf771f434ed84
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/8944
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12609:72f3f62b4f38 09-Mar-2018 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Add config files for MSI protocol

Adds the required configuration files to run the MSI protocol. These
config files are much simpler than the current Ruby examples and follow
the pattern in the other Learning gem5 run scripts.

By default, this script runs with two CPUs and runs the recently added
thread test binary.

Currently, only SE mode is supported.

This code follows Learning gem5 Part 3.
http://learning.gem5.org/book/part3/index.html

Change-Id: I813a3153d49e47198444c38a6af30269bd1310cd
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/8943
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12579:b5385b9f9d3c 09-Mar-2018 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Update README for Learning gem5

Change-Id: I94485e401bc77207cab68c1e24ef7a6ed83bd43d
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/8946
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>

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>

12339:1141f798a210 06-Oct-2017 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Adding code for SimpleCache

This is the rest of the code for part 2.

See http://learning.gem5.org/book/part2/simplecache.html

Change-Id: I5db099266a1196914656be3858fdd5fb4f8eab48
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/5023
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12338:ae907b0a57c2 06-Oct-2017 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Adds the simple MemObject code

Adding more code from Learning gem5 Part II

See http://learning.gem5.org/book/part2/memoryobject.html

Change-Id: Iaa9480c5cdbe4090364f02e81dc1d0a0ddac392a
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/5022
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12337:97857a19fb72 06-Oct-2017 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Add code for hello-goodbye example

Adding more code from Learning gem5 Part II

See http://learning.gem5.org/book/part2/parameters.html

Change-Id: I9fe5655239e011c718c5cf5fd62bebcda66ea966
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/5021
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>

12336:9ead840035df 06-Oct-2017 Jason Lowe-Power <jason@lowepower.com>

learning_gem5: Add code for simple SimObject

This adds code from Learning gem5 Part II.

See http://learning.gem5.org/book/part2/helloobject.html

Change-Id: Ic2caa07876ca57f937729c27ce29b2cd8bf2380c
Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-on: https://gem5-review.googlesource.com/5020
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>

12072:2ee7f25dd00d 19-Apr-2017 Zhang Zheng <perise@gmail.com>

configs: fixed SimpleOpts missing error by adding library path

Change-Id: I0de761c8a322a506e436d5c7f12ee509535f52fd
Reviewed-on: https://gem5-review.googlesource.com/2801
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

11851:824055fe6b30 09-Nov-2016 Brandon Potter <brandon.potter@amd.com>

syscall_emul: [patch 5/22] remove LiveProcess class and use Process instead

The EIOProcess class was removed recently and it was the only other class
which derived from Process. Since every Process invocation is also a
LiveProcess invocation, it makes sense to simplify the organization by
combining the fields from LiveProcess into Process.


/gem5/configs/common/cpu2000.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/se.py
part1/simple.py
part1/two_level.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
/gem5/src/arch/alpha/linux/process.cc
/gem5/src/arch/alpha/linux/process.hh
/gem5/src/arch/alpha/process.cc
/gem5/src/arch/alpha/process.hh
/gem5/src/arch/arm/freebsd/process.cc
/gem5/src/arch/arm/freebsd/process.hh
/gem5/src/arch/arm/linux/process.cc
/gem5/src/arch/arm/linux/process.hh
/gem5/src/arch/arm/process.cc
/gem5/src/arch/arm/process.hh
/gem5/src/arch/mips/linux/process.cc
/gem5/src/arch/mips/linux/process.hh
/gem5/src/arch/mips/process.cc
/gem5/src/arch/mips/process.hh
/gem5/src/arch/power/linux/process.cc
/gem5/src/arch/power/linux/process.hh
/gem5/src/arch/power/process.cc
/gem5/src/arch/power/process.hh
/gem5/src/arch/riscv/linux/process.cc
/gem5/src/arch/riscv/linux/process.hh
/gem5/src/arch/riscv/process.cc
/gem5/src/arch/riscv/process.hh
/gem5/src/arch/sparc/faults.cc
/gem5/src/arch/sparc/linux/process.cc
/gem5/src/arch/sparc/linux/process.hh
/gem5/src/arch/sparc/linux/syscalls.cc
/gem5/src/arch/sparc/process.cc
/gem5/src/arch/sparc/process.hh
/gem5/src/arch/sparc/solaris/process.cc
/gem5/src/arch/sparc/solaris/process.hh
/gem5/src/arch/x86/linux/process.cc
/gem5/src/arch/x86/linux/process.hh
/gem5/src/arch/x86/process.cc
/gem5/src/arch/x86/process.hh
/gem5/src/gpu-compute/cl_driver.cc
/gem5/src/gpu-compute/cl_driver.hh
/gem5/src/kern/freebsd/freebsd.hh
/gem5/src/kern/linux/linux.cc
/gem5/src/kern/linux/linux.hh
/gem5/src/kern/operatingsystem.cc
/gem5/src/kern/operatingsystem.hh
/gem5/src/sim/Process.py
/gem5/src/sim/emul_driver.hh
/gem5/src/sim/process.cc
/gem5/src/sim/process.hh
/gem5/src/sim/syscall_desc.cc
/gem5/src/sim/syscall_desc.hh
/gem5/src/sim/syscall_emul.cc
/gem5/src/sim/syscall_emul.hh
/gem5/tests/long/se/10.mcf/test.py
/gem5/tests/long/se/20.parser/test.py
/gem5/tests/long/se/30.eon/test.py
/gem5/tests/long/se/40.perlbmk/test.py
/gem5/tests/long/se/50.vortex/test.py
/gem5/tests/long/se/60.bzip2/test.py
/gem5/tests/long/se/70.twolf/test.py
/gem5/tests/quick/se/00.hello.mp/test.py
/gem5/tests/quick/se/00.hello/test.py
/gem5/tests/quick/se/01.hello-2T-smt/test.py
/gem5/tests/quick/se/02.insttest/test.py
/gem5/tests/quick/se/04.gpu/test.py
/gem5/tests/quick/se/10.mcf/test.py
/gem5/tests/quick/se/30.eon/test.py
/gem5/tests/quick/se/40.m5threads-test-atomic/test.py
/gem5/tests/quick/se/50.vortex/test.py
/gem5/tests/quick/se/70.twolf/test.py
11837:17b37f38944a 14-Feb-2017 Wendy Elsasser <wendy.elsasser@arm.com>

mem: Update DRAM configuration names

Names of DRAM configurations were updated to reflect both
the channel and device data width.

Previous naming format was:
<DEVICE_TYPE>_<DATA_RATE>_<CHANNEL_WIDTH>

The following nomenclature is now used:
<DEVICE_TYPE>_<DATA_RATE>_<n>x<w>
where n = The number of devices per rank on the channel
x = Device width

Total channel width can be calculated by n*w

Example:
A 64-bit DDR4, 2400 channel consisting of 4-bit devices:
n = 16
w = 4
The resulting configuration name is:
DDR4_2400_16x4

Updated scripts to match new naming convention.

Added unique configurations for DDR4 for:
1) 16x4
2) 8x8
3) 4x16

Change-Id: Ibd7f763b7248835c624309143cb9fc29d56a69d1
Reviewed-by: Radhika Jagtap <radhika.jagtap@arm.com>
Reviewed-by: Curtis Dunham <curtis.dunham@arm.com>


/gem5/configs/common/HMC.py
/gem5/configs/common/MemConfig.py
/gem5/configs/common/Options.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/sweep.py
/gem5/configs/example/hmctest.py
/gem5/configs/example/memcheck.py
part1/simple.py
part1/two_level.py
/gem5/src/mem/DRAMCtrl.py
/gem5/tests/configs/minor-timing-mp.py
/gem5/tests/configs/minor-timing.py
/gem5/tests/configs/o3-timing-checker.py
/gem5/tests/configs/o3-timing-mp.py
/gem5/tests/configs/o3-timing-mt.py
/gem5/tests/configs/o3-timing.py
/gem5/tests/configs/pc-o3-timing.py
/gem5/tests/configs/pc-simple-timing.py
/gem5/tests/configs/pc-switcheroo-full.py
/gem5/tests/configs/realview-minor-dual.py
/gem5/tests/configs/realview-minor.py
/gem5/tests/configs/realview-o3-checker.py
/gem5/tests/configs/realview-o3-dual.py
/gem5/tests/configs/realview-o3.py
/gem5/tests/configs/realview-simple-timing-dual.py
/gem5/tests/configs/realview-simple-timing.py
/gem5/tests/configs/realview-switcheroo-full.py
/gem5/tests/configs/realview-switcheroo-o3.py
/gem5/tests/configs/realview-switcheroo-timing.py
/gem5/tests/configs/realview64-minor-dual.py
/gem5/tests/configs/realview64-minor.py
/gem5/tests/configs/realview64-o3-checker.py
/gem5/tests/configs/realview64-o3-dual.py
/gem5/tests/configs/realview64-o3.py
/gem5/tests/configs/realview64-simple-timing-dual.py
/gem5/tests/configs/realview64-simple-timing.py
/gem5/tests/configs/realview64-switcheroo-full.py
/gem5/tests/configs/realview64-switcheroo-o3.py
/gem5/tests/configs/realview64-switcheroo-timing.py
/gem5/tests/configs/tgen-dram-ctrl.py
/gem5/tests/configs/tsunami-minor-dual.py
/gem5/tests/configs/tsunami-minor.py
/gem5/tests/configs/tsunami-o3-dual.py
/gem5/tests/configs/tsunami-o3.py
/gem5/tests/configs/tsunami-simple-timing-dual.py
/gem5/tests/configs/tsunami-simple-timing.py
/gem5/tests/configs/tsunami-switcheroo-full.py
11722:f15f02d8c79e 30-Nov-2016 Sophiane Senni <sophiane.senni@gmail.com>

mem: Split the hit_latency into tag_latency and data_latency

If the cache access mode is parallel, i.e. "sequential_access" parameter
is set to "False", tags and data are accessed in parallel. Therefore,
the hit_latency is the maximum latency between tag_latency and
data_latency. On the other hand, if the cache access mode is
sequential, i.e. "sequential_access" parameter is set to "True",
tags and data are accessed sequentially. Therefore, the hit_latency
is the sum of tag_latency plus data_latency.

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>

11682:612f75cf36a0 14-Oct-2016 Andreas Hansson <andreas.hansson@arm.com>

config: Make configs/common a Python package

Continue along the same line as the recent patch that made the
Ruby-related config scripts Python packages and make also the
configs/common directory a package.

All affected config scripts are updated (hopefully).

Note that this change makes it apparent that the current organisation
and naming of the config directory and its subdirectories is rather
chaotic. We mix scripts that are directly invoked with scripts that
merely contain convenience functions. While it is not addressed in
this patch we should follow up with a re-organisation of the
config structure, and renaming of some of the packages.


/gem5/configs/common/__init__.py
/gem5/configs/dist/sw.py
/gem5/configs/dram/lat_mem_rd.py
/gem5/configs/dram/sweep.py
/gem5/configs/example/apu_se.py
/gem5/configs/example/arm/devices.py
/gem5/configs/example/arm/fs_bigLITTLE.py
/gem5/configs/example/etrace_replay.py
/gem5/configs/example/fs.py
/gem5/configs/example/garnet_synth_traffic.py
/gem5/configs/example/hmctest.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
part1/caches.py
part1/two_level.py
/gem5/configs/ruby/Ruby.py
/gem5/configs/splash2/cluster.py
/gem5/configs/splash2/run.py
/gem5/tests/configs/alpha_generic.py
/gem5/tests/configs/arm_generic.py
/gem5/tests/configs/base_config.py
/gem5/tests/configs/checkpoint.py
/gem5/tests/configs/gpu-randomtest-ruby.py
/gem5/tests/configs/gpu-ruby.py
/gem5/tests/configs/learning-gem5-p1-two-level.py
/gem5/tests/configs/memtest-filter.py
/gem5/tests/configs/memtest-ruby.py
/gem5/tests/configs/memtest.py
/gem5/tests/configs/o3-timing-mp-ruby.py
/gem5/tests/configs/o3-timing-mt.py
/gem5/tests/configs/o3-timing-ruby.py
/gem5/tests/configs/o3-timing.py
/gem5/tests/configs/pc-simple-timing-ruby.py
/gem5/tests/configs/realview-o3-checker.py
/gem5/tests/configs/realview-o3-dual.py
/gem5/tests/configs/realview-o3.py
/gem5/tests/configs/realview64-o3-checker.py
/gem5/tests/configs/realview64-o3-dual.py
/gem5/tests/configs/realview64-o3.py
/gem5/tests/configs/rubytest-ruby.py
/gem5/tests/configs/simple-timing-mp-ruby.py
/gem5/tests/configs/simple-timing-ruby.py
/gem5/tests/configs/switcheroo.py
/gem5/tests/configs/t1000-simple-atomic.py
/gem5/tests/configs/twosys-tsunami-simple-atomic.py
/gem5/tests/configs/x86_generic.py
11154:fce93f1c885b 01-Oct-2015 Andreas Hansson <andreas.hansson@arm.com>

config: Fix 'learning gem5' configs after SMT push

This patch updates the 'learning gem5' example scripts to match the
recent push of the SMT patches.

11104:2d537040a4b9 16-Sep-2015 Jason Lowe-Power <power.jg@gmail.com>

config: Add configs scripts used in Learning gem5

Added a new directory in configs (learning_gem5) to hold the scripts that are
used in the book. See http://lowepower.com/jason/learning_gem5/ for a working
copy. For now, only the scripts in Part 1: Getting started with gem5
have been added. A separate patch adds tests for these scripts.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>