summaryrefslogtreecommitdiff
path: root/sim
AgeCommit message (Collapse)Author
2005-04-06full_system isn't a useful parameter anymore, get rid of it.Nathan Binkert
python/m5/objects/Root.mpy: sim/universe.cc: util/stats/stats.py: full_system isn't a useful parameter --HG-- extra : convert_revision : 557091be1faa3cf121c55102aba4e6f4c1bd45ef
2005-03-29expose variables for number of global events per simulated second,Nathan Binkert
millisecond, microsecond, etc. so that the user can explicitly convert between system ticks and time and know what sorts of expensive operations are being used for that conversion. arch/alpha/alpha_tru64_process.cc: arch/alpha/pseudo_inst.cc: dev/etherdump.cc: dev/etherlink.cc: dev/ns_gige.cc: dev/sinic.cc: dev/tsunami_io.cc: dev/uart.cc: sim/stat_control.cc: sim/syscall_emul.hh: Use the new variables for getting the event clock dev/etherdump.hh: delete variables that are no longer needed. --HG-- extra : convert_revision : d95fc7d44909443e1b7952a24ef822ef051c7cf2
2005-03-16No need for this ifdef, since the entire process.hh is surounded by an ↵Ron Dreslinski
ifndef FULL_SYSTEM --HG-- extra : convert_revision : 81009e5c468eaaee06c83c35f1d05ed2863299a4
2005-03-16Merge zizzer:/z/m5/Bitkeeper/m5Ron Dreslinski
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1 --HG-- extra : convert_revision : 848757d0f18cfb33620cfa4b084a9b102b2744c0
2005-03-16Fix the bad addr check to check for allowable addresses in the nxm address spaceRon Dreslinski
arch/alpha/alpha_tru64_process.cc: sim/process.cc: sim/process.hh: Add an address range for the nxm sim/syscall_emul.hh: Check to make sure that if we have an nxm config space that the mmap hasn't grown into it --HG-- extra : convert_revision : e479e5240080ae488080d228bafea488835d6e77
2005-03-15Hard code the SimObject::Params structNathan Binkert
sim/sim_object.cc: Add a new constructor that can take the params struct and tweak the old one to create a params struct if we use the old constructor. sim/sim_object.hh: Hard code a Params struct for SimObject that all other params structs can derive from. Move the name string into the struct and update the code accordingly. New constructor that takes the params struct. --HG-- extra : convert_revision : 30761dab31d7257f9e8c864dcd6cae37309163f2
2005-03-14- Add capability to auto-generate Param structs fromSteve Reinhardt
.mpy SimObject descriptions. Structs are defined in simobj/param/ObjectName.hh. - Move compile-time python params (from CPPDEFINES) to separate dict from run-time params (from os.environ). The former are needed to generate proper param structs. This also helps prevent users from messing things up by setting the wrong environment vars (which could have overridden compile-time settings in the old system). - Other misc cleanup of m5 python package. SConscript: Include simobj/SConscript build/SConstruct: Fix type in comment python/SConscript: Move CPPDEFINES dict-generating code to m5scons.flatten_defines python/m5/__init__.py: - Generate a build_env SmartDict here to hold compile-time params (passed in via __main__.m5_build_env). - Move panic and env here from config.py. python/m5/config.py: Move panic, env to top level (m5/__init__.py) python/m5/objects/BaseCPU.mpy: Use build_env instead of env for compile-time params python/m5/smartdict.py: Add some comments. sim/sim_object.hh: Include auto-generated Param struct. Not used yet, just here as proof of concept. test/genini.py: Put -E arguments in build_env as well as os.environ --HG-- extra : convert_revision : cf6f4a2565b230c495b33b18612d6030988adac5
2005-03-11stick all python stuff into a top level python directory.Nathan Binkert
create an m5 package in python/m5 move the objects package into the m5 package move the m5config into the m5 package as config leave both importers outside of the package. SConscript: sim/main.cc: move sim/pyconfig/* -> python python/SConscript: m5config.py -> m5/config.py (now automatically embedded) objects -> python/m5/objects embed all python files in python/m5 python/m5/config.py: importer renamed mpy_importer move code to m5/__init__.py test/genini.py: deal with new python organization keep track of paths we want to add and add them after parameters are parsed. --HG-- rename : sim/pyconfig/SConscript => python/SConscript rename : sim/pyconfig/m5config.py => python/m5/config.py rename : objects/AlphaConsole.mpy => python/m5/objects/AlphaConsole.mpy rename : objects/AlphaTLB.mpy => python/m5/objects/AlphaTLB.mpy rename : objects/BadDevice.mpy => python/m5/objects/BadDevice.mpy rename : objects/BaseCPU.mpy => python/m5/objects/BaseCPU.mpy rename : objects/BaseCache.mpy => python/m5/objects/BaseCache.mpy rename : objects/BaseSystem.mpy => python/m5/objects/BaseSystem.mpy rename : objects/Bus.mpy => python/m5/objects/Bus.mpy rename : objects/CoherenceProtocol.mpy => python/m5/objects/CoherenceProtocol.mpy rename : objects/Device.mpy => python/m5/objects/Device.mpy rename : objects/DiskImage.mpy => python/m5/objects/DiskImage.mpy rename : objects/Ethernet.mpy => python/m5/objects/Ethernet.mpy rename : objects/Ide.mpy => python/m5/objects/Ide.mpy rename : objects/IntrControl.mpy => python/m5/objects/IntrControl.mpy rename : objects/MemTest.mpy => python/m5/objects/MemTest.mpy rename : objects/Pci.mpy => python/m5/objects/Pci.mpy rename : objects/PhysicalMemory.mpy => python/m5/objects/PhysicalMemory.mpy rename : objects/Platform.mpy => python/m5/objects/Platform.mpy rename : objects/Process.mpy => python/m5/objects/Process.mpy rename : objects/Repl.mpy => python/m5/objects/Repl.mpy rename : objects/Root.mpy => python/m5/objects/Root.mpy rename : objects/SimConsole.mpy => python/m5/objects/SimConsole.mpy rename : objects/SimpleDisk.mpy => python/m5/objects/SimpleDisk.mpy rename : objects/Tsunami.mpy => python/m5/objects/Tsunami.mpy rename : objects/Uart.mpy => python/m5/objects/Uart.mpy extra : convert_revision : aebf6ccda33028b1125974ca8b6aeab6f7570f30
2005-03-10Removed unecessary constructor call at each return.Ali Saidi
arch/alpha/isa_traits.hh: updated copyright date --HG-- extra : convert_revision : 30c5fc0eb94138ebd4ee047ebdbff5121f95e5f1
2005-03-09Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : a61ddd67647fc6a6e8e12d918cc71ae9da69f869
2005-03-09Changed all syscalls to use syscall return object.Ali Saidi
arch/alpha/alpha_linux_process.cc: arch/alpha/alpha_tru64_process.cc: cpu/exec_context.hh: sim/process.hh: sim/syscall_emul.cc: sim/syscall_emul.hh: Changed all syscalls to use syscall return object arch/alpha/isa_traits.hh: Added syscall return object that packages return value and return status into an object. sim/process.cc: renamed variable name to nm so base class function name() can be called --HG-- extra : convert_revision : 6609c5ffecc9e3519d7a0cd160879fd21d54abfc
2005-03-09Add support for using the variables that m5 was compiled with forNathan Binkert
determining which parameters belong to a class. This allows us to remove the disable flag since it is not the correct model for variable checking anyway. objects/BaseCPU.mpy: Use the FULL_SYSTEM environment variable to enable or disable parameters. sim/pyconfig/m5config.py: remove the disable flag since it is not the correct model for variable checking. --HG-- extra : convert_revision : a8ccb78ba16d23006225df282a09187d32557608
2005-03-09We should import m5config *after* we do the CPPDEFINES stuff,Nathan Binkert
otherwise m5config and the object descriptions cannot take advantage of them. sim/pyconfig/SConscript: We should import m5config *after* we do the CPPDEFINES stuff, otherwise m5config and the object descriptions cannot take advantage of them. This means that we can't use the env dict alias. We should instead use os.environ. --HG-- extra : convert_revision : 392f99a3c15cfba74a5cde79a709ecfad3820e63
2005-03-09Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Steve Reinhardt
into zizzer.eecs.umich.edu:/z/stever/bk/m5-head --HG-- extra : convert_revision : daaeb6a596b08fbedd6a14833dcb3825c637d486
2005-03-09Fix a couple of bugs introduced (or tickled) by the .ini sorting change.Steve Reinhardt
sim/pyconfig/m5config.py: Don't sort child nodes, as this can change timing in memory system. (Really ought to be fixed in memory system, but we'll just take the sort back out for now to avoid intoducing gratuitous changes.) --HG-- extra : convert_revision : 07e950c25911443cbc7a84435969ca596fb04348
2005-03-08Pass all scons defined pre-processor macro variables to theNathan Binkert
python configuration stuff as environment variables. sim/pyconfig/SConscript: generate a python file that updates the env dict with all variables in the CPPDEFINES so the python code can use those variables in configuration scripts. --HG-- extra : convert_revision : 50b0719b044f7adc87ce6ae1571d156ca0c5644c
2005-03-08Split the string importer from the rest of the mpy parsingNathan Binkert
and importing stuff to avoid some confusion. sim/pyconfig/SConscript: Split the string importer from the rest of the importer code. The importer.py code can be embedded like m5config.py sim/pyconfig/m5config.py: import what we need from importer --HG-- extra : convert_revision : 9d57f43381b55e717b5b10adfb8f0a522280ac57
2005-03-07More restructuring on Python config code for auto-generatingSteve Reinhardt
of Param structs. objects/CoherenceProtocol.mpy: objects/Ide.mpy: Update for new Enum syntax. sim/pyconfig/m5config.py: More modest restructuring heading for auto-generating of param structs. - Revamped Enum handling: Enums are regular classes so they know their names now (makes it easier for generating C++ equivalents). - Created MetaSimObject class and moved some SimObject-specific stuff there (i.e. does not apply to ConfigNodes in general). --HG-- extra : convert_revision : a93b40dda3b038ebe8bffecac97e9079c22af561
2005-03-05Sort fields in .ini files generated by Python configSteve Reinhardt
to make it easier to diff output from modified versions. sim/pyconfig/m5config.py: Sort .ini outputs for repeatable results across versions. --HG-- extra : convert_revision : fa918f2c53635eca3a02ce02af9b320eacd1f057
2005-03-01add some comments.Nathan Binkert
sim/pyconfig/m5config.py: Add some comments to indicate what the decorators mean. --HG-- extra : convert_revision : fbcbcbe4ad8cd62f2bd12af6b1f141c66752b870
2005-02-24Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : a63405fac7237014c4ef8b765d31d59d3e1bb500
2005-02-23Fix the python panic messageNathan Binkert
sim/pyconfig/m5config.py: Fix panic --HG-- extra : convert_revision : 56d93398e992ed6e95380f6dcdb61cbee54b3893
2005-02-23Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : f149b8ea762d4a83ef76b3bb95f28e0709391ecf
2005-02-23Added mmap start and end so detailed CPU can know if an access isAli Saidi
in a mmaped region --HG-- extra : convert_revision : e4ee0520c84d94a0d2e804d02035228766abe71f
2005-02-22Small initial steps toward generating C++ param structsSteve Reinhardt
from Python object descriptions. Mostly cleanup of Python code based on things I encountered trying to figure out what's going on. Main reason I'm committing this now is to transfer work from my laptop to zizzer. sim/pyconfig/m5config.py: Small steps toward param struct generation: all param objects should now have a _cppname attribute that holds their corresponding C++ type name. Made Param ptype attribute an actual type instead of a string. String is still stored in ptype_string. Get rid of AddToPath() and Import() (redundant copies are in importer, and that seems to be the more logical place for them). Add a few comments, delete some unused code. test/genini.py: A few fixes to make the environment more compatible with what really happens when configs are executed from the m5 binary. --HG-- extra : convert_revision : 9fc8f72cd0c22ba3deada02f37484787342534f2
2005-02-19Clean up CPU stuff and make it use params structsNathan Binkert
cpu/base_cpu.cc: cpu/base_cpu.hh: Convert the CPU stuff to use a params struct cpu/memtest/memtest.cc: The memory tester is really not a cpu, so don't derive from BaseCPU since it just makes things a pain in the butt. Keep track of max loads in the memtest class now that the base class doesn't do it for us. Don't have any default parameters. cpu/memtest/memtest.hh: The memory tester is really not a cpu, so don't derive from BaseCPU since it just makes things a pain in the butt. Keep track of max loads in the memtest class now that the base class doesn't do it for us. cpu/simple_cpu/simple_cpu.cc: Convert to use a params struct. remove default parameters cpu/simple_cpu/simple_cpu.hh: convert to use a params struct cpu/trace/opt_cpu.cc: cpu/trace/opt_cpu.hh: cpu/trace/trace_cpu.cc: cpu/trace/trace_cpu.hh: this isn't really a cpu. don't derive from BaseCPU objects/MemTest.mpy: we only need one max_loads parameter sim/main.cc: Don't check for the number of CPUs since we may be doing something else going on. If we don't have anything to simulate, the simulator will exit anyway. --HG-- extra : convert_revision : 2195a34a9ec90b5414324054ceb3bab643540dd5
2005-02-17Include errno.h to fix compile errors in gcc 3.4Kevin Lim
sim/main.cc: Include errno.h --HG-- extra : convert_revision : ff91579ae590b3c1d11f7468b71f295e6f3edd68
2005-02-17Fix compile on linuxNathan Binkert
sim/main.cc: For some unknown reason linux's basename doesn't take a const char * --HG-- extra : convert_revision : 30289195881e16a05429f7025abab7914a9e3eb6
2005-02-17Make code more portable.Nathan Binkert
sim/main.cc: basename is in libgen --HG-- extra : convert_revision : 1af6ff2f492b4deee9e56edfa5ee6ea235cd4eb0
2005-02-17Several tweaks to make binning work in any simulationNathan Binkert
configuration so that we can always have binning on. base/statistics.cc: If we're binning, and there is no bin active at the time we check all stats stuff, create a bin. base/statistics.hh: FS_MEASURE doesn't exist anymore base/stats/text.cc: don't print out bin names if there is only one bin sim/process.cc: don't zero stats. It happens automatically. Don't activate the context at the time it is registered, instead activate the first context in a startup callback. sim/process.hh: Add startup callback to initialize the first exec context --HG-- extra : convert_revision : bcb23cdb184b0abf7cecd79902f8a59b50f71fe4
2005-02-11Merge zizzer.eecs.umich.edu:/bk/m5Nathan Binkert
into ziff.eecs.umich.edu:/z/binkertn/research/m5/merge --HG-- extra : convert_revision : 5d73046310a64b80a6ba3832df3b30b55532d707
2005-02-11Rework the command line paramters for python output and howNathan Binkert
output files and the output directory are are handled. Make the output directory configuration via a command line parameter, or an environment variable. SConscript: Add new output file stuff base/misc.cc: dev/simconsole.cc: use new output file code cpu/base_cpu.cc: use new output file code to generate output streams dev/etherdump.cc: use the output file code to find the output directory use a real stream instead of a pointer dev/etherdump.hh: use a real stream instead of a pointer objects/Root.mpy: output_dir and config_output_file are not longer configured here. sim/main.cc: - Completely rework the command line argument passing to deal with changes in python and output files. - Update help output to reflect changes. - Remove all direct support for .ini files. They are strictly for intermediate representation. - Remove the --foo:bar=blah syntax for .ini files and add --foo.bar=blah syntax for python. This will generate: foo.bar = 'blah' in the python script. - Add '-d' to set the output directory. - Use new output file code to access the output stream. sim/serialize.cc: use the new code to find the output directory sim/universe.cc: Get rid of makeOutputStream. Use the new output file code. Remove output_dir and config_output_file as parameters. --HG-- extra : convert_revision : df2f0e13d401c3a60cae1239aa1ec3511721544d
2005-02-11Make sure we have all values when trying to generate the ini fileNathan Binkert
sim/pyconfig/m5config.py: When getting all values, make sure we get the ones that are parameter defaults as well. --HG-- extra : convert_revision : 2b1c4b2f27dfab17ef9df18d7e5936e4a00bb12e
2005-02-09More fixes to the pbs stuff to make it more robust.Nathan Binkert
sim/pyconfig/SConscript: Embed the jobfile.py script into the binary so that we don't need to copy it into the Base directory every time. test/genini.py: Add the util/pbs directory to the path so we can get to jobfile.py Add a -I argument to set to add to the path. util/pbs/pbs.py: Create a MyPOpen class. This is a lot like the popen2.Popen3 class in the python library except that my version allows redirection of standard in and standard out to a file instead of a pipe. Use this popen class to execute qsub or ssh qsub. This was important for the ssh version of qsub because we need to pipe the script into standard in of ssh so that the script can get to the qsub command. (Otherwise we have a problem discovering the path.) util/pbs/send.py: Tweak the script so it figures out paths in NFS correctly. Use the new system for running qsub. --HG-- extra : convert_revision : 1289915ba99cec6fd464b71215c32d2197ff2824
2005-02-09enable the Trace, Statistics, and Serialize param contexts.Nathan Binkert
objects/Root.mpy: Fake the param context stuff for now. sim/param.cc: Make empty vector enums work sim/serialize.cc: serialize_dir is always valid --HG-- extra : convert_revision : c46373f0f4c70e6a2f01a81c0fa6bacab72d4c4f
2005-02-09Fix the panic message so that it looks more like M5's panic.Nathan Binkert
Make it so the same path is not added to the system path twice. --HG-- extra : convert_revision : fe18db38cc4e335ad3525a364e9f8faf62b60e52
2005-02-09fix indent (so emacs and vi aren't screwed up.)Nathan Binkert
--HG-- extra : convert_revision : 589f37476fec14aa5e3c6e018631e291113d4e69
2005-02-03get rid of defined and just access the env dict directlyNathan Binkert
get rid of the alias for true to True and false to False to keep consistent python syntax. util/stats/info.py: Fix typo --HG-- extra : convert_revision : e69588a8de52424e043315e70008ca3a3ede7d5b
2005-02-03small python config related fixes.Nathan Binkert
dev/simconsole.cc: sim/universe.cc: isValid isn't compatible with new python stuff, so whack it. --HG-- extra : convert_revision : 0c50038769a558650479c51122a8be5d92e7d9c4
2005-02-02Update config file language to take simobj and no longer use siminstNathan Binkert
objects/AlphaConsole.mpy: objects/AlphaTLB.mpy: objects/BadDevice.mpy: objects/BaseCPU.mpy: objects/BaseCache.mpy: objects/BaseSystem.mpy: objects/Bus.mpy: objects/CoherenceProtocol.mpy: objects/Device.mpy: objects/DiskImage.mpy: objects/Ethernet.mpy: objects/Ide.mpy: objects/IntrControl.mpy: objects/MemTest.mpy: objects/Pci.mpy: objects/PhysicalMemory.mpy: objects/Platform.mpy: objects/Process.mpy: objects/Repl.mpy: objects/Root.mpy: objects/SimConsole.mpy: objects/SimpleDisk.mpy: objects/Tsunami.mpy: objects/Uart.mpy: simobj now requires a type= line if it is actually intended to be a type sim/pyconfig/SConscript: keep track of the filename of embedded files for better error messages. sim/pyconfig/m5config.py: Add support for the trickery done with the compiler to get the simobj language feature added to the importer. fix the bug that gave objects the wrong name in error messages. test/genini.py: Globals have been fixed and use execfile --HG-- extra : convert_revision : b74495fd6f3479a87ecea7f1234ebb6731279b2b
2005-01-27Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : ed089f6062639ae5be930fbaea3dd7f7622653cc
2005-01-27added support for outputing Dot if pydot is installedAli Saidi
--HG-- extra : convert_revision : bdb1032cddb2478e999399647f893d320260ef7e
2005-01-21Merge zizzer.eecs.umich.edu:/bk/m5Kevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new --HG-- extra : convert_revision : e802c800a478c297d3aa780a9ea3c6701453d91d
2005-01-21Add a couple statistics contexts.Nathan Binkert
arch/alpha/pseudo_inst.cc: rename the context for consistency. sim/pyconfig/m5config.py: Add a ParamContext class so that param contexts work with the new config stuff. --HG-- extra : convert_revision : 3a6b583a25c86237baca7a2b4eccc9d12f86a384
2005-01-18Merge zizzer.eecs.umich.edu:/bk/m5Kevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/m5-patched/m5-new --HG-- extra : convert_revision : c51d9a7361d8e3c23e9494640c66df8505322b00
2005-01-18More configuration fixesNathan Binkert
sim/pyconfig/m5config.py: put panic, AddToPath, and Import here so they're always available. --HG-- extra : convert_revision : 104dba5ccac0d64479b4109d477b5192c4b07a6e
2005-01-18Merge changes to make m5 g++ 3.4 compatible.Kevin Lim
sim/param.cc: Merge changes. --HG-- extra : convert_revision : b5044e1f7c48ae2d74d5233dd4fabfb7a801d7c8
2005-01-17Config cleanupsNathan Binkert
sim/pyconfig/m5config.py: Remove unused code remove the defined() function that was masking the one that I really wanted test/genini.py: Add the directory that a script was executed from to the path --HG-- extra : convert_revision : a1861065b2de46d77c94691d0c5a7865cdce0f09
2005-01-17get the exit condition for the python code rightNathan Binkert
sim/main.cc: get the exit condition right --HG-- extra : convert_revision : 0dada3d68492c46981c51d3de0de409b282bb13b
2005-01-17Add the pentium 4 configuration. Add some command line optionsNathan Binkert
to M5 to support the python configuration stuff. sim/main.cc: Make the -I option update the include path for phython as well as cpp Make the -P option pass a raw python string to the interpreter Make the -E option add strings to the environment Break up the various steps of python processing to accomidate multiple files and the various new options test/genini.py: Make this executable --HG-- extra : convert_revision : 6acc50d2e4367c5ceaee013db987c8a1db924df3