#
13967:755cdc26b48d |
|
14-May-2019 |
Javier Bueno <javier.bueno@metempsy.com> |
configs: Fix duplicate branchPred reference in Simulation.py
Change-Id: I5ef5fb7ebc5fc2a4776adc43643c4df27efc341c Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18769 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
|
#
13958:1945df12e5b0 |
|
07-Jan-2019 |
Jairo Balart <jairo.balart@metempsy.com> |
config: add an option to list and select indirect branch predictor
Change-Id: I9a855d36de7d95b7785ff8a897899037cea6a3d8 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/15320 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.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>
|
#
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>
|
#
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>
|
#
13357:110926e15f1f |
|
13-Sep-2018 |
Ciro Santilli <ciro.santilli@arm.com> |
config: add --param to fs.py, se.py and fs_bigLITTLE.py
The option allows to set SimObject params from the CLI.
The existing config scripts have a large number of options that simply set a single SimObject parameter, and many still are not exposed.
This commit allows users to pass arbitrary parameters from the command line to prevent the need for this kind of trivial option.
Change-Id: Ic4bd36948aca4998d2eaf6369c85d3668efa3944 Reviewed-on: https://gem5-review.googlesource.com/c/12985 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
|
#
12880:cb1fb179e8c8 |
|
21-Sep-2017 |
Jason Lowe-Power <jason@lowepower.com> |
configs: Always exit with code 0
Update simulation.py to always exit with code 0 assuming the simulation exits normally. If the running application has a return code that is non zero, then print the return code before exiting.
Change-Id: I1983985d50311627574d4364b32ee961ae88e003 Signed-off-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-on: https://gem5-review.googlesource.com/4880
|
#
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>
|
#
12395:322bb93e5f06 |
|
09-Nov-2017 |
Swapnil Haria <swapnilster@gmail.com> |
mem-ruby: Support atomic_noncaching acceses in ruby
Ruby has no support for atomic_noncaching accesses, which prevents using it with kvm-cpu. This patch fixes this by directly forwarding atomic requests from the ruby port/sequencer to the corresponding directory based on the destination address of the packet.
Change-Id: I0b4928bfda44fd9e5e48583c51d1ea422800da2d Reviewed-on: https://gem5-review.googlesource.com/5601 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Reviewed-by: Bradford Beckmann <brad.beckmann@amd.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Maintainer: Bradford Beckmann <brad.beckmann@amd.com>
|
#
12374:df27dd3da16d |
|
02-Dec-2017 |
Austin Harris <austinharris@utexas.edu> |
config: Fix need to set ISA of switch cpus.
Since BaseCPU.createThreads() no longer overrides the BaseCPU.isa parameter, switch_cpus should have the ISA copied. This fixes a fatal error in BaseCPU when restoring from a checkpoint.
Change-Id: I4fdcacb76da46bdbe1ce37dcf05c5a6a8a9e5237 Signed-off-by: Austin Harris <austinharris@utexas.edu> Reviewed-on: https://gem5-review.googlesource.com/6241 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
|
#
11688:725fef71f376 |
|
26-Oct-2016 |
Andreas Hansson <andreas.hansson@arm.com> |
config: Break out base options for usage with NULL ISA
This patch breaks out the most basic configuration options into a set of base options, to allow them to be used also by scripts that do not involve any ISA, and thus no actual CPUs or devices.
The patch also fixes a few modules so that they can be imported in a NULL build, and avoid dragging in FSConfig every time Options is imported.
|
#
11320:42ecb523c64a |
|
06-Feb-2016 |
Steve Reinhardt <steve.reinhardt@amd.com> |
style: remove trailing whitespace
Result of running 'hg m5style --skip-all --fix-white -a'.
|
#
11251:a15c86af004a |
|
07-Dec-2015 |
Radhika Jagtap <radhika.jagtap@ARM.com> |
config: Enable elastic trace capture and replay in se/fs
This patch adds changes to the configuration scripts to support elastic tracing and replay.
The patch adds a command line option to enable elastic tracing in SE mode and FS mode. When enabled the Elastic Trace cpu probe is attached to O3CPU and a few O3 CPU parameters are tuned. The Elastic Trace probe writes out both instruction fetch and data dependency traces. The patch also enables configuring the TraceCPU to replay traces using the SE and FS script.
The replay run is designed to resume from checkpoint using atomic cpu to restore state keeping it consistent with FS run flow. It then switches to TraceCPU to replay the input traces.
|
#
10786:ee82c2c30421 |
|
14-Apr-2015 |
Malek Musleh <malek.musleh@gmail.com> |
config, cpu: fix progress interval for switched CPUs This patch ensures that the CPU progress Event is triggered for the new set of switched_cpus that get scheduled (e.g. during fast-forwarding). it also avoids printing the interval state if the cpu is currently switched out.
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
|
#
10757:8a4040874157 |
|
23-Mar-2015 |
Curtis Dunham <Curtis.Dunham@arm.com> |
config: Add ability to exit simulation after initialization
When using gem5 as a slave simulator, it will not advance the clock on its own and depends on the master simulator calling simulate(). This new option lets us use the Python scripts to do all the configuration while stopping short of actually simulating anything.
|
#
10608:427f988fe6e5 |
|
23-Dec-2014 |
Dam Sunwoo <dam.sunwoo@arm.com> |
config: Add options to take/resume from SimPoint checkpoints
More documentation at http://gem5.org/Simpoints
Steps to profile, generate, and use SimPoints with gem5:
1. To profile workload and generate SimPoint BBV file, use the following option:
--simpoint-profile --simpoint-interval <interval length>
Requires single Atomic CPU and fastmem. <interval length> is in number of instructions.
2. Generate SimPoint analysis using SimPoint 3.2 from UCSD. (SimPoint 3.2 not included with this flow.)
3. To take gem5 checkpoints based on SimPoint analysis, use the following option:
--take-simpoint-checkpoint=<simpoint file path>,<weight file path>,<interval length>,<warmup length>
<simpoint file> and <weight file> is generated by SimPoint analysis tool from UCSD. SimPoint 3.2 format expected. <interval length> and <warmup length> are in number of instructions.
4. To resume from gem5 SimPoint checkpoints, use the following option:
--restore-simpoint-checkpoint -r <N> --checkpoint-dir <simpoint checkpoint path>
<N> is (SimPoint index + 1). E.g., "-r 1" will resume from SimPoint #0.
|
#
10159:ca6f1407f8f8 |
|
10-Apr-2014 |
Gedare Bloom <gedare@rtems.org> |
config: add num-work-ids command line option Adds the parameter --num-work-ids to Options.py and reads the parameter into the System params in Simulation.py. This parameter enables setting the number of possible work items to different than 16. Support for this parameter already exists in src/sim/System.py, so this changeset only affects the Python config files.
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
|
#
9867:650fc966ed78 |
|
11-Sep-2013 |
Joel Hestness <jthestness@gmail.com> |
config: Initialize and check cpt_starttick
The previous changeset (9816) that fixes the use of max ticks introduced the variable cpt_starttick, which is used for setting the relative max tick. Unfortunately, with checkpointing at an instruction count or with simpoints, the checkpoint tick is not stored conveniently, so to ensure that cpt_starttick is initialized, set it to 0. Also, if using --rel-max-tick, check the use of instruction counts or simpoints to warn the user that the max tick setting does not include the checkpoint ticks.
|
#
9816:971507cbbe65 |
|
18-Jul-2013 |
Joel Hestness <jthestness@gmail.com> |
Configs: Fix up maxtick and maxtime
This patch contains three fixes to max tick options handling in Options.py and Simulation.py:
1) Since the global simulator frequency isn't bound until m5.instantiate() is called, the maxtick resolution needs to happen after this call, since changes to the global frequency will cause m5.simulate() to misinterpret the maxtick value. Shuffling this also requires tweaking the checkpoint directory handling to signal the checkpoint restore tick back to run(). Fixing this completely and correctly will require storing the simulation frequency into checkpoints, which is beyond the scope of this patch.
2) The maxtick option in Options.py was defaulted to MaxTicks, so the old code would always skip over the maxtime part of the conditionals at the beginning of run(). Change the maxtick default to None, and set the maxtick local variable in run() appropriately.
3) To clarify whether max ticks settings are relative or absolute, split the maxtick option into separate options, for relative and absolute. Ensure that these two options and the maxtime option are handled appropriately to set the maxtick variable in Simulation.py.
|
#
9793:6e6cefc1db1f |
|
27-Jun-2013 |
Akash Bagdia <akash.bagdia@arm.com> |
sim: Add the notion of clock domains to all ClockedObjects
This patch adds the notion of source- and derived-clock domains to the ClockedObjects. As such, all clock information is moved to the clock domain, and the ClockedObjects are grouped into domains.
The clock domains are either source domains, with a specific clock period, or derived domains that have a parent domain and a divider (potentially chained). For piece of logic that runs at a derived clock (a ratio of the clock its parent is running at) the necessary derived clock domain is created from its corresponding parent clock domain. For now, the derived clock domain only supports a divider, thus ensuring a lower speed compared to its parent. Multiplier functionality implies a PLL logic that has not been modelled yet (create a separate clock instead).
The clock domains should be used as a mechanism to provide a controllable clock source that affects clock for every clocked object lying beneath it. The clock of the domain can (in a future patch) be controlled by a handler responsible for dynamic frequency scaling of the respective clock domains.
All the config scripts have been retro-fitted with clock domains. For the System a default SrcClockDomain is created. For CPUs that run at a different speed than the system, there is a seperate clock domain created. This domain incorporates the CPU and the associated caches. As before, Ruby runs under its own clock domain.
The clock period of all domains are pre-computed, such that no virtual functions or multiplications are needed when calling clockPeriod. Instead, the clock period is pre-computed when any changes occur. For this to be possible, each clock domain tracks its children.
|
#
9665:6dbdeee787cc |
|
22-Apr-2013 |
Andreas Hansson <andreas.hansson@arm.com> |
config: Add a mem-type config option to se/fs scripts
This patch enables selection of the memory controller class through a mem-type command-line option. Behind the scenes, this option is treated much like the cpu-type, and a similar framework is used to resolve the valid options, and translate the short-hand description to a valid class.
The regression scripts are updated with a hardcoded memory class for the moment. The best solution going forward is probably to get the memory out of the makeSystem functions, but Ruby complicates things as it does not connect the memory controller to the membus.
|
#
9634:37a6fb91f96d |
|
09-Apr-2013 |
Joel Hestness <jthestness@gmail.com> |
Configs: Fix handling of maxtick and take_checkpoints
In Simulation.py, calls to m5.simulate(num_ticks) will run the simulated system for num_ticks after the current tick. Fix calls to m5.simulate in scriptCheckpoints() and benchCheckpoints() to appropriately handle the maxticks variable.
|
#
9606:0a4b702628bd |
|
22-Mar-2013 |
Nilay Vaish <nilay@cs.wisc.edu> |
config: return exit event instead of cause changeset: a4739b6f799d made some changes that where an exit event should have been returned in place of exit cause. This patch corrects the error.
|
#
9521:1cd02decbfd3 |
|
15-Feb-2013 |
Andreas Sandberg <Andreas.Sandberg@ARM.com> |
config: Move CPU handover logic to m5.switchCpus()
CPU switching consists of the following steps: 1. Drain the system 2. Switch out old CPUs (cpu.switchOut()) 3. Change the system timing mode to the mode the new CPUs require 4. Flush caches if switching to hardware virtualization 5. Inform new CPUs of the handover (cpu.takeOverFrom()) 6. Resume the system
m5.switchCpus() previously only did step 2 & 5. Since information about the new processors' memory system requirements is now exposed, do all of the steps above.
This patch adds automatic memory system switching and flush (if needed) to switchCpus(). Additionally, it adds optional draining to switchCpus(). This has the following implications:
* changeToTiming and changeToAtomic are no longer needed, so they have been removed.
* changeMemoryMode is only used internally, so it is has been renamed to be private.
* switchCpus requires a reference to the system containing the CPUs as its first parameter.
WARNING: This changeset breaks compatibility with existing configuration scripts since it changes the signature of m5.switchCpus().
|
#
9520:ea7c03ae2d5e |
|
15-Feb-2013 |
Andreas Sandberg <Andreas.Sandberg@ARM.com> |
config: Cleanup CPU configuration
The CPUs supported by the configuration scripts used to be hard-coded. This was not ideal for several reasons. For example, the configuration scripts depend on all CPU models even though only a subset might have been compiled.
This changeset adds a new module to the configuration scripts that automatically discovers the available CPU models from the compiled SimObjects. As a nice bonus, the use of introspection allows us to automatically generate a list of available CPU models suitable for printing. This list is augmented with the Python doc string from the underlying class if available.
|
#
9518:8faae62af8c3 |
|
15-Feb-2013 |
Andreas Sandberg <Andreas.Sandberg@ARM.com> |
cpu: Add CPU metadata om the Python classes
The configuration scripts currently hard-code the requirements of each CPU. This is clearly not optimal as it makes writing new configuration scripts painful and adding new CPU models requires existing scripts to be updated. This patch adds the following class methods to the base CPU and all relevant CPUs:
* memory_mode -- Return a string describing the current memory mode (invalid/atomic/timing).
* require_caches -- Does the CPU model require caches?
* support_take_over -- Does the CPU support CPU handover?
|
#
9494:50da272a1300 |
|
10-Feb-2013 |
Andreas Sandberg <andreas@sandberg.pp.se> |
config: Don't call sys.exit in interactive mode in run()
The run() method in Simulation.py used to call sys.exit() when the simulator exits. This is undesirable when user has requested the simulator to be run in interactive mode since it causes the simulator to exit rather than entering the interactive Python environment.
|
#
9460:5532a1642108 |
|
08-Jan-2013 |
Ali Saidi <saidi@eecs.umich.edu> |
config: Fix issue with changeset: a4739b6f799d.
|
#
9457:a4739b6f799d |
|
08-Jan-2013 |
LluĂs Vilanova <vilanova@ac.upc.edu> |
util: add m5_fail op.
Used as a command in full-system scripts helps the user ensure the benchmarks have finished successfully.
For example, one can use:
/path/to/benchmark args || /sbin/m5 fail 1
and thus ensure gem5 will exit with an error if the benchmark fails.
|
#
9433:34971d2e0019 |
|
07-Jan-2013 |
Andreas Sandberg <Andreas.Sandberg@ARM.com> |
cpu: Rename defer_registration->switched_out
The defer_registration parameter is used to prevent a CPU from initializing at startup, leaving it in the "switched out" mode. The name of this parameter (and the help string) is confusing. This patch renames it to switched_out, which should be more descriptive.
|
#
9344:7f966113afd1 |
|
02-Nov-2012 |
Andreas Sandberg <Andreas.Sandberg@arm.com> |
python: Rename doDrain()->drain() and make it do the right thing
There is no point in exporting the old drain() method in Simulate.py. It should only be used internally by doDrain(). This patch moves the old drain() method into doDrain() and renames doDrain() to drain().
|
#
9326:96ae1c545fb5 |
|
02-Nov-2012 |
Andreas Sandberg <Andreas.Sandberg@arm.com> |
Partly revert [4f54b0f229b5] and move draining to m5.changeToTiming
Changeset 4f54b0f229b5 removed the call to doDrain in changeToTiming based on the assumption that the system does not need draining when running in atomic mode. This is a false assumption since at least the System class requires the system to be drained before it allows switching of memory modes. This patch reverts that part of the changeset.
|
#
9221:4f54b0f229b5 |
|
12-Sep-2012 |
Joel Hestness <hestness@cs.wisc.edu> |
Standard Switch: Drain the system before switching CPUs When switching from an atomic CPU to any of the timing CPUs, a drain is unnecessary since no events are scheduled in atomic mode. However, when trying to switch CPUs starting with a timing CPU, there may be events scheduled. This change ensures that all events are drained from the system by calling m5.drain before switching CPUs.
|
#
9215:a67412670f37 |
|
11-Sep-2012 |
Andreas Hansson <andreas.hansson@arm.com> |
Checkpoint: Pass maxtick to avoid undefined variable
This patch fixes a bug in scriptCheckpoints, where maxtick was used undefined. The bug caused checkpointing by means of --take-checkpoints to fail.
|
#
9156:38dd0780322a |
|
21-Aug-2012 |
Andreas Hansson <andreas.hansson@arm.com> |
Checkpoint: Fix broken checkpointing functionality
This patch fixes the checkpointing by ensuring that the directory is passer to the scriptCheckpoints function, and that the num_checkpoints is not used before it is initialised.
|
#
9151:a4faa7dde56c |
|
15-Aug-2012 |
Anthony Gutierrez <atgutier@umich.edu> |
configs: add option for repeatedly switching back-and-forth between cpu types.
This patch adds a --repeat-switch option that will enable repeat core switching at a user defined period (set with --switch-freq option). currently, a switch can only occur between like CPU types. inorder CPU switching is not supported.
*note* this patch simply allows a config that will perform repeat switching, it does not fix drain/switchout functionality. if you run with repeat switching you will hit assertion failures and/or your workload with hang or die.
|
#
9140:cfd2a8364ea1 |
|
06-Aug-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Simulation.py: move code related to checkpointing to functions This patch moves the code related to checkpointing from the run() function to several different functions. The aim is to make the code more manageable. No functionality changes are expected, but since the code is kind of unruly, it is possible that some change might have creeped in.
|
#
9139:ee038fbbe5d2 |
|
06-Aug-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Config: change how cpu class is set This changes the way in which the cpu class while restoring from a checkpoint is set. Earlier it was assumed if cpu type with which to restore is not same as the cpu type with the which to run the simulation, then the checkpoint should be restored with the atomic cpu. This assumption is being dropped. The checkpoint can now be restored with any cpu type, the default being atomic cpu.
|
#
9129:b57966a6c512 |
|
23-Jul-2012 |
Andreas Hansson <andreas.hansson@arm.com> |
Config: Use clock option in se/fs script and pass to switch_cpus
This patch changes the se and fs script to use the clock option and not simply set the CPUs clock to 2 GHz. It also makes a minor change to the assignment of the switch_cpus clock to allow different clocks.
|
#
8919:c1366a30d5eb |
|
27-Mar-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Config: Move setWorkCountOptions() to Simulation.py The function is presently defined in FSConfig.py, which does not seem to be the correct place for it.
|
#
8887:20ea02da9c53 |
|
09-Mar-2012 |
Geoffrey Blake <geoffrey.blake@arm.com> |
CheckerCPU: Make CheckerCPU runtime selectable instead of compile selectable
Enables the CheckerCPU to be selected at runtime with the --checker option from the configs/example/fs.py and configs/example/se.py configuration files. Also merges with the SE/FS changes.
|
#
8803:f6c5785bc8fd |
|
28-Jan-2012 |
Gabe Black <gblack@eecs.umich.edu> |
SE/FS: Get rid of FULL_SYSTEM in the configs directory
|
#
8724:7b4d80b26e35 |
|
26-Jan-2012 |
Ronald Dreslinski <rdreslin@umich.edu> |
configs: A more realistic configuration of an ARM-like processor
|
#
8718:062bf3879857 |
|
23-Jan-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Config: Enable using O3 CPU and Ruby in SE mode
|
#
8689:ec5f79b99ac3 |
|
11-Jan-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Config: Add support for restoring using a timing CPU Currently there is an assumption that restoration from a checkpoint will happen by first restoring to an atomic CPU and then switching to a timing CPU. This patch adds support for directly restoring to a timing CPU. It adds a new option '--restore-with-cpu' which is used to specify the type of CPU to which the checkpoint should be restored to. It defaults to 'atomic' which was the case before.
|
#
8649:c3e7a961c727 |
|
05-Jan-2012 |
Nilay Vaish <nilay@cs.wisc.edu> |
Config: Add an option of type 'choice' for cpu type This patch adds a new option for cpu type. This option is of type 'choice' which is similar to a C++ enum, except that it takes string values as possible choices. Following options are being removed -- detailed, timing, inorder.
|
#
8318:3f37cc5d25bc |
|
23-May-2011 |
Korey Sewell <ksewell@umich.edu> |
configs: missed spot progress-interval change
|
#
8311:7b42aba8e5f2 |
|
20-May-2011 |
Korey Sewell <ksewell@umich.edu> |
configs: cleanup redundant/unused options maxinsts & max_inst redundant prog_intvl and profile seem redundant, but profile looks to be unused add -p option for progress intervals
|
#
8211:5275c2fbe957 |
|
04-Apr-2011 |
Anthony Gutierrez <atgutier@umich.edu> |
Sim: Fix Simulation.py to allow more than 1 core for standard switching.
This patch moves the assignment of testsys.switch_cpus, testsys.switch_cpus_1, switch_cpu_list, and switch_cpu_list1 outside of the for loop so they are assigned only once, after switch_cpus and switch_cpus_1 are constructed.
|
#
7766:1252ec1c8714 |
|
17-Nov-2010 |
Gabe Black <gblack@eecs.umich.edu> |
Config: Change misleading "cycle" message to say "tick".
Most of the messages in the config scripts that report a time value already print "@ tick" followed by the current tick value, but a few were printing "@ cycle". Since this is a distinction that's frequently confusing to new users, this changes those message to the more accurate and consistent "@ tick".
|
#
7534:c76a14014c27 |
|
17-Aug-2010 |
Steve Reinhardt <steve.reinhardt@amd.com> |
misc: add some AMD copyright notices Meant to add these with the previous batch of csets.
|
#
7531:f5e86115a07a |
|
17-Aug-2010 |
Steve Reinhardt <steve.reinhardt@amd.com> |
sim: fold checkpoint restore code into instantiate() The separate restoreCheckpoint() call is gone; just pass the checkpoint dir as an optional arg to instantiate(). This change is a precursor to some more extensive reworking of the startup code.
|
#
7530:89b6893554f5 |
|
17-Aug-2010 |
Steve Reinhardt <steve.reinhardt@amd.com> |
configs: clean up checkpoint code in Simulation.py Small change to clean up some redundant code. Should not have any functional impact.
|
#
7525:722f2ad014a7 |
|
17-Aug-2010 |
Steve Reinhardt <steve.reinhardt@amd.com> |
sim: make Python Root object a singleton Enforce that the Python Root SimObject is instantiated only once. The C++ Root object already panics if more than one is created. This change avoids the need to track what the root object is, since it's available from Root.getInstance() (if it exists). It's now redundant to have the user pass the root object to functions like instantiate(), checkpoint(), and restoreCheckpoint(), so that arg is gone. Users who use configs/common/Simulate.py should not notice.
|
#
7489:26cd0ad262d0 |
|
06-Jul-2010 |
Steve Reinhardt <steve.reinhardt@amd.com> |
util: add a script for testing checkpointing See comments in util/checkpoint-tester.py for details.
|
#
6776:463aab78c057 |
|
18-Nov-2009 |
Brad Beckmann <Brad.Beckmann@amd.com> |
m5: Added option to take a checkpoint at the end of simulation
|
#
6654:4c84e771cca7 |
|
22-Sep-2009 |
Nathan Binkert <nate@binkert.org> |
python: Move more code into m5.util allow SCons to use that code. Get rid of misc.py and just stick misc things in __init__.py Move utility functions out of SCons files and into m5.util Move utility type stuff from m5/__init__.py to m5/util/__init__.py Remove buildEnv from m5 and allow access only from m5.defines Rename AddToPath to addToPath while we're moving it to m5.util Rename read_command to readCommand while we're moving it Rename compare_versions to compareVersions while we're moving it.
|
#
6641:59f08019c39a |
|
16-Sep-2009 |
Korey Sewell <ksewell@umich.edu> |
configs: add maxinsts option on command line -option to allow threads to run to a max_inst_any_thread which is more useful/quicker in a lot of cases then always having to figure out what tick to run your simulation to.
|
#
6174:7e5c7412ac89 |
|
05-May-2009 |
Korey Sewell <ksewell@umich.edu> |
cpus: fix cpu progress event this was double scheduling itself (once in constructor and once in cpu code). also add support for stopping / starting progress events through repeatEvent flag and also changing the interval of the progress event as well
|
#
6144:e330f7bc22ef |
|
05-May-2009 |
Korey Sewell <ksewell@umich.edu> |
cpus: fix cpu progress event this was double scheduling itself (once in constructor and once in cpu code). also add support for stopping / starting progress events through repeatEvent flag and also changing the interval of the progress event as well
|
#
6107:52a5e1c63380 |
|
21-Apr-2009 |
Steve Reinhardt <steve.reinhardt@amd.com> |
Minor tweaks for future Ruby compatibility.
|
#
5869:acbe11bbfe68 |
|
10-Feb-2009 |
Korey Sewell <ksewell@umich.edu> |
Configs: Add support for the InOrder CPU model
|
#
5822:05ffa2c3c800 |
|
30-Jan-2009 |
Ali Saidi <saidi@eecs.umich.edu> |
Errors: Print a URL with a hash of the format string to find more information about an error.
|
#
5378:7c058e69f257 |
|
15-Mar-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
Simpoints: Fix regression bug/Don't set process.simpoint, if simpoint doesn't exist
|
#
5371:dce5a8655829 |
|
29-Feb-2008 |
Lisa Hsu <hsul@eecs.umich.edu> |
Error out if -s is used without --caches (instead of saying you must specify a CPU).
|
#
5370:b16ec4d7e77c |
|
29-Feb-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
Configs: Make sure options don't conflict
|
#
5369:9358355117b0 |
|
28-Feb-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
Configs: Fix some bugs we introduced in the simpoints code
|
#
5361:e379019a1abd |
|
27-Feb-2008 |
Rick Strong <rstrong@cs.ucsd.edu> |
Configs: Make using Simpoints easier with some config files that support them easily
|
#
5353:487d6f3291d7 |
|
22-Feb-2008 |
Vilas Sridharan <vilas.sridharan@gmail.com> |
add instruction count fast forwaing and max instruction options
|
#
5347:f15b21a5bd2e |
|
14-Feb-2008 |
Ali Saidi <saidi@eecs.umich.edu> |
Configs: Change Simulation.py to return a subclass of the CPU models rather than the original class. Without this changes elsewhere in the config script (e.g. the DriveSys frequency can change the TestSys frequency.
|
#
5311:9ed42a2315ae |
|
18-Dec-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Checkpointing: Fix a bug in the simulation script when restoring without standard switch and change some ifs to work with the default port since every port is now connected to something.
|
#
5211:f7412cfae319 |
|
03-Nov-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Checkpoint: Use checkpoint_dir, if that is not set use outdir (-d), and if that isn't set use cwd.
|
#
5185:d970c1ec39c9 |
|
25-Oct-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Checkpoints: Change Simulation.py to not go crazy if the simulation ends before the number of checkpoints requested are created.
|
#
5073:1916291dcfda |
|
12-Sep-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Checkpointing: Fix directory regex
|
#
5072:ff0e3c84a1de |
|
12-Sep-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
Checkpointing: Force drain/resume when switching a CPU
|
#
4167:ce5d0f62f13b |
|
06-Mar-2007 |
Nathan Binkert <binkertn@umich.edu> |
Move all of the parameters of the Root SimObject so they are directly configured by python. Move stuff from root.(cc|hh) to core.(cc|hh) since it really belogs there now. In the process, simplify how ticks are used in the python code.
|
#
3999:ba54519a7a92 |
|
30-Jan-2007 |
Ali Saidi <saidi@eecs.umich.edu> |
fix some checkpointing annoyances -m works as you think it should Ctrl-C actually ends the simulation now
|
#
3681:129a68314264 |
|
26-Nov-2006 |
Kevin Lim <ktlim@umich.edu> |
Include check for making sure caches are enabled.
|
#
3631:cebd6af96efd |
|
09-Nov-2006 |
Kevin Lim <ktlim@umich.edu> |
Merge ktlim@zizzer:/bk/newmem into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-busfix
|
#
3514:b166ee5dce91 |
|
09-Nov-2006 |
Kevin Lim <ktlim@umich.edu> |
Clean up config scripts to not have to worry about attaching a cache only to the TimingCPU. Now the Atomic CPU works with caches.
configs/common/Simulation.py: Atomic CPU now works properly with caches, so we don't have to do extra parsing to hook up caches only to the timing CPU.
However the O3CPU must always use caches, so a check for that must still exist.
Also change the switch_cpus to be placed at the system level, now that Steve changed how the IntrController gets its CPU. configs/example/fs.py: configs/example/se.py: Atomic CPU now handles caches.
|
#
3511:8cb26619b6ec |
|
08-Nov-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
simplify maxtick parsing in both the python and the c++.
configs/common/Simulation.py: simplify maxtick code a little bit - instead of checking for -1, just set it at MaxTick. src/python/m5/__init__.py: make a new m5 param called MaxTick. src/sim/host.hh: fix the M5 def. of MaxTick src/sim/main.cc: Simplify the MaxTick/num_cycles parsing within main.cc
|
#
3509:ff94a3eda992 |
|
08-Nov-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
change to os.path.join like nate wanted.
|
#
3481:14362d3b0756 |
|
01-Nov-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
factor some more commone code and enable going from checkpoint into arbitrary CPU with or without caches.
configs/common/Simulation.py: enable going from checkpoint into arbitrary CPU with or without caches.
|
#
3480:c1ec938d2920 |
|
01-Nov-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
make it so that you can do a standard switch without the caches option. this will have only the o3 cpu have a cache, rather than timing (warmup) + o3 have cache.
|
#
3478:b2372d54182c |
|
01-Nov-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
change name of 2nd switch_cpu so that ckpt recovery with multiple cpus doens't get confused.
|
#
3477:eaf445891a4e |
|
31-Oct-2006 |
Kevin Lim <ktlim@umich.edu> |
Fix up configs.
configs/common/Simulation.py: Remove mem parameter. configs/example/se.py: Remove debug output that got included in my other push.
|
#
3448:bb2632fa57dc |
|
30-Oct-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
se.py, fs.py: import Caches Simulation.py: Fix typo - L2Cache --> L1Cache
configs/common/Simulation.py: Fix typo - L2Cache --> L1Cache configs/example/fs.py: configs/example/se.py: import Caches
|
#
3447:258e3c319f6f |
|
30-Oct-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
ensure that there is a "/" between the cptdir and the cpt.%d.
|
#
3445:5c5f90f5506c |
|
30-Oct-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
decouple the switch option from the warmup period option - parsing was confused otherwise, oops.
|
#
3410:ef75e2c78b2d |
|
30-Oct-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
add some comments and make the warmup period in a switchover parameterizable.
configs/common/Options.py: make the warmup period in a standard switch part of the option. configs/common/Simulation.py: add some comments and also make the warmup period an option.
|
#
3395:49e674f2fb5d |
|
27-Oct-2006 |
Lisa Hsu <hsul@eecs.umich.edu> |
factor out common run code from se.py and fs.py.
configs/example/fs.py: factor out common code. configs/example/se.py: factor out common code
|