Commit graph

2446 commits

Author SHA1 Message Date
Steve Reinhardt
fb4f83809f Allow math on CheckedInt-derived ParamValue classes w/o
losing type information.

python/m5/config.py:
    Allow math on CheckedInt-derived ParamValue classes w/o
    losing type information.
    - Make CheckedInt derive from NumericParamValue, and *not*
    multiply inherit from long
    - Move CheckedInt bounds check to _check() hook so we can
    call it when value is updated (not just in constructor)
python/m5/convert.py:
    - make toInteger() return a long, making toLong() unnecessary
    - toMemorySize should return long rather than float

--HG--
extra : convert_revision : c1cf5e15b9ff35d9b573dd545e076fe68afef989
2005-11-01 14:11:54 -05:00
Steve Reinhardt
76843fc264 Minor fix for test/genini.py.
test/genini.py:
    Use m5execfile to execute .py files so that sys.path gets handled correctly.

--HG--
extra : convert_revision : 8d8c90a7f40d51c95ba0f43bb9f6d7b2ee49f16e
2005-10-31 22:41:14 -05:00
Lisa Hsu
f069f59231 Merge zizzer:/bk/m5
into  zed.eecs.umich.edu:/z/hsul/work/m5/clean

--HG--
extra : convert_revision : 8935c26cbf6cafd9c0f76783605c137f5a74e897
2005-10-26 23:19:32 -04:00
Lisa Hsu
5aa7172119 add in the files to the SConscript for split caches
--HG--
extra : convert_revision : aba28067abbb515eaa20a4d3303db19ac077777f
2005-10-26 23:19:21 -04:00
Steve Reinhardt
5540021d89 Fix qdo job name setting.
util/qdo:
    Don't automatically set qsub job name, as this causes qsub to fail
    if the job name is too long or otherwise unsuitable.

--HG--
extra : convert_revision : 5ba48767574efaaff2c328549adee295780f7f70
2005-10-23 22:18:50 -04:00
Nathan Binkert
b7b8ffa7b7 Major changes to sinic device model. Rearrage read/write, better
interrupts.

dev/sinic.cc:
    - The prepareRead function sets all the variables in the register
    file that depend on various state bits that change on the fly.
    Includes RxDone, RxWait, TxDone, and TxWait
    - Use the new register information accessor functions to grab
    validity and size information for the read and write functions
    - read all registers directly from the register space by offset
    and size, not by actual name (less code)
    - The side effect of reading the interrupt status (clearing it) now
    happens outside the actual chunk of code where the value is loaded.
    - Add an iprRead function for when we may want speculative access
    to device registers through an ipr or special instruction.
    - When RxData or TxData are written, their busy flag is set to
    indicate that they have an outstanding transaction.
    - The RxHigh and TxLow interrupts are special, they only interrupt
    if the rxEmpty or txFull limits were hit
    - Move reset to the command register
    - Update more registers on reset, clear rxEmpty and txFull
    - Data dumps only happen if EthernetData trace flag set
    - When a DMA completes, kick the other engine if it was waiting
    - implement all of the new interrupts
    - serialize the new stuff
dev/sinic.hh:
    - Put all registers with their proper size and alignment into
    the regs struct so that we can copy multiple at a time.
    - Provide accessor functions for accessing the registers with
    different sizes.
    - Flags to track when the rx fifo hit empty and the tx fifo became
    full.  These flags are used to determine what to do when below
    the watermarks, and are reset when crossing the watermark.
    - the txDmaEvent should actually trigger the txDmaDone function
    - Add an iprRead function for when we may want speculative access
    to device registers through an ipr or special instruction.
    - The prepareRead function sets all the variables in the register
    file that depend on various state bits that change on the fly.
    - add rx_max_intr and dedicated (for dedicated thread) config params
dev/sinicreg.hh:
    Add some new registers: Command, RxMaxIntr, RxFifoSize, TxFifoSize,
    rename XxThreshold to XxFifoMark
    Move Reset to the Command register
    Add Thread to the Config register
    New interrupts, better names
    More info in RxDone and TxDone
    Easier access to information on each register (size, read, write, name)
python/m5/objects/Ethernet.py:
    Both sinic and nsgige have the dedicated thread
    Add a parameter to configure the maximum number for receive
    packets per interrupt

