Commit graph

9766 commits

Author SHA1 Message Date
Andrew Schultz
e8b9537d11 Serialization support for serializing between DmaHolder simobjects and DmaEngine
--HG--
extra : convert_revision : 85de62b4066595a3139029a6ccc1c1e84526a0be
2003-10-31 18:05:00 -05:00
Andrew Schultz
2ab51fbcdb Changed the naming of Serializeable derived objects. Serializeable no longer has
objName as a member, instead it has the pure virtual function name().  SimObject
now has a objName member, and all classes derived directly from Serializeable
have to implement a name() function (which now makes them unique by pointer value)

cpu/simple_cpu/simple_cpu.cc:
    Change initialization of Event to get rid of Serializeable naming
dev/etherlink.cc:
dev/etherlink.hh:
    Seralizeable derived naming changes
sim/eventq.cc:
    Serializeable derived naming changes, also changed serialization process so it
    doesn't need to use nameChildren
sim/eventq.hh:
    Serializeable derived naming changes, remove constructor for specifying event name
sim/serialize.cc:
    Serializeable derived naming changes, remove setName function and the child naming
    pass for serialization
sim/serialize.hh:
    Serializeable derived naming changes, removed nameChildren, setName
sim/sim_object.cc:
sim/sim_object.hh:
    Serializeable derived naming changes

--HG--
extra : convert_revision : 67bcc275b6c210f7049f98a1ad0d22e8f5596a63
2003-10-31 17:32:04 -05:00
Steve Reinhardt
57f607534c Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 6a2131478dcc1965313d51436613cf48d85af524
2003-10-31 10:10:45 -08:00
Steve Reinhardt
5906bd701a New 'greprevs' script to grep through old revs of a file.
util/greprevs:
    Add descriptive comment.

--HG--
extra : convert_revision : 4fffef1327c04bdae7c7151db405920e2cc4eec8
2003-10-31 10:10:34 -08:00
Lisa Hsu
b5fc3af142 I forgot - also to typedef the default type of bin choice given to every visible stat type (NoBin or BinType). this way a little #define does it all for you.
statistics.hh:
add #includes needed for CeilPow2
statistics.cc:
rm unneeded #includes for CeilPow2

base/statistics.cc:
    rm unneeded #includes for CeilPow2
base/statistics.hh:
    add #includes needed for CeilPow2

--HG--
extra : convert_revision : 818028b276e97735a8b8d21d6514f41a80350514
2003-10-31 00:23:53 -05:00
Lisa Hsu
a5356bd75f statistics.hh:
oops - remove a debug printf

base/statistics.hh:
    oops - remove a debug printf

--HG--
extra : convert_revision : a6ecab93f79ce0a5cb6ff129750d8f6a2de8d38c
2003-10-30 19:20:18 -05:00
Lisa Hsu
2c451a0ad4 Make some general changes to stats package where things either could have been better or were just plain wrong.
statistics.hh:
fix a bug in binning that made bins a fixed size no matter what.  add GenBin class that is public but not templatized.
statistics.cc:
change map to statMap so others can use the map<> token without needing ::.  also, add a level of GenBin that is public base class for StatBin<>.

base/statistics.cc:
    change map to statMap so others can use the map<> token without needing ::.  also, add a level of GenBin that is public base class for StatBin<>.
base/statistics.hh:
    fix a bug in binning that made bins a fixed size no matter what.  add GenBin class that is public but not templatized.

--HG--
extra : convert_revision : 6976a891e414c9515cc5a613157f7cb86ef89008
2003-10-30 19:18:53 -05:00
Ron Dreslinski
16e0a941c5 Fix initial state of dmaDoneCB and bufferCB for serialization
--HG--
extra : convert_revision : dbe5a98515c64f378cb52469a3121b6f51275646
2003-10-30 17:45:23 -05:00
Ron Dreslinski
1044b29a1d Serialization support for cow images
dev/disk_image.cc:
dev/disk_image.hh:
    Serialization of cow images

--HG--
extra : convert_revision : 144179b8cad00b32df8c448a8556a465e24737aa
2003-10-30 16:48:23 -05:00
Steve Raasch
fd232ecb6a Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/y/sraasch/serialize

