Commit graph

1580 commits

Author SHA1 Message Date
Steve Reinhardt
bc2923f78d Move adding SRCDIR/python to sys.path from
multiple SConscript files to SConstruct.

build/SConstruct:
    Add SRCDIR/python to sys.path here.
python/SConscript:
    Move adding SRCDIR/python to sys.path to SConstruct.

--HG--
extra : convert_revision : f598d670650f5b4fd501caaf073fe38b44d21855
2005-03-14 14:43:10 -05:00
Steve Reinhardt
076e1ebac2 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 9ac1a3bcbfce79300da3f1cb174239897275d8b4
2005-03-14 11:34:50 -05:00
Lisa Hsu
81169916aa print the daddr to pciconfigall DPRINTF.
--HG--
extra : convert_revision : d13ce459d5dac026e596f0bb3ba801b1dbed9ed0
2005-03-14 11:16:27 -05:00
Lisa Hsu
b12f9321ff Ron's fix to some of the No supplier problems, don't deal with badaddrs.
--HG--
extra : convert_revision : 442edd3c49333fc59953dd089eaaaee4f7b23deb
2005-03-14 11:15:41 -05:00
Lisa Hsu
e7a106eec1 fix the etherdev2 connection so that nat runs work.
--HG--
extra : convert_revision : 8ad4d460836b456b29e5b4ab03081d4af622fb38
2005-03-14 10:23:43 -05:00
Steve Reinhardt
de4aa84154 Move mpy_importer into m5 package (it logically
belongs there since it's so tied in with m5.config).

python/SConscript:
    mpy_importer.py now in m5 package

--HG--
extra : convert_revision : 3cd7af4e1cd9338aa6bed5306c824ac5f0965085
2005-03-14 07:52:41 -05:00
Steve Reinhardt
1b841a871e - Add capability to auto-generate Param structs from
.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-14 07:46:26 -05:00
Steve Reinhardt
82964b2705 Minor Python config bug fix.
python/m5/config.py:
    Add 'panic' to __all__ (some of Nate's scripts use it).

--HG--
extra : convert_revision : ae3e2398dffe3edd17ee0155f38bc757d3552df2
2005-03-13 01:21:23 -05:00
Steve Reinhardt
d94f5bfb04 A few fixes after trying one of Nate's job scripts.
python/m5/config.py:
    Add issequence to __all__ export list.
    Added some more comments too.

--HG--
extra : convert_revision : 17cd9205e43fe276f71563fcb96ec3c5069fcc86
2005-03-13 00:54:34 -05:00
Steve Reinhardt
8dff74b26f Clean up import situation... key things are:
- 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
2005-03-13 00:36:06 -05:00
Nathan Binkert
3bbddb43d4 fix syntax error that affected split configurations.
--HG--
extra : convert_revision : db462e57736ccd3b6d21a06f2014eb0850a9ae90
2005-03-12 09:42:08 -05:00
Ali Saidi
e0d52f56e1 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
rename : objects/Pci.mpy => python/m5/objects/Pci.mpy
extra : convert_revision : 6902e8f9c2a309eb1846094a94b38018587a3761
2005-03-11 19:34:43 -05:00
Ali Saidi
c977d2a02b remove addr from PciConfigDevice since it's not used
Random some small config file stuff

dev/pcidev.cc:
objects/Pci.mpy:
    remove addr since it's not used

--HG--
extra : convert_revision : aeb5993552d65a5e3b57f393bcb7d8aaadf6b5a2
2005-03-11 19:34:35 -05:00
Nathan Binkert
05e07428f1 I don't know why from m5 import * doesn't work. Steve?
--HG--
extra : convert_revision : b89dcd4f329973545dc8a5660daeda9bca7050a1
2005-03-11 18:50:04 -05:00
Nathan Binkert
c393a51f4a move the conversion stuff that was in configs/kernel/Config.py into
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
2005-03-11 18:47:11 -05:00
Nathan Binkert
e6902a907e Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/current

--HG--
extra : convert_revision : abc24d21097770ad323a2c0d537d3e9424db0d7d
2005-03-11 18:32:36 -05:00
Nathan Binkert
fa1650a08e Make ConfigNodes as intermediate containers work again.
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
2005-03-11 18:30:44 -05:00
Nathan Binkert
cf05fa476d stick all python stuff into a top level python directory.
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-11 18:28:38 -05:00
Erik Hallnor
b1f41a7aa0 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5

--HG--
extra : convert_revision : a19b2143fe78625238ee0a8a4fac8193f673d933
2005-03-11 18:14:47 -05:00
Ron Dreslinski
1eb5e618de Added config files for splash2 benchmarks. Parameters:
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
2005-03-11 18:07:07 -05:00
Erik Hallnor
e03680c2f2 Fixup after merging.
--HG--
extra : convert_revision : 7736a0e62dac7ca1d5c64a1847469d17d2221b35
2005-03-11 12:40:12 -05:00
Erik Hallnor
51bdb242f9 Need to invalidate blocks by calling the invalidateBlk function, not setting status to 0.
--HG--
extra : convert_revision : b46ad0b1d665c60bef03cb711a964cb75e4e1e29
2005-03-11 12:29:47 -05:00
Kevin Lim
c12a665c31 Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5

--HG--
extra : convert_revision : a58535776cf5a3d17f8d9f65144cdf8db54289aa
2005-03-10 15:53:27 -05:00
Ron Dreslinski
aa8c9db159 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : b75a46439477b3f21333a3cc9f1721923839d14c
2005-03-10 14:53:34 -05:00
Ali Saidi
de63edb752 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : 35d9f747fcc75b80b9e4c8674f94c8c18c259f00
2005-03-10 14:20:21 -05:00
Ali Saidi
ad9b28f98e Removed unecessary constructor call at each return.
arch/alpha/isa_traits.hh:
    updated copyright date

--HG--
extra : convert_revision : 30c5fc0eb94138ebd4ee047ebdbff5121f95e5f1
2005-03-10 14:20:12 -05:00
Nathan Binkert
c9bf45ae23 Fixup checkpoint directory name
--HG--
extra : convert_revision : 8b3d03a7902484889d58319f453c181c360154ea
2005-03-10 13:52:39 -05:00
Nathan Binkert
a7f51d7861 Add better support for using checkpoints.
--HG--
extra : convert_revision : 4bd3f473be0bfae9ad2c39d982a579aedd68b6f1
2005-03-10 13:51:00 -05:00
Nathan Binkert
5af1ad62de update genini so it is more like m5
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
2005-03-10 13:38:44 -05:00
Ron Dreslinski
e51850f1d2 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : a5ee8e5187503203058da35ca44918f1ff7ae1eb
2005-03-10 11:56:07 -05:00
Ali Saidi
331460dfe8 Updated to be frequency independent
--HG--
extra : convert_revision : d1cf4183b650e10acb9c9954286b066b12e89855
2005-03-10 02:06:27 -05:00
Ali Saidi
9797eedeea fix typo in SyscallReturn Object
--HG--
extra : convert_revision : 97d34a02a29a9ac3e2256d92194e3a46b9e8021e
2005-03-10 02:01:43 -05:00
Kevin Lim
51108a8c0a Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5

--HG--
extra : convert_revision : 936710126053a7f08b1d80b935df38f5ea837f79
2005-03-09 17:59:02 -05:00
Ali Saidi
2897665685 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : a61ddd67647fc6a6e8e12d918cc71ae9da69f869
2005-03-09 15:56:29 -05:00
Ali Saidi
707a5ca06b Added new ping and memory latency stride 8 test
--HG--
extra : convert_revision : 29ab825ea971a0fd06f7e2cdc001892cef884669
2005-03-09 15:55:59 -05:00
Ali Saidi
232134a816 Changed all syscalls to use syscall return object.
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-09 15:52:10 -05:00
Nathan Binkert
7d91bda6bf Add support for using the variables that m5 was compiled with for
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-09 14:42:30 -05:00
Nathan Binkert
4a3ad218e1 We should import m5config *after* we do the CPPDEFINES stuff,
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-09 14:39:35 -05:00
Ron Dreslinski
ffaba200d1 Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 0121d59e46f0961f753c2e1bd0fa1c63642d859e
2005-03-09 13:44:19 -05:00
Lisa Hsu
21946f0710 fix typo in the fixed etherlink serialization.
dev/etherlink.cc:
    fix type in serialization.

--HG--
extra : convert_revision : 87f47db14b90f414fef9a0db869da4d7ef72216a
2005-03-09 11:04:19 -05:00
Steve Reinhardt
de540a4aee Fix tracediff to work with new parameter and output directory structure.
util/tracediff:
    Fix to work with new parameter and output directory structure.

--HG--
extra : convert_revision : 421ed14fa02df7c9e95eb93f4d36b9ff046f1e39
2005-03-09 00:22:42 -05:00
Steve Reinhardt
dbd60761f5 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5-head

--HG--
extra : convert_revision : daaeb6a596b08fbedd6a14833dcb3825c637d486
2005-03-09 00:17:20 -05:00
Steve Reinhardt
4b69debac6 Fix a couple of bugs introduced (or tickled) by the .ini sorting change.
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-09 00:17:09 -05:00
Nathan Binkert
d191b14ff7 Pass all scons defined pre-processor macro variables to the
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-08 23:06:54 -05:00
Nathan Binkert
689f6d1b02 Split the string importer from the rest of the mpy parsing
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-08 22:07:26 -05:00
Kevin Lim
2162b433ad Hand-merge static_inst.hh. These execute functions are within an external file in the new CPU case.
cpu/static_inst.hh:
    Hand-merge.  These execute functions are within an external file in the new CPU case.

--HG--
extra : convert_revision : a34112f471fa31bdd5bb53552ddd704b9571c110
2005-03-08 21:03:20 -05:00
Lisa Hsu
550e6a5010 Merge zizzer:/bk/m5 into zed.eecs.umich.edu:/z/hsul/work/m5/pact05
--HG--
extra : convert_revision : bfaaeebd7ec4ee8ee182909e928581f95ac2af93
2005-03-08 17:38:08 -05:00
Lisa Hsu
91601f4494 make some changes to bonnie - now that the simulator uses more memory the old config didn't fit anymore in pools VM, this does fit.
--HG--
extra : convert_revision : b5fef2896276be675f79791b084ba97dd953d4ca
2005-03-08 17:25:32 -05:00
Nathan Binkert
e05788935b By default, we don't want to be sampling
--HG--
extra : convert_revision : 77c1ec0f2425d24704a587ad2097dfaa6bab4a5c
2005-03-08 12:48:37 -05:00
Nathan Binkert
b9c847563d Fix serialization of the EtherLink object
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
2005-03-08 12:47:55 -05:00