--HG--
extra : convert_revision : 407c5a993b6fb17326b4c623ee5d4b25fd69ac80
2005-10-21 20:28:21 -04:00
Nathan Binkert
ad2ff26c66 missed another pio interface name
dev/sinic.cc:
    better name for both pio interfaces

--HG--
extra : convert_revision : f7821c9c28b0095b366177b4c48a4ec14c3c89ee
2005-10-21 19:38:02 -04:00
Nathan Binkert
cf95624e92 better naming for pio interfaces
dev/ns_gige.cc:
    why call it pio2 when there's only one?
dev/sinic.cc:
    Give the interface a different name for stats/output purposes

--HG--
extra : convert_revision : 895732f1a7e4c53e058a42b51320c2115dc05638
2005-10-21 19:35:49 -04:00
Nathan Binkert
336ae93d3c Merge zizzer.eecs.umich.edu:/bk/m5
into  ziff.eecs.umich.edu:/z/binkertn/research/m5/head

--HG--
extra : convert_revision : 35075f75f7e31e0500b964ec45db3019eea06c76
2005-10-21 19:18:28 -04:00
Nathan Binkert
a51565f6ae It's not necessary for a device to call recvDone, that
automatically happens in the interface after the packet
is delivered to the device.

--HG--
extra : convert_revision : 07890c4c5ce83fe709ce203f66c330d7cd631235
2005-10-21 19:18:19 -04:00
Nathan Binkert
13bf7e27ac Fix a couple of bug in the values() vector accessor
util/stats/db.py:
    need to import the values function
util/stats/info.py:
    it's just run

--HG--
extra : convert_revision : 3cb67d8112a1a5fdf761b73732859a71f585bd1f
2005-10-21 17:28:47 -04:00
Nathan Binkert
12822443a5 Minor updates to the profile code.
util/stats/profile.py:
    Pass around the number of symbols limit
    deal with categorization a bit better.

--HG--
extra : convert_revision : 908410e296efd4514f2dfc0eb9e6e42834585560
2005-10-21 16:32:48 -04:00
Nathan Binkert
7ef8b40b3b Merge zizzer.eecs.umich.edu:/bk/m5
into  zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/work

--HG--
extra : convert_revision : 8ef6ed2d770d45ac11d44a449e2c4f74ef656d87
2005-10-21 16:29:27 -04:00
Nathan Binkert
e00237e49e Major cleanup of the statistics handling code
util/stats/db.py:
    Build a result object as the result of a query operation so it is
    easier to populate and contains a bit more information than just
    a big dict.  Also change the next level data into a matrix instead
    of a dict of dicts.
    Move the "get" function into the Database object.  (The get function
    is used by the output parsing function as the interface for accessing
    backend storage, same interface for profile stuff.)
    Change the old get variable to the method variable, it describes how
    the get works, (whether using sum, stdev, etc.)
util/stats/display.py:
    Clean up the display functions, mostly formatting.
    Handle values the way they should be now.
util/stats/info.py:
    Totally re-work how values are accessed from their data store.
    Access individual values on demand instead of calculating everything
    and passing up a huge result from the bottom.
    This impacts the way that proxying works, and in general, everything
    is now esentially a proxy for the lower level database.  Provide new
    operators: unproxy, scalar, vector, value, values, total, and len which
    retrieve the proper result from the object they are called on.
    Move the ProxyGroup stuff (proxies of proxies!) here from the now gone
    proxy.py file and integrate the shared parts of the code.  The ProxyGroup
    stuff allows you to write formulas without specifying the statistics
    until evaluation time.

    Get rid of global variables!
util/stats/output.py:
    Move the dbinfo stuff into the Database itself.  Each source should
    have it's own get() function for accessing it's data.
    This get() function behaves a bit differently than before in that it
    can return vectors as well, deal with these vectors and with no result
    conditions better.
util/stats/stats.py:
    the info module no longer has the source global variable, just
    create the database source and pass it around as necessary

--HG--
extra : convert_revision : 8e5aa228e5d3ae8068ef9c40f65b3a2f9e7c0cff
2005-10-21 16:29:13 -04:00
Steve Reinhardt
9a881c5a82 Minor tweak to isa_parser.
arch/isa_parser.py:
    Derive Stack class directly from list.

