Commit graph

1437 commits

Author SHA1 Message Date
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
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
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
Nathan Binkert
47dec0f411 Fix the singalling from server to client so that the
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
2005-03-08 12:37:08 -05:00
Nathan Binkert
dedf16a6c6 Only try to import cpt.mpy if we need it.
--HG--
extra : convert_revision : bee61a5026221d47fa00705ccd96595e1415f220
2005-03-08 12:35:17 -05:00
Steve Reinhardt
31d9d3bfe1 Merge zizzer:/bk/m5 into vm1.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : d5b97b8f5af42115989e7f9f4baa421d61a13b70
2005-03-07 20:56:17 -05:00
Steve Reinhardt
c720389366 More restructuring on Python config code for auto-generating
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-07 20:56:02 -05:00
Nathan Binkert
2b89c38172 Make it easier to find a jobfile.
util/pbs/jobfile.py:
    Search for the jobfile in sys.path

--HG--
extra : convert_revision : 50d2c2c13b6b9de4f6bc4e833961e309a98b0d2b
2005-03-07 13:05:41 -05:00
Steve Reinhardt
e5f945967b Sort fields in .ini files generated by Python config
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-05 19:28:43 -05:00
Lisa Hsu
0804a7530f the client and server aren't rate-matched anymore and the timing of the netcats are off - add a sleep 1 to make it actually work.
--HG--
extra : convert_revision : 3fa730a94d9270945d34061513ab9ce0ab60e7ba
2005-03-05 15:16:29 -05:00
Lisa Hsu
9f8d889f5f fix naming error - before we set CLIENT_MEMORY_SIZE and then when we wanted that value, used CLIENT_MEMSIZE! This caused the NFS failure I was seeing.
--HG--
extra : convert_revision : 845fd7f42d7df771c59ce9a3e77667aff22967c2
2005-03-03 11:43:20 -05:00
Steve Reinhardt
59c041cc1f Make AddToPath and LoadMpyFile visible inside .mpy modules
even though they're not in m5config anymore.

--HG--
extra : convert_revision : 1e49d5a432790ad1c92e47f1b5e6f1b34a422fa0
2005-03-02 15:14:18 -05:00
Steve Reinhardt
50a4ed87d0 Two fixes to try and get TLB miss cost more in line with real platform:
1) Add fault_handler_delay param to FullCPU to wait N cycles after
committing faulting instruction before fetching fault handler.
2) Make hw_rei a serializing instruction (flushes pipe, basically).

arch/alpha/isa_desc:
    Make hw_rei a serializing instruction (guarantees previous insts
    complete before hw_rei will issue).

--HG--
extra : convert_revision : 704cef65b3869be9eee724055cedb22114a78359
2005-03-01 22:32:14 -05:00
Lisa Hsu
d9de7c5783 add the new func unit into the overall list.
--HG--
extra : convert_revision : 2d425ec36de0443e094640fdbbc43754bfc7ed2e
2005-03-01 16:59:42 -05:00
Nathan Binkert
6172f79d9e add some comments.
sim/pyconfig/m5config.py:
    Add some comments to indicate what the decorators mean.

--HG--
extra : convert_revision : fbcbcbe4ad8cd62f2bd12af6b1f141c66752b870
2005-03-01 11:07:44 -05:00
Steve Reinhardt
ddcec6a6f5 Fix stats incompatibility with g++ 3.4.
base/statistics.hh:
    Get rid of operator%... g++ 3.4 complains that this isn't defined
    for doubles (which makes sense).  We never use it anyway.

--HG--
extra : convert_revision : 3ca724e1cc42559226549835f6cd3509308e02ca
2005-03-01 00:41:19 -05:00
Steve Reinhardt
58c29640b7 Add a new operation class for IPR accesses, and have IPR-accessing
instructions use it (instead of IntALU, as before).  Default config
has a single non-pipelined 3-cycle unit.  A bit conservative for the
ev6 (some are 1, some are 3).

arch/alpha/isa_desc:
    Make hw_mfpr and hw_mtpr use IprAccessOp op class.
cpu/full_cpu/op_class.hh:
    Add IprAccess.

--HG--
extra : convert_revision : d4103da3343a586936839e29981fd15d6930d442
2005-03-01 00:39:57 -05:00
Steve Reinhardt
89dc94f3bc Make all StaticInst methods const. StaticInst objects represent a
particular binary machine instruction and should be immutable after
they are constructed.

cpu/simple_cpu/simple_cpu.hh:
    Make StaticInst parameters const.

--HG--
extra : convert_revision : e535fa10c842ce173336323f39d9108c1847f8ba
2005-02-25 21:44:33 -05:00
Steve Reinhardt
d697721f57 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 312d9edd677afef6c973c0cb45af4f827a2b881a
2005-02-25 14:49:39 -05:00
Nathan Binkert
fbe2d26487 Make the SimConsole device dump its output to a file by default
--HG--
extra : convert_revision : 59cc7c3234d1bc96919d08dc0ec7584d8aff1d6f
2005-02-25 14:38:00 -05:00
Steve Reinhardt
368882a847 Fix timing modeling of faults: functionally the very next instruction after
a faulting instruction is the fault handler, which appears as an independent
instruction to the timing model.  New code will stall fetch and not fetch the
fault handler as long as there's a faulting instruction in the pipeline (i.e.,
the faulting inst has to commit first).