--HG--
extra : convert_revision : ebb65c27685394826efc265bcc674577395e0963
2003-10-30 15:16:05 -05:00
Steve Raasch
48ce8b70e6 Add serialization (which Nate now says we probably don't need)
--HG--
extra : convert_revision : e075fafdf6e72a424110a120e24ca71cb44cfb03
2003-10-30 15:16:00 -05:00
Steve Raasch
9dac0d3c56 Add support for serialization
--HG--
extra : convert_revision : ff6c93ee2f4e6aeb5a824958c52f62d6c2a1cdfd
2003-10-30 15:15:27 -05:00
Erik Hallnor
2e2d209968 Finish serializing ScsiDisk and DmaRequest
--HG--
extra : convert_revision : 655e50d7ef9b25a054b8069f0a20076659457fea
2003-10-30 15:09:29 -05:00
Erik Hallnor
b0516075fb runAddrLast and runDataLast shouldn't be stats
--HG--
extra : convert_revision : 136673e6a4c0db57b2b0a12fe68e5a04eebfeadf
2003-10-30 15:08:45 -05:00
Steve Raasch
101aa8090a Add support for serialization
base/pollevent.hh:
    Add queued() member function to indicate if this event has been queued

--HG--
extra : convert_revision : bebb04dc8e10c1043e55e0036806bd1ca4fec167
2003-10-30 11:47:21 -05:00
Erik Hallnor
8c03573e8f Fix doxygen warnings from the change to Checkpoint.
--HG--
extra : convert_revision : 31120c27c42b34f62d2c0b7dde0e6d6bf9f04619
2003-10-30 11:38:08 -05:00
Steve Raasch
5590c7bfa5 Merge previous changes with format change
--HG--
extra : convert_revision : 1c34c9a81311422085e5ba23edea08e3997e9419
2003-10-30 10:44:55 -05:00
Steve Reinhardt
045eac3bdf Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 0bd243f9c3d69d260ca25d0738e730e63c784878
2003-10-30 07:19:47 -08:00
Steve Raasch
735648fe3b Fix/finish serialization
--HG--
extra : convert_revision : 43160ad0d3f5ea4dbf2a628a60db0ebe805b5203
2003-10-30 10:13:10 -05:00
Steve Reinhardt
ec9d41c46a Add some comments explaining ExecContext::Status enum.
cpu/exec_context.hh:
    Add some comments explaining Status enum.

--HG--
extra : convert_revision : 87fdb5d9c09d2a08ab0cff9fa38da2579a550477
2003-10-30 07:08:35 -08:00
Steve Reinhardt
f60a75f708 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk2/m5
--HG--
extra : convert_revision : a4c2b6366b75f2561af672916e56c0c7fea14085
2003-10-30 07:02:37 -08:00
Steve Reinhardt
217ad63b4d New tracediff script for invoking rundiff on two copies of the simulator.
--HG--
extra : convert_revision : a399fd95fe57a3f9247a2675c363e6d3cc953a7e
2003-10-30 07:01:46 -08:00
Steve Reinhardt
2f8d858e13 Get rid of lots of obsolete mentions of stat_sdb_t.
base/predictor.hh:
base/sat_counter.hh:
sim/param.hh:
    Get rid of spurious references to stat_sdb_t.

--HG--
extra : convert_revision : 0018a940c69b6e31b85fd85354b9d5ce2fd0aa6f
2003-10-29 22:22:03 -08:00
Steve Reinhardt
735b187a06 Merge Steve & Erik's etherdev & scsi changes with mine (specifically
new arg type for unserialize()).

dev/etherpkt.hh:
    unserialize() takes Checkpoint* instead of IniFile* now.

--HG--
extra : convert_revision : 21b9d97350a591b0f95d84f6c0cfcdfa0b28d714
2003-10-29 22:13:16 -08:00
Steve Reinhardt
9a88c8e17d Merge.
--HG--
extra : convert_revision : 1552730090e0904fbc4e4c8f515b306355cb66f3
2003-10-29 21:50:28 -08:00
Steve Reinhardt
5a1eb9049d Support for Serializable non-SimObject things like events.
Can now serialize & unserialize DmaRequestEvents and DmaTransferEvents.
Also support serialize/unserialize of pointers to SimObjects and
other Serializable objects.

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:
    unserialize() now takes a Checkpoint* instead of an IniFile*.
