Commit graph

9578 commits

Author SHA1 Message Date
Erik Hallnor
5c8423b5dd Clear up doxygen warnings and serialize ScsiCtrl. We probably shouldn't decfine functions using type defs ala "RegFile" instead of "AlphaISA::RegFile".
base/inifile.hh:
    Document findAppend

--HG--
extra : convert_revision : ab5047590b3ca2a9126b75351e4902d300b5b5ad
2003-10-29 16:25:08 -05:00
Andrew Schultz
31342830ff Checkpointing support for all the tlaser_* files and Turbolaser
--HG--
extra : convert_revision : a7c6cba25713ff334fb9a402817566bfb5eb6679
2003-10-29 14:37:34 -05:00
Nathan Binkert
034babf0fa Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 97a3b844f3b2f5dcb1e9add4080d5dffebba22c0
2003-10-29 13:06:34 -05:00
Nathan Binkert
33cccccc98 Make the ethernet device use only 32bit and 64bit accesses
This change requires an update of the es device driver in
the kernel as well.

--HG--
extra : convert_revision : 83b83570b8c487869c7bfc550dceb3672d19da10
2003-10-29 12:46:31 -05:00
Steve Reinhardt
8da9fcdd75 Flesh out ExecContext serialize/unserialize (including RegFile).
Add support for serializing enums.

arch/alpha/isa_traits.hh:
    Add serialize/unserialize functions for RegFile
    (defined in new isa_traits.cc).
cpu/exec_context.cc:
    Flesh out serialize/unserialize.
sim/serialize.hh:
    Add {UN}SERIALIZE_ENUM().

--HG--
extra : convert_revision : 9e30c7e7b3b290dc8ea0888ba3636fc93ee89052
2003-10-29 08:50:25 -08:00
Steve Reinhardt
aa12cac9fd Rename SERIALIZE_MEMBER to SERIALIZE_SCALAR.
--HG--
extra : convert_revision : 848cfcf3323d224cdb2ff14df6f6996607a5c27f
2003-10-29 00:46:26 -08:00
Steve Reinhardt
1511370d09 More progress on checkpointing... we can now write out a checkpoint and read it back in,
though most objects don't actually serialize any data.

arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
arch/alpha/isa_traits.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
dev/alpha_access.h:
dev/alpha_console.cc:
dev/alpha_console.hh:
dev/console.cc:
dev/console.hh:
    Change unserialize param from IniFile& to const IniFile*.
cpu/simple_cpu/simple_cpu.cc:
    Change unserialize param from IniFile& to const IniFile*.
    Make unserialize call ExecContext::unserialize.
sim/eventq.cc:
    Rename MainEventQueue (no spaces) for easier parsing in checkpoints.
    Disable event serialization for now, so we can focus on the easy stuff.
sim/serialize.cc:
    Change paramIn and arrayParamIn param from IniFile& to const IniFile*.
sim/serialize.hh:
    Change unserialize, paramIn, and arrayParamIn params from IniFile& to const IniFile*.

--HG--
extra : convert_revision : 6e8853ed375eddec0e140c95a01dd51bd225f7b9
2003-10-29 00:41:24 -08:00
Steve Reinhardt
a0f3ee7e17 Add a few configuration DPRINTFs.
Fix handling of chars (uint8_ts) in serialization.
Minor cleanup.

sim/param.cc:
    Add specialization of showParam for char: output as ints, not as characters.
    Clean up comments a bit.

--HG--
extra : convert_revision : 96349382447d892679dda9f83c028eec64252dc0
2003-10-28 23:24:40 -08:00
Steve Reinhardt
3761bcf076 Get new serialization code to link.
sim/param.cc:
    Convert parseParam() and showParam() to templates,
    andd explicitly instantiate them for common types.
sim/param.hh:
    Add declarations for parseParam() and showParam() function templates,
    so serialize.cc can use them.
sim/serialize.cc:
    Don't need declarations for parseParam() and showParam() since
    we put them in param.hh.
    Also instantiate paramOut() etc. for bool.

--HG--
extra : convert_revision : 1d84d0fbec64481996cbfa8b84c67c13c6244385
2003-10-28 17:48:10 -08:00
Steve Reinhardt
e12e64a071 Merge zizzer:bk/m5 into isabel.reinhardt.house:/z/stever/ser/m5
--HG--
extra : convert_revision : 50aa3791d27a17c4ea2fb4aee1a67011bd2abec1
2003-10-28 12:56:17 -08:00
Steve Reinhardt
b90f810575 Revamp serialization to make it easier.
--HG--
extra : convert_revision : c57a538d7cf606dbdf5fa244f92da46bd830e335
2003-10-28 12:55:12 -08:00
Steve Reinhardt
1820520697 Clean up a few spots where we weren't handling of misspeculation correctly.
arch/alpha/ev5.cc:
    Don't call kernelStats.hwrei() or system->breakpoint() on misspeculated paths.