Also fix Ali's bad-address assertion that doesn't apply to full system.

Added some more debugging support in the process.  Hopefully we'll move to the new
cpu model soon and we won't need it anymore.

arch/alpha/alpha_memory.cc:
    Reorganize lookup() so we can trace the result of the lookup as well.
arch/alpha/isa_traits.hh:
    Add NoopMachInst (so we can insert them in the pipeline on ifetch faults).
base/traceflags.py:
    Replace "Dispatch" flag with "Pipeline" (since I added similar
    DPRINTFs in other pipe stages).
cpu/exetrace.cc:
    Change default for printing mis-speculated instructions to true (since
    that's often what we want, and right now you can't change it from the
    command line...).

--HG--
extra : convert_revision : a29a98a373076d62bbbb1d6f40ba51ecae436dbc
2005-02-25 12:41:08 -05:00
Ali Saidi
107233adf1 Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : a63405fac7237014c4ef8b765d31d59d3e1bb500
2005-02-24 15:59:29 -05:00
Ali Saidi
fcf52e8543 if we have an invalid addr and it's not a miss-speculation panic
--HG--
extra : convert_revision : 4c906f68c6168100f7e8f2030b1f957c88900768
2005-02-24 15:57:52 -05:00
Ron Dreslinski
d5d41d696c Fix it so that using a sampler works with the occ and ocp configurations.
--HG--
extra : convert_revision : a990503a6c01a156230d8910ad86876d09b4f1b3
2005-02-24 11:43:03 -05:00
Ron Dreslinski
4de9689135 Print an error message if a Checkpoint number was defined, but no checkpoint file was sourced
--HG--
extra : convert_revision : 302c1d6720c0ee24fcfc266cd99f501af734a452
2005-02-24 11:34:58 -05:00
Nathan Binkert
b78b634107 Fix the python panic message
sim/pyconfig/m5config.py:
    Fix panic

--HG--
extra : convert_revision : 56d93398e992ed6e95380f6dcdb61cbee54b3893
2005-02-23 12:26:35 -05:00
Ali Saidi
27a338fe2b Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : f149b8ea762d4a83ef76b3bb95f28e0709391ecf
2005-02-23 11:47:49 -05:00
Ali Saidi
a84159174a added two validation rcs files
--HG--
extra : convert_revision : 19e57e5192be3435d72652e3b36aac3b6e43d81c
2005-02-23 11:46:28 -05:00
Ali Saidi
9ebeb9b2de Added mmap start and end so detailed CPU can know if an access is
in a mmaped region

--HG--
extra : convert_revision : e4ee0520c84d94a0d2e804d02035228766abe71f
2005-02-23 11:45:25 -05:00
Ali Saidi
2298e2ba48 Updated Monet configurations
--HG--
extra : convert_revision : 8f9c875541adcf685effcfb2e138f2dbb8463137
2005-02-23 11:43:18 -05:00
Steve Reinhardt
af33e74638 Small initial steps toward generating C++ param structs
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-22 23:53:34 -05:00
Nathan Binkert
884a8de509 Set the proper job name for statistics if we're using a JOBNAME
and JOBFILE

--HG--
extra : convert_revision : 44253a39f40efcbbcda226701b0e97d8ea46cf1e
2005-02-21 18:06:09 -05:00
Nathan Binkert
92ed0dffc0 formatting fixes
--HG--
extra : convert_revision : 8b9bfed29b66e8bce11448f175273f5ebb6876b2
2005-02-21 17:32:57 -05:00
Nathan Binkert
9b1e2db811 Clean up CPU stuff and make it use params structs
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-19 11:46:41 -05:00
Kevin Lim
f4d3f781f1 Include errno.h to fix compile errors in gcc 3.4
sim/main.cc:
    Include errno.h

--HG--
extra : convert_revision : ff91579ae590b3c1d11f7468b71f295e6f3edd68
2005-02-17 19:22:42 -05:00
Nathan Binkert
dd4220ec10 rename the simple cpu's multiplier parameter. call it width.
it makes more sense and is less confusing.

cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
    width is a better name than multiplier

--HG--
extra : convert_revision : ea2fa4faa160f5657aece41df469bbc9f7244b21
2005-02-17 14:02:03 -05:00
Nathan Binkert
cfe6ed7c48 Fix compile on linux
sim/main.cc:
    For some unknown reason linux's basename doesn't take a const char *

--HG--
extra : convert_revision : 30289195881e16a05429f7025abab7914a9e3eb6
2005-02-17 03:40:17 -05:00
Nathan Binkert
5de3bba758 Make code more portable.
sim/main.cc:
    basename is in libgen

--HG--
extra : convert_revision : 1af6ff2f492b4deee9e56edfa5ee6ea235cd4eb0
2005-02-17 02:50:34 -05:00
Nathan Binkert
a24016c731 Several tweaks to make binning work in any simulation
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-17 02:48:56 -05:00
Ali Saidi
2e4bb0fc0c Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision : c807a78d9c3f3be51763dab9685aa4b7361c585c
2005-02-14 20:47:23 -05:00
Ali Saidi
f4e2f0ea33 undoing change per nates request
--HG--
extra : convert_revision : c5c2fd88dfd8d893da51c2b80907260ec14a7593
2005-02-14 20:47:05 -05:00