cpu/simple_cpu/simple_cpu.cc:
    unserialize() now takes a Checkpoint* instead of an IniFile*.
    Put ExecContext in its own section so its _status fields doesn't conflict.
sim/eventq.cc:
sim/eventq.hh:
    unserialize() now takes a Checkpoint* instead of an IniFile*.
    Events get serialized by the event queue only if they're marked
    as AutoSerialize... others are assumed to be serialized by something
    else (e.g. an owning SimObject) or to not matter.
sim/param.cc:
    Shift 'const' in case T is a ptr type.
sim/serialize.cc:
sim/serialize.hh:
    Define Checkpoint object to encapsulate everything you need to know
    about a checkpoint.  Use it to allow lookups of named Serializable
    objects (and SimObjects) during unserialization.
    unserialize() now takes a Checkpoint* instead of an IniFile*.

--HG--
extra : convert_revision : 8e6baab32405f8f548bb67a097b2f713296537a5
2003-10-29 21:45:39 -08:00
Erik Hallnor
a984404691 scsi_disk.cc:
Serialize data as an array, more compact

--HG--
extra : convert_revision : fb0d46e27b7fa976bb6afa4fdb41c981bd2b0fba
2003-10-30 00:03:31 -05:00
Erik Hallnor
93a60eb9a7 Serialization and documentation.
--HG--
extra : convert_revision : c9345685e08587b4dabd5ad04ea808711b42db41
2003-10-29 23:30:19 -05:00
Steve Raasch
8835aae3e3 Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/y/sraasch/serialize

--HG--
extra : convert_revision : 5fab5b232026a2262e25b7eea4ede9b72d8c86ec
2003-10-29 20:25:03 -05:00
Steve Raasch
dcc0197caa Add serialization for etherdev
These changes don't seem to break anything, and may even be correct.

dev/etherpkt.hh:
    Add serialization

--HG--
extra : convert_revision : 02962b9bef01c1c3f35a095788117bd95e7ed4bc
2003-10-29 20:24:47 -05:00
Steve Reinhardt
976429121c Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/ser/m5
--HG--
extra : convert_revision : 4a94a6200bb5fb38983ae785d3fb20f2a3dd8fe7
2003-10-29 14:46:12 -08:00
Steve Reinhardt
ec32c6d4fd Add license to new isa_traits.cc file.
--HG--
extra : convert_revision : fe7346e509c063d72def2298fa997fdec14b60be
2003-10-29 14:43:04 -08:00
Lisa Hsu
37b48c1d89 bus.cc:
don't need to clear these stats runAddrLast and runDataLast in the bus constructor, since stats are automatically cleared on creation.

--HG--
extra : convert_revision : a6ee5e5779e2b854c6b78dabfa4ed99978cbc41a
2003-10-29 17:29:37 -05:00
Steve Reinhardt
aca5cd7109 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/ser/m5
--HG--
extra : convert_revision : f5ca2dfe3524e40f9d9db2b01e1846014dfb9a6f
2003-10-29 14:25:17 -08:00
Erik Hallnor
13ecb4932a Use the correct definition of the max DMA pages
--HG--
extra : convert_revision : ab5221605d28cbb3d0159bc8c5da17c5bfda66b4
2003-10-29 17:18:33 -05:00
Steve Reinhardt
71c11d0631 Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/ser/m5
--HG--
extra : convert_revision : abe99bd7f4632eea51fba97273ac024f81b0ddae
2003-10-29 13:35:18 -08:00
Steve Reinhardt
af5277a678 Serialization support for Alpha TLBs, PhysicalMemory, and SimpleCPU.
arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
    Serialize TLB contents.
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
    Complete serialization of SimpleCPU (including owned events).
sim/eventq.cc:
sim/eventq.hh:
    Basic serialization for events.
    Still need to handle dynamic events (not owned by a SimObject).
sim/serialize.cc:
sim/serialize.hh:
    Export serialization filename so PhysicalMemory can
    derive its filename from that.

--HG--
extra : convert_revision : 4db851c5880f73f576ca092d5e5ad4256048eb51
2003-10-29 13:35:07 -08:00
Erik Hallnor
b45a0808aa Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 9497a4015940e7fb7151e09f70e84134458ee877
2003-10-29 16:25:23 -05:00
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