--HG--
extra : convert_revision : 4f09db4baec0bb2144d71ffad5ce53651e8c3ac6
2005-10-20 14:14:59 -04:00
Steve Reinhardt
9c68bde166 Add qdo options for setting the PBS job name and destination queue.
util/qdo:
    Add options for setting the PBS job name and destination queue.

--HG--
extra : convert_revision : dcb46a03b8fd7a93e2ba656a9e5c806e250f5ac9
2005-10-20 13:25:43 -04:00
Nathan Binkert
8ab674582e fix pbs dependency stuff
util/pbs/pbs.py:
    after -> afterok

--HG--
extra : convert_revision : ee0af716bcc0f83c4103632bd277a5680b0d2c23
2005-10-19 02:10:24 -04:00
Nathan Binkert
12049dc052 provide a default jobfilename if a jobname is given
--HG--
extra : convert_revision : c5659b9675ccd2ba71f5ffa38aff5d397d6ed1c3
2005-10-19 02:04:03 -04:00
Ali Saidi
92ba43ebd7 Merge zizzer:/bk/m5
into  zeep.eecs.umich.edu:/z/saidi/work/m5

--HG--
extra : convert_revision : 2e093e94bee380dd6acc9c245b5bd46df579e010
2005-10-19 00:39:48 -04:00
Ali Saidi
8dbdc00891 Add multiplier for instruction window size to monet configuration
--HG--
extra : convert_revision : 848a5ac37eb5d10e115f5ec89d688d30f2f9bd30
2005-10-19 00:39:18 -04:00
Nathan Binkert
1e47bb18b5 make the sampling periods configurable
--HG--
extra : convert_revision : 4276beb4f642ff5c3afcc9974f2c451bff100fb0
2005-10-18 22:36:43 -04:00
Nathan Binkert
2badc0113c Shuffle around device names to make things easier to read.
Create EtherDevBase which both Sinic and NSGigE derive from
bump fifos
drop rx max copy size to 1514 bytes to be friendlier with linux
default interrupt delay is 10us

dev/ns_gige.cc:
    Shuffle around parameters to make it easier to find stuff
dev/sinic.cc:
    Shuffle around parameters to make it easier to find stuff
    rename cycleTime -> clock
dev/sinic.hh:
    rename cycleTime -> clock

--HG--
extra : convert_revision : a673bee875e50d083098991aea20972fa8d5b5c7
2005-10-18 22:05:05 -04:00
Nathan Binkert
1e67135c8b more remnants of the profile stuff
--HG--
extra : convert_revision : 435f24712f7bf7e8d844126e82e865ca309ebb67
2005-10-18 21:10:35 -04:00
Nathan Binkert
24235545fb Make ALPHA_SE compile commit.cc
--HG--
extra : convert_revision : 16dc115014c16d4d400e69490cfff03e7229f8e0
2005-10-18 21:05:17 -04:00
Nathan Binkert
4f43bc65ea use the dedicated flag, no more exposing the m5reg directly
dev/ns_gige.cc:
    stop exposing the m5reg to the configuration stuff and build it
    based on exposed flags.  Expose dedicated now.
dev/ns_gige.hh:
    goodbye m5reg hello dedicated
dev/ns_gige_reg.h:
    Flags for the M5REG

--HG--
extra : convert_revision : 11134fe67cdf5291caacf9b3041739c437b983e3
2005-10-18 21:01:05 -04:00
Nathan Binkert
e999645caf define a couple more abi regiesters
--HG--
extra : convert_revision : 2b909cc784d4fdd4833a70e86d13c207a7c1dd23
2005-10-18 20:02:23 -04:00
Nathan Binkert
db71ffff2e Add missing change from big function profile commit
--HG--
extra : convert_revision : 46e031098a4291638ea231ba8d3ed0339cab6e29
2005-10-18 19:20:00 -04:00
Nathan Binkert
49c8675f01 fix nmtest
test/Makefile:
    get nmtest to compile
test/nmtest.cc:
    make nmtest actually do something

--HG--
extra : convert_revision : 471c02c51355a5145f0d0ce965c2a341076120c0
2005-10-18 19:18:27 -04:00
Nathan Binkert
ce5f326f11 Default jobfile for stats
util/stats/stats.py:
    Make the default jobfile Test.py in the current directory
    add the -J flag to tell it not to use a jobfile

