way ranges work, more fully support metric prefixes for all
integer types, and convert memory sized parameters to the
MemorySize type.
python/m5/config.py:
- no more _Param and _ParamProxy stuff. Use the names
ParamBase and ParamFactory to hopefully make it clearer
what we intend.
- Get rid of RangeSize and the old Range class and more fully flesh
out the Range class to deal with types of parameters and different
kinds of ranges.
- Call toInteger on the CheckedInt types so we can use metric prefixes
in strings for all integers.
- Get rid of the K, M, and G constants. Use the proper type or call
one of the functions in the convert package.
python/m5/convert.py:
Simple way to deal with both floating point and integer strings.
python/m5/objects/BaseCache.mpy:
python/m5/objects/Ethernet.mpy:
This is a MemorySize typed parameter
--HG--
extra : convert_revision : 92b4ea662d723abdd6c0a49065b79c25400fac9b
python/m5/config.py:
search for any base class that is a confignode instead of those
that derive from param type so that non-type classes work
too. (Those that are just derived from ConfigNode and not
SimObject.)
--HG--
extra : convert_revision : 422181b2e5efd4675ec34adcffecfb58eee0e4e7
cleaner.
python/m5/config.py:
Use the multidict instead of the separately coded _getparam
and _getvalue stuff. While we're at it, when we see a default
parameter, we stick it into the dictionary right away.
--HG--
extra : convert_revision : d6f6f5cc454a479e27718ec7952cd7559229ebe7
python/m5/config.py:
Turn back on the sorting of sim objects so we get consistent
output. This can lead to slight changes in stats.
--HG--
extra : convert_revision : 8ef9bd534cd2344acd69af7f52ee90b8b1afeb24
Mostly cleanup of mpy_importer.mpy_parse().
python/m5/__init__.py:
Move panic() up to top in case we want to use it
in mpy_importer (though I ended up not doing that
after all).
python/m5/config.py:
Add a couple of comments and a check for expressions
like parent.any.foo (which is illegal).
--HG--
extra : convert_revision : dfc99ac9b1a2d91a736ca0b773b6d3c528a4f3cc
python/m5/config.py:
Allow proxies to refer to other proxies and resolve by recurseivly calling unproxy().
Not sure this works completely (since I don't have any examples to test it on)
but it doesn't seem to break any existing config scripts.
--HG--
extra : convert_revision : d7fc272d0777d85f89104dfb5d1c5e4d8ddd6d6f
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
python/m5/config.py:
- Enhanced Proxy class now supports subscripting, e.g.,
parent.cpu[0] or even parent.cpu[0].icache.
- Proxy also supports multiplication (e.g., parent.cycle * 3),
though this feature has not been tested.
- Subscript 0 works even on non-lists, so you can safely say
cpu[0] and get the first cpu even if there's only one.
- Changed name of proxy object from 'Super' to 'parent', and
changed "wild card" notation from plain 'Super' to 'parent.any'.
python/m5/objects/AlphaConsole.mpy:
python/m5/objects/BaseCPU.mpy:
python/m5/objects/BaseSystem.mpy:
python/m5/objects/Device.mpy:
python/m5/objects/Ethernet.mpy:
python/m5/objects/Ide.mpy:
python/m5/objects/IntrControl.mpy:
python/m5/objects/Pci.mpy:
python/m5/objects/PhysicalMemory.mpy:
python/m5/objects/Platform.mpy:
python/m5/objects/SimConsole.mpy:
python/m5/objects/SimpleDisk.mpy:
python/m5/objects/Tsunami.mpy:
python/m5/objects/Uart.mpy:
Change 'Super.foo' to 'parent.foo' (and 'Super' to 'parent.any').
--HG--
extra : convert_revision : f996d0a3366d5e3e60ae5973691148c3d7cd497d
data too early (before the cache miss completed) and therefore
writing freeded memory after the cache miss completed.
Also removed some spurious setAddr() and setData() calls.
--HG--
extra : convert_revision : 3da82540c69c4c417aba3ed155e167d09431a1b2
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