.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
python/m5/config.py:
Add 'panic' to __all__ (some of Nate's scripts use it).
--HG--
extra : convert_revision : ae3e2398dffe3edd17ee0155f38bc757d3552df2
python/m5/config.py:
Add issequence to __all__ export list.
Added some more comments too.
--HG--
extra : convert_revision : 17cd9205e43fe276f71563fcb96ec3c5069fcc86
- global tracking of legitimate param types in
separate dict keeps us from having to import
objects in config.py, which gets rid of nasty
circular dependence
- use __all__ in config.py and restrict imports
from mpy_importer to reduce m5 namespace pollution
python/m5/__init__.py:
Try to limit namespace pollution by only importing
what's needed from mpy_importer.
Explicitly set up legal parameter types rather than
relying on eval().
python/m5/config.py:
Use empty ParamType base class to distinguish
types that are legitimate SimObject params.
Explicitly add these to global param_types map.
Rework CheckedInt and Range classes a little bit
to fit in better with the model.
No need to import objects here any longer.
Add __all__ list to specify subset of names that
get exported on 'from m5.config import *'.
--HG--
extra : convert_revision : 01c6e82e0b175fc9b3df25dd0cc80ecd842680bc
Random some small config file stuff
dev/pcidev.cc:
objects/Pci.mpy:
remove addr since it's not used
--HG--
extra : convert_revision : aeb5993552d65a5e3b57f393bcb7d8aaadf6b5a2
the m5 package as convert.py
add a smartdict class which stores strings and can intelligently
interpret those string variables as several other types.
make the env dict use the smartdict class
python/m5/config.py:
move a bunch of conversion functions into convert.py
turn the env dict into a smartdict
adapt the _CheckedInt stuff to deal with derived types
python/m5/objects/BaseCPU.mpy:
env is now a smartdict and can properly convert to bool
--HG--
extra : convert_revision : 8abcd35a5ab14b82f280aea59020953869e33365
python/m5/config.py:
move the type stuff into the Node constructor and
only try to grab self.type if the realtype is a SimObject
--HG--
extra : convert_revision : 00f6ece47e3812f67f9e1f062fe9c060bd6dd1cf
ROOTDIR = root directory of the splash2 code
NP = number of proccessors
BENCHMARK = name of the splash2 benchmark (Cholesky, FFT, LUContig, LUNoncontig, Radix, Barnes, FMM, OceanContig, OceanNoncontig, Raytrace, WaterNSquared, or WaterSpatial)
SYSTEM = Type of system to simulate detailed or simple
Note: They use MOESI protocol and do_events is enabled (Multiple L1's and a shared L2)
--HG--
extra : convert_revision : c39aa73825ea8108b6c32abd4a4fa4c23391ab09
test/genini.py:
import m5config after environment variables are setup so
the behaviour is more like that of the simulator and so
what are normally compile-time variables like FULL_SYSTEM
can be properly set from the command line.
--HG--
extra : convert_revision : 1951d3015b091338724b66a3a86a818f9ac97b26
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
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
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
util/tracediff:
Fix to work with new parameter and output directory structure.
--HG--
extra : convert_revision : 421ed14fa02df7c9e95eb93f4d36b9ff046f1e39
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
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
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
cpu/static_inst.hh:
Hand-merge. These execute functions are within an external file in the new CPU case.
--HG--
extra : convert_revision : a34112f471fa31bdd5bb53552ddd704b9571c110
dev/etherlink.cc:
- The EtherLink::Link object is no lonver serializable, so it is now
necessary to prepend the object's name (as determined by the parent)
to all parameters.
- Fix the serialization of the LinkDelayEvent so it actually works
- Rename some variables to make serialization simpler
dev/etherlink.hh:
- Make the EtherLink::Link object *not* derive from serializeable.
Instead, the serialize function will take a base name from
the parent EtherLink object and prepend that base name to each of
its variable names when serializing. This is similar to the
PacketData and PacketFifo classes.
- Make the EtherLink::Link object keep a pointer to its parent and its
link number so the LinkDelayEvent can be properly serialized.
- Rename some variables to make serialization simpler.
--HG--
extra : convert_revision : e5aa54cd9e07b5e033989809100e1640abfb8bed
benchmark begins properly.
configs/boot/nat-netperf-maerts-client.rcS:
Fix the echo message
configs/boot/nat-netperf-server.rcS:
Wait a second before signalling the natbox to make sure it's
had time to boot.
Fix echo message.
--HG--
extra : convert_revision : f9d32c98f24b9617ebf917790a4ca554b7b02bba
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