--HG--
extra : convert_revision : 5cf5bb2f32ed9c9701a94eabc9b2a538581acf94
2005-10-18 19:17:36 -04:00
Nathan Binkert
a81c03737a Add new function profiling stuff, wrap the pc_sample stuff into it.
SConscript:
    Get rid of the pc_sample stuff and move to the new profiling stuff
base/traceflags.py:
    DPRINTF Stack stuff
cpu/base.cc:
cpu/base.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple/cpu.cc:
    Add profiling stuff
kern/kernel_stats.hh:
    Use a smart pointer
sim/system.cc:
sim/system.hh:
    Create a new symbol table that has all of the symbols for a
    particular system
util/stats/categories.py:
    change around the categories, add categories for function
    profiling stuff
util/stats/profile.py:
    No profile parsing and display code to deal with function
    profiling stuff, graph, dot, and text outputs.

--HG--
extra : convert_revision : b3de0cdc8bd468e42647966e2640ae009bda9eb8
2005-10-18 19:07:42 -04:00
Nathan Binkert
357ee7a845 Better pool job handling
util/pbs/job.py:
    the default jobfile is now Test.py in the root of the jobs directory
util/pbs/pbs.py:
    Clean up the qsub options handling and add job dependencies
util/pbs/send.py:
    the default jobfile is now Test.py in the root of the jobs directory
    add a flag to depend on your checkpoint
    add a flag to specify your node type
    create the base directory if it doesn't exist

--HG--
extra : convert_revision : dfffa4a5b0e68b2550a28fbb06b9d6a208ea1f2e
2005-10-18 15:05:01 -04:00
Nathan Binkert
31d13e9a9b Improvements to the graphing output
util/stats/output.py:
    Create the graph directory if it doesn't exist
    Don't write out a graph if all of the jobs for that graph are missing

--HG--
extra : convert_revision : 7993baf1a4be33a062f86a4f09791f01eaafa43c
2005-10-18 15:01:51 -04:00
Steve Reinhardt
2a1350e168 Fix for g++ 4 warning... not sure why this is just popping up now.
sim/system.hh:
    Fix for g++ 4.

--HG--
extra : convert_revision : e169220ba9ca34ebd4ba2bbafadf8de42f005812
2005-10-13 23:47:31 -04:00
Nathan Binkert
67b807d907 Clean up symbol table access functions and make it
possible to inline them.  The symbol table is heavily
used in the stacktrace code and the faster access
functions should help out.

base/loader/symtab.cc:
    Put these in the header file since they are simple and can
    be inlined.
base/loader/symtab.hh:
    Move the various findFoo functions to the header file so they
    can be inlined.  Add findNearestAddr functions that don't
    return the symbol.  This is so you can figure out what
    function you're in based on the symbol table, but not waste
    time copying out the symbol name if you don't need it.

--HG--
extra : convert_revision : 00cac40a79b0641a70c5ec7d9838fa0ec505c6a1
2005-10-12 17:18:10 -04:00
Nathan Binkert
17b1c8f90d better english in stat descriptions for NS GigE
dev/ns_gige.cc:
    better english in stat descriptions

--HG--
extra : convert_revision : e75fc71e3285389cd38a9a00376a494778536b1d
2005-10-12 13:53:10 -04:00
Nathan Binkert
b6d2555ec5 Make it easier to attach the remote debugger.
base/remote_gdb.cc:
    Keep track of a vector of all of the usable debuggers and provide
    a current_debugger variable that can be set from gdb to specify
    which remote debugger is desired.
    If debugger() is called and the current_debugger is not attached,
    call accept on its listener so we can still attach a remote debugger
    from the gdb prompt if we had forgotten to before.
    Print out more information when the simulator starts so we can
    distinguish debuggers more easily.
base/remote_gdb.hh:
    Have a remote debugger instance keep track of its listener.
    Number the remote debuggers so it's easier to figure out which is which.

--HG--
extra : convert_revision : 97119597ac3772ea4df6da3b3a4827f50253a51f
2005-10-12 13:45:21 -04:00
Nathan Binkert
80a5c93036 Add support for 64-bit addresses to the NS GigE device model.
dev/ns_gige.cc:
    Add support for 64-bit addresses
dev/ns_gige.hh:
dev/ns_gige_reg.h:
    Need both cached 32-bit and 64-bit descriptors