arch/alpha/isa_desc:
    Don't write reegs.intrflag, do Annotate::Callpal, or call xc->syscall
    on misspeculated paths.

--HG--
extra : convert_revision : e73b96fbe4ac5be85fb20aa218fd05fd56d5b2f3
2003-10-28 09:09:45 -08:00
Nathan Binkert
cec7f73abf emulate callpal halt for non FULL_SYSTEM
in the process make m5_exit more generic

arch/alpha/ev5.cc:
arch/alpha/ev5.hh:
    There's no reason that this needs to be in an arch specific file
arch/alpha/isa_desc:
    m5_exit -> SimExit
    Emulate callpal halt and cause the simulator to exit
    while we're at it, sort #includes
sim/sim_events.cc:
sim/sim_events.hh:
    move the m5_exit function here, renaming it to SimExit.
    Also Allow the caller to pass in the termination message.

--HG--
extra : convert_revision : 54b43b17a412ab387b8672c27ef0b04fce10ee15
2003-10-28 10:05:58 -05:00
Nathan Binkert
5cf0b0541b Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : df464a46539df4d4870e1e1118bd1a566efe19a0
2003-10-27 19:58:37 -05:00
Andrew Schultz
a3260cbd21 Added init_param line to specweb.ini
--HG--
extra : convert_revision : 1453fae160867ed3e111561eeb71fe0ac2dd6a82
2003-10-27 14:43:05 -05:00
Erik Hallnor
3cad93b5cf Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 782be2a26c1d0a416ff75bbc80cca5760b467fab
2003-10-27 14:29:42 -05:00
Erik Hallnor
bdf1110c02 Add an exit condition for a set number of misses in any cache. Add writebacks into the overall cache statistics.
--HG--
extra : convert_revision : 76f460f5b7729fc6b85d465d8e21a7a249239a81
2003-10-27 14:29:09 -05:00
Nathan Binkert
57c1cc9e6e Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 6b53813ed7ee4266ad716df5844070a72977341b
2003-10-27 13:01:25 -05:00
Nathan Binkert
d5766946a0 Add a strip target that will create m5.strip (a stripped
version of m5.opt)

--HG--
extra : convert_revision : 48a1542fb1b62804c59e68b7fed083c4eff03a20
2003-10-27 12:58:47 -05:00
Steve Reinhardt
1c2930b1e1 Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 25f6c41b709b4dabe1a2e0a180508db05aa4263f
2003-10-26 23:03:51 -08:00
Nathan Binkert
1164494a58 specweb.ini:
fix system name

--HG--
extra : convert_revision : ce7438e314a829c102409c6164006712456c3b2b
2003-10-27 02:02:37 -05:00
Steve Reinhardt
167928f12b Minor serialization tweaks.
cpu/simple_cpu/simple_cpu.cc:
    Serialize FP regs as integers (so we get exact bit representation).
sim/serialize.cc:
    Don't panic on object rename... events come up named "event"
    and need to get renamed.  Also fix some DPRINTFs.

--HG--
extra : convert_revision : 62ad527a7aaf78ae623b70febc1331cf91cbad05
2003-10-26 22:38:53 -08:00
Steve Reinhardt
ced22d81a6 Fix some problems with stats reset & floss counters.
arch/alpha/isa_desc:
    Keep m5 pseudo-instructions (like resetstats) from taking effect
    on misspeculated paths.

--HG--
extra : convert_revision : 7f0b0490164bca377ff2b14abc35a6c26bac9e6d
2003-10-26 22:37:14 -08:00
Nathan Binkert
bac3f9a1aa Clean up kernel .ini files. Factor out common stuff and use
#include to do stuff.

--HG--
extra : convert_revision : 65f2ad04f756cf3fdfe24620a13b04143bf660e0
2003-10-26 23:04:17 -05:00
Nathan Binkert
13bcf233f1 Add an append= keyword that works in a somewhat similar way to
default=.  In the append= case, when looking up an entry, it also
looks in the section named by the append= for something to append
to the entry

--HG--
extra : convert_revision : b51915094ad3ca151d7f241c29e19b6b29d3a3c0
2003-10-26 22:42:45 -05:00
Nathan Binkert
91293e02d2 Make the tap work work again
util/tap/Makefile:
    Make this stuff compile again
util/tap/tap.cc:
    clean up some of the error messages

--HG--
extra : convert_revision : 4543d946b48c9e07bf19b812db6466f80ed6b851
2003-10-26 22:40:03 -05:00
Nathan Binkert
34adf92749 only send data to a peer if the peer exists
dev/etherint.hh:
    only send data to the peer if there is a peer

--HG--
extra : convert_revision : 33d90679ed91a2b2842ce4155ac4e58ec3defc22
2003-10-26 22:38:26 -05:00
Steve Reinhardt
5e0b617283 More tweaking of find-files script. FYI, I now have this hard-wired
into my 'grc' command under emacs.

--HG--
extra : convert_revision : dad50adde069a2218059e628a986fced39b2123e
2003-10-26 08:21:11 -08:00
Steve Reinhardt
54643598f6 Initialize startTick to 1 instead of 0. Fixes floss-check failure
in debug mode.

--HG--
extra : convert_revision : b37d057e3fdb4d8556b7aa61126fb47a5a3d9edf
2003-10-26 08:18:59 -08:00
Steve Reinhardt
b27009fcbe Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : b5f54dc24f6219426317c9d5cac3351de6b1a1bf
2003-10-25 21:19:54 -07:00
Steve Reinhardt
3ab5b35fbb Merge isabel.reinhardt.house:/z/stever/bk/m5
into isabel.reinhardt.house:/z/stever/bk2/m5

--HG--
extra : convert_revision : 84e69c15047423e683478dde1171a2c6348143fa
2003-10-25 21:19:14 -07:00
Steve Reinhardt
a08271f955 New rundiff script.
util/rundiff:
    Completely rewritten from scratch.  Can work standalone (with simple built-in
    diff algorithm) or use Algorithm::Diff package for better (but slower) diffs.

--HG--
extra : convert_revision : bb66d937e92bfd1904bd259589bacb5eff404c02
2003-10-25 20:49:08 -07:00
Nathan Binkert
d4343f91d5 Fix packet buffer management for receive packets
dev/etherlink.cc:
    DPRINTF before the packet is sent to the other interface to
    make the output a little more understandable

--HG--
extra : convert_revision : 9c7dd5dd6dbbbc416db70a52228e918af2e76d96
2003-10-25 18:23:19 -04:00
Nathan Binkert
ff7b6892bc Add the directory where the ini file was found into the #include
search path

--HG--
extra : convert_revision : 9a6bceb931613b718bf5a561b354ba9ccb847a78
2003-10-25 18:19:32 -04:00
Steve Reinhardt
2eec285391 Don't schedule tickEvent if it's already been scheduled.
--HG--
extra : convert_revision : 9cdfeb4df661b25fc000e35c1f34ee11cec6a668
2003-10-25 00:47:51 -07:00
Steve Reinhardt
9508bf0a87 Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 921d26b6fe29870fa532394b388bc0fe6cac183e
2003-10-24 23:37:28 -07:00
Steve Reinhardt
2622601b83 Make util/find-files work from anywhere in the source tree (assuming you
name the root of your tree 'm5').

--HG--
extra : convert_revision : 1315c2864cbed941576d20e2fe895551992570a0
2003-10-24 23:22:35 -07:00
Steve Reinhardt
02d80c96b7 Move some common full-system CPU initialization from the
SimpleCPU & FullCPU constructors to AlphaISA::initCPU().

cpu/simple_cpu/simple_cpu.cc:
    Move some common full-system CPU initialization from the
    SimpleCPU & FullCPU constructors to AlphaISA::initCPU().
    Make 'fault' local to SimpleCPU::tick.
cpu/simple_cpu/simple_cpu.hh:
    Make 'fault' local to SimpleCPU::tick (not an object member).

--HG--
extra : convert_revision : e878dedfff06aac0548aca8b14d66c18b8916895
2003-10-24 23:20:27 -07:00
Steve Reinhardt
91cb532f9f Make FullCPU schedule its TickEvent when one of its contexts becomes active.
This fixes detailed-mpboot, which was broken as of my last change.
Also clean up some of the ExecContext status initialization.

cpu/base_cpu.hh:
    CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows
    which execContext had the status change.
    BaseCPU::registerExecContexts() no longer needs to be virtual.
cpu/exec_context.cc:
    Initialize _status directly... don't use setStatus() as this will notify the CPU
    of the change before it is ready.
    CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows
    which execContext had the status change.
cpu/exec_context.hh:
    Don't need initStatus() any more.
cpu/simple_cpu/simple_cpu.cc:
    Move execCtxStatusChg() from header to .cc file.
    No longer need specialized version of registerExecContexts to schedule TickEvent.
cpu/simple_cpu/simple_cpu.hh:
    Move execCtxStatusChg() from header to .cc file.
    CPU::execCtxStatusChg() now takes thread_num as arg (must be 0 for SimpleCPU).
    No longer need specialized version of registerExecContexts to schedule TickEvent.
kern/tru64/tru64_system.cc:
    Don't need initRegs; the PC etc. get initialized in the CPU constructor.
    ExecContexts start out as Unallocated, so no need to set them to Unallocated here.
kern/tru64/tru64_system.hh:
    Don't need initRegs; the PC etc. get initialized in the CPU constructor.
sim/prog.cc:
    ExecContexts start out as Unallocated, so no need to set them to Unallocated here.

--HG--
extra : convert_revision : e960ebbeb845960344633798e251b6c8bf1c0378
2003-10-24 23:02:36 -07:00
Andrew Schultz
47399b6c5e Added m5func "resetstats" to allow scriptable reset of statistics inside sim
--HG--
extra : convert_revision : 35a93fe085c2ca7ca1fc8bf887539e0b9c704aaf
2003-10-24 16:28:04 -04:00
Andrew Schultz
df3487c3aa Added new ini file for specwebssl
--HG--
extra : convert_revision : df7fa6244f9a5a0660c9b5b30974b8544d12edcd
2003-10-24 14:57:24 -04:00
Steve Reinhardt
cd6b6df581 A few minor fixes to sampling... seems to work now for the base case
of two CPUs and one switch-over event.  Still some stats glitches though.

cpu/simple_cpu/simple_cpu.cc:
    Schedule switched-to CPU right on curTick so we don't lose a cycle.
    Remember to switch out old CPU.

--HG--
extra : convert_revision : f1bf21cac054c74f59770d8b20b30118f46be6f1
2003-10-23 21:52:46 -07:00
Steve Reinhardt
cc9a838f4c Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : b0f93bd35d767fd3a520a9fed70a71d40b0056db
2003-10-23 19:09:18 -07:00
Steve Reinhardt
6e2fc8ce76 If things go really wrong, panic() instead of fatal() so gdb gets control.
--HG--
extra : convert_revision : 40fddc2da0bca98542db0e97fa91092497977d2b
2003-10-23 19:09:02 -07:00
Steve Reinhardt
f5da73b688 Initial support for CPU switching. New SamplingCPU object encompasses a set
of CPUs that get switched round-robin (though currently we're only shooting for
two CPUs and one switch event, and even that doesn't quite work yet).  Registration
of ExecContexts with System/Process object factored out so we can create two CPUs
but only register one of them at a time.  Also worked at making behavior and naming
in System and Process objects more consistent.

arch/alpha/ev5.cc:
    Rename ipr_init to initIPRs and get rid of unused mem arg.
arch/alpha/fake_syscall.cc:
    Process:numCpus is now a function (not a data member).
base/remote_gdb.hh:
    Support for ExecContext switching.
cpu/base_cpu.cc:
cpu/base_cpu.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
cpu/simple_cpu/simple_cpu.cc:
    Support for ExecContext switching.
    Renamed contexts array to execContexts to be consistent with Process.
    CPU ID now auto-assigned by system object.
    Cleaned up MP full-system initialization a bit.
dev/alpha_console.cc:
    Renamed xcvec array to execContexts to be consistent with Process.
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
    Support for ExecContext switching.
    CPU ID now auto-assigned by system object.
sim/prog.cc:
sim/prog.hh:
    Support for ExecContext switching.
    Process:numCpus is now a function (not a data member).
sim/system.cc:
sim/system.hh:
    Support for ExecContext switching.
    Renamed xcvec array to execContexts to be consistent with Process.

--HG--
extra : convert_revision : 79649cffad5bf3e83de8df44236941907926d791
2003-10-23 19:07:52 -07:00
Steve Reinhardt
73b050a541 Minor stats fix.
base/statistics.cc:
    Small fix: don't exit early out of dist when nozero is set and a zero val is found.

--HG--
extra : convert_revision : 95ba3328c8a79f05f4c821d99071dba10f013ad6
2003-10-23 18:53:16 -07:00
Steve Reinhardt
21c7ee1e3e Print error message when we can't parse a .ini assignment line.
--HG--
extra : convert_revision : b7e19ff42ddd9a21571e086c11e143d9290e0e38
2003-10-23 18:51:12 -07:00
Erik Hallnor
320540829d Move to non-architecture specific MemReq
arch/alpha/alpha_memory.hh:
cpu/exec_context.hh:
cpu/pc_event.hh:
    Move to non architecture specific MemReq

--HG--
extra : convert_revision : 2445943b6f1c8af86b90cfa9c2f9b1eb4a6a1aa2
2003-10-23 16:40:08 -04:00
Andrew Schultz
b361dc12bf New kernel-specweb.ini file for the new specweb99 setup.
--HG--
extra : convert_revision : 8f2bf5ee56ba4fc7484e6510acd3cb93a17174d3
2003-10-23 15:54:01 -04:00
Andrew Schultz
98fd66ed0c Changed the init_param to a uint64_t from int
--HG--
extra : convert_revision : fbd3d3bbaa539661f63e4f7991b0a6275992d60a
2003-10-22 18:50:54 -04:00