--HG--
extra : convert_revision : 514788d8d95554b3512f1b75db5314c823453a8c
2005-10-12 13:39:40 -04:00
Nathan Binkert
6bc057139d don't write the pbs jobid here, do it in send.py so we know
what it is sooner
Don't handle sigstop since you're not allowed to.

util/pbs/send.py:
    write the pbs jobid here in send.py so we know what it is sooner

--HG--
extra : convert_revision : 93292d046cb4b628031e0e57e39eb4470b598ed8
2005-10-12 13:01:55 -04:00
Lisa Hsu
0f1b066b6b Merge zizzer:/bk/m5
into  zed.eecs.umich.edu:/z/hsul/work/m5/clean

--HG--
extra : convert_revision : 427e867b51ee3c9c2a1c70a16d36dfaf83284b2c
2005-10-09 18:29:12 -04:00
Lisa Hsu
7b04cd9561 add a flag that supercedes all other InstExec flags to print a trace in the Intel sim compatible format.
--HG--
extra : convert_revision : 19569e5645f2d68fb68a0352753c08c2a24bfdc4
2005-10-09 18:20:54 -04:00
Steve Reinhardt
d6f2309dd7 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into  zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : c725ff66b214027cdb72a2cf8ffd017e9b120700
2005-10-06 13:59:37 -04:00
Steve Reinhardt
a7974eef6b More documentation for 1.1 release.
README:
    More updates for 1.1 release.

--HG--
extra : convert_revision : 3e39cf4d1cba49dfb254cd1047144ac2aa728221
2005-10-06 13:59:05 -04:00
Lisa Hsu
a23ff5ac96 Merge zizzer:/bk/m5
into  zed.eecs.umich.edu:/z/hsul/work/m5/clean

--HG--
extra : convert_revision : 42c38ea59c6787fdcf25bf8e1737f71ac253cf8a
2005-10-06 13:55:08 -04:00
Steve Reinhardt
af2a600f99 Add execution trace object to Root.
python/m5/objects/Root.py:
    Add execution trace object.

--HG--
extra : convert_revision : 1d1ba18779fd4d0b5af921c5f34b7a2bfb4b75d9
2005-10-06 13:50:13 -04:00
Steve Reinhardt
ac3b4149ea Update README for IOSCA release.
README:
    Update for IOSCA release.

--HG--
extra : convert_revision : 6ed7c857cc71021f51abe8c462a9b8b58215dcfb
2005-10-05 22:55:01 -04:00
Lisa Hsu
6f90efbaff can't designate checkpoint from command line without this import
--HG--
extra : convert_revision : c6428fc99edb1f621da77c97b44e8a71c5b3cb66
2005-10-05 17:37:22 -04:00
Steve Reinhardt
e90332ff7a Minor cleanup of memtest.
cpu/memtest/memtest.cc:
    Call random() consistently (not sometimes rand() and sometimes random()).
    Don't bother to call random() for copy-only parameters unless we're
    actually doing a copy.

--HG--
extra : convert_revision : 50ef72594ad53ba531584b3c9dde61ac036a4e38
2005-10-03 09:13:56 -04:00
Steve Reinhardt
93e60de656 Add executable parameter to LiveProcess. This allows the argv[0] value to
stay fixed even if the path to the binary changes, so the simulation results
are independent of that path.

--HG--
extra : convert_revision : d1109cd284466c14eddc97289908a51e771fc5db
2005-10-01 16:02:47 -04:00
Steve Reinhardt
30ad202a31 Commit regression script. The cron job uses a copy in m5test's
home directory (/z/m5/regression), so for now any modifications
should be manually copied there as well.

Note that this script is designed to be useful for running full
regressions outside of the cron job as well.

--HG--
extra : convert_revision : 052ec5d58b5ff765d8f3a9b50849ef34d62c8d66
2005-10-01 11:36:56 -04:00
Steve Reinhardt
e939472190 Add default= option to SConstruct.
build/SConstruct:
    Add 'default=' argument to specify base config to use when setting
    up a new build dir with a different name, e.g.:
    scons default=ALPHA_SE USE_MYSQL=no ALPHA_SE_NOSQL/m5.opt

--HG--
extra : convert_revision : 0f7ee1414b3e84b36114415182baf54a8adab9b7
2005-10-01 11:32:33 -04:00