Commit graph

2341 commits

Author SHA1 Message Date
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
Steve Reinhardt
35a0764307 Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : db4330ff1258261d8a07fee2cc0e813839fbb9d6
2003-10-22 07:10:34 -07:00
Steve Reinhardt
37a99b3090 Canonicalize bus name capitalization: bus to Foo is toFooBus.
--HG--
extra : convert_revision : 27ccea6f1aaf84779fa172ae2e5fa1747957e35c
2003-10-22 07:10:12 -07:00
Lisa Hsu
da62ad294e statistics.cc:
change printf to be printed only when something is binned so regression doesn't freak out.

base/statistics.cc:
    change printf to be printed only when something is binned so regression doesn't freak out.

--HG--
extra : convert_revision : cb60128fc3ab605aa7e915c7c7512cf93b156c96
2003-10-22 09:45:39 -04:00
Lisa Hsu
b525eb5bbe Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/m5
--HG--
extra : convert_revision : ac1087a763d62291ffe9858b10c8af82123a1826
2003-10-22 02:02:12 -04:00
Lisa Hsu
8a49c33064 statistics.hh:
forgot to doxygen comment binned()

base/statistics.hh:
    forgot to doxygen comment binned()

--HG--
extra : convert_revision : 7e414a3291e49b7b92bcbfec18470c3ec8671a35
2003-10-22 02:02:00 -04:00
Steve Reinhardt
8052c39ee3 Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 64dca52045cab9a08aec2d4d18e9e9dad4ebaa89
2003-10-21 22:39:08 -07:00
Steve Reinhardt
89eabdea70 Similar refactoring of SimpleCPU-based .ini files.
Add simple-events.ini for busses w/do_events=true, as this is all that seems to work at this point.

--HG--
extra : convert_revision : 0c5e64488b8f5860e39fa14b443b6c9bcd16c8bf
2003-10-21 22:38:40 -07:00
Erik Hallnor
faa490f96c Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5

--HG--
extra : convert_revision : 29cabd1c72f81ec89db5556ff9cf0128fe8af034
2003-10-22 01:18:35 -04:00
Erik Hallnor
a4b9c11539 bus.cc:
Update an assert to reflect the current state of the hierarchy

--HG--
extra : convert_revision : 33ddb05121c7614d12dcbf4b64fc6a8f4b97b0a3
2003-10-22 01:18:27 -04:00
Steve Reinhardt
afc6fbd32c Restructure uni-*.ini configs as a single base config (uni-hier.ini)
with a bunch of variants that include this and then just do deltas.
Note how much shorter the files are!  It's much easier to see what's going on,
too.  For example, is it intentional that uni-hier-compressed does not set
do_data on the L2 (though it does on the L1 & L3)?
Also got rid of a couple of old broken ones (uni-default and uni-perfect-L2).

--HG--
extra : convert_revision : 70a12c06a8deb9b1c59def313b48f69ab62efce2
2003-10-21 22:07:21 -07:00
Lisa Hsu
c6cc6f892c Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/m5
--HG--
extra : convert_revision : 8658302b64207390b03f9fe133ad722a1417e022
2003-10-22 01:05:00 -04:00
Steve Reinhardt
df3130d2ed Merge stever@zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
--HG--
extra : convert_revision : 070e7eadc64a104c9b176f911b0f05ab999deb47
2003-10-21 21:33:34 -07:00
Steve Reinhardt
de29fec658 Don't need to include sim/param.hh in sim_object.hh anymore.
Add explicit include of sim/param.hh to .cc files as needed.

cpu/base_cpu.cc:
cpu/exetrace.cc:
dev/etherint.cc:
sim/system.cc:
    Add include of sim/param.hh.
sim/sim_object.hh:
    Don't need to include sim/param.hh.

--HG--
extra : convert_revision : 8ed13f25c2087680230056ab7abb623e6a7699cf
2003-10-21 21:32:15 -07:00
Lisa Hsu
ffd083b8da Automerge
--HG--
extra : convert_revision : d14536880d6f55d4304c0bab1fa08a5121bd1846
2003-10-22 00:30:04 -04:00
Lisa Hsu
a2c87bfdf2 nate's reset stuff merged with my work on bin printing.
--HG--
extra : convert_revision : 438c94c90bfb3caffec461ad2c14b266cdf61494
2003-10-22 00:29:45 -04:00
Steve Reinhardt
5159241db7 New ini-file feature: += appends RHS to LHS.
Added doxygen comments to inifile.hh.
Updated initest.  Some other minor cleanup.

base/inifile.cc:
    Add support for '+=' append operation.
    Factor common code from IniFile::load() and IniFile::add() into new Section::add().
    Rename ConfigTable to SectionTable (more descriptive).
    Fix bug in Section::dump().
base/inifile.hh:
    Add doxygen comments.
    Add support for '+=' append operation.
    Factor common code from IniFile::load() and IniFile::add() into new Section::add().
    Rename ConfigTable to SectionTable (more descriptive).
test/Makefile:
    initest needs cprintf.o now.
test/foo.ini:
    Add test of '+=' operator.
test/initest.cc:
    Bring this up-to-date.  Steal main loop from main.cc so we can test
    multiple .ini files and command-line assignments too.

--HG--
extra : convert_revision : 982521677fbf464e93aa93798ff7d9611826f17c
2003-10-21 21:24:34 -07:00
Erik Hallnor
4709c41d74 Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : c703dff6f52bd994f95597d824997adb125d3194
2003-10-22 00:23:24 -04:00
Erik Hallnor
26ababf2f2 Probe is now in. You currently can't probe uncacheable (of course it doesn't make much sense either.
Also, probe doesn't currently support compressed data, but will as soon as I encapsulate the calls more.

cpu/memtest/memtest.cc:
    Change memtest to not do probes on uncacheables.

--HG--
extra : convert_revision : 28ca4f793562e55da75e8b7fc3852bb5b1328ea9
2003-10-22 00:22:25 -04:00
Lisa Hsu
66f115a2df statistics.hh:
same - bin printing
statistics.cc:
printing of bins!  now all the nice binning functionality is actually useful cuz you can see the data it so nicely took.  this prints out only the individual bin values.  totals to come.
statistics.hh:
add a binned() function to each stat so that at print time, we can know if it's binned in order to print it right.

base/statistics.hh:
    add a binned() function to each stat so that at print time, we can know if it's binned in order to print it right.
base/statistics.cc:
    printing of bins!  now all the nice binning functionality is actually useful cuz you can see the data it so nicely took.  this prints out only the individual bin values.  totals to come.
base/statistics.hh:
    same - bin printing

--HG--
extra : convert_revision : 09df9aae62b0e522230ee6bedcb51079346735a4
2003-10-21 23:56:31 -04:00
Lisa Hsu
a7c88ad2ae Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/clean
--HG--
extra : convert_revision : 112a99bde10ea9c56f2390389dd13c024e298331
2003-10-21 23:18:07 -04:00
Lisa Hsu
ede195161b statistics.hh:
fix up some very ambiguous doxygen comments about Formulas

base/statistics.hh:
    fix up some very ambiguous comments about Formulas

--HG--
extra : convert_revision : ad8d9579fd1933397590c78111bec7c0d19b0e14
2003-10-21 23:17:55 -04:00
Erik Hallnor
c0162074c6 Since we don't hand off writebacks anymore, need to actually copy the request when buffering it.
--HG--
extra : convert_revision : f4b7fbd6b8eb3715cac9c7ac41e95b588951ffc4
2003-10-21 21:04:22 -04:00
Erik Hallnor
adc99b427d I'll fix this screwup with the next change set
--HG--
extra : convert_revision : 4e1cef3aa3f3fbcfb59089298436face195b713f
2003-10-21 19:22:09 -04:00
Erik Hallnor
da1116a11a mem_debug.hh:
Add debug callout for cache probes.
miss_queue.hh, miss_queue.cc, blocking_buffer.hh:
Add support for snooping the write buffer.
cache.cc:
Snoop the Write buffer for writebacks on probes.

--HG--
extra : convert_revision : b183152acae6e802a49ff8b7c2ff02c455b2e02a
2003-10-21 19:19:37 -04:00
Erik Hallnor
6bc700e1ad Merge ehallnor@zizzer:/bk/m5
into zazzer.eecs.umich.edu:/z/ehallnor/clean

--HG--
extra : convert_revision : 53e6b239f96abce99a4cdd34ebcc565902435a7c
2003-10-21 19:15:03 -04:00
Erik Hallnor
67f6771721 When the Bus blocks now it lets the sender know it was a failed transmission. The request stays buffered in the sender, not on the bus like it used to be.
--HG--
extra : convert_revision : f6a486653b7a4912608f921bd4f7ac7f9dfe9093
2003-10-21 19:14:54 -04:00
Andrew Schultz
f600cff5c2 Created new M5 instruction to allow an integer parameter (init_param) to be specified in the INI and then read inside the simulator.
arch/alpha/isa_desc:
    Added new M5FUNC instruction to put allow reading of init_param inside simulator
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
sim/system.cc:
sim/system.hh:
    Added support for init_param

--HG--
extra : convert_revision : 8253f0b4239b194d4f04665c9deec1fcdf665c8a
2003-10-21 17:18:17 -04:00
Lisa Hsu
ae232a883a Merge zizzer:/bk/m5 into zower.eecs.umich.edu:/z/hsul/bk/clean
--HG--
extra : convert_revision : d639282e403cb085c452223a76cec31933a529aa
2003-10-21 15:45:56 -04:00
Lisa Hsu
f600ac613e statistics.hh:
change VectorDistProxy name to DistProxy - to be more consistent with other proxy namings.

base/statistics.hh:
    change VectorDistProxy name to DistProxy - to be more consistent with other proxy namings.

--HG--
extra : convert_revision : c470c93cf598506be56312db52f6c528c213a149
2003-10-21 15:45:48 -04:00
Erik Hallnor
f3d6ac18e8 Merge ehallnor@zizzer:/bk/m5 into zazzer.eecs.umich.edu:/z/ehallnor/m5
--HG--
extra : convert_revision : 1fcdbd9d2efc1e0490716de46c81e94f4b28678b
2003-10-21 01:53:41 -04:00
Erik Hallnor
456b9af0c8 memtest.cc:
Add probe calls to test update probe path.

cpu/memtest/memtest.cc:
    Add probe calls to test update probe path.

--HG--
extra : convert_revision : b0fb97b54b6ffce9c575fda680b778da63767b7c
2003-10-21 01:53:27 -04:00
Erik Hallnor
e99c0f901c Add the probe path to the hierarchy. Two flavors, one updates the location of the block in memory, the other just reads the most up to date data/writes data wherever it is found.
--HG--
extra : convert_revision : d03776f9b6f181fc543efe54f5628e5338f1df41
2003-10-21 01:51:59 -04:00
Nathan Binkert
02bacb2dfd Implement reset for stats.
base/statistics.cc:
base/statistics.hh:
    Implement a reset for for the statistics package.
    This will cause all stats to be set to their default value.
    Only the currently enabled bin will be reset.
test/Makefile:
    Make tests work again now that we're naming include dirs
    explicitly
test/stattest.cc:
    test reset

--HG--
extra : convert_revision : 8d21cedf6ee91ed0a2412042ea5cb12f79b90eb3
2003-10-20 23:08:27 -04:00
Nathan Binkert
df488c0e70 Clean up callbacks
base/callback.hh:
    Don't remove a callback when it is processed.
    Document the callback class

--HG--
extra : convert_revision : 9d15500434fe0e5d623c624aac86976708adf0eb
2003-10-20 21:38:32 -04:00
Nathan Binkert
e0b065ff7c Separate the stuff for SimObject from SimObject builder.
This makes testing a bit easier.

arch/alpha/alpha_memory.cc:
cpu/intr_control.cc:
cpu/memtest/memtest.cc:
cpu/simple_cpu/simple_cpu.cc:
dev/alpha_console.cc:
dev/console.cc:
dev/disk_image.cc:
dev/etherbus.cc:
dev/etherdump.cc:
dev/etherlink.cc:
dev/ethertap.cc:
dev/simple_disk.cc:
kern/tru64/tru64_system.cc:
sim/main.cc:
sim/prog.cc:
    Need to include builder.hh
    sort #includes
sim/sim_object.cc:
sim/sim_object.hh:
    Separate the SimObjectBuilder stuff into its own file

--HG--
extra : convert_revision : e8395e0cc6ae1f180f9cd6f100795a1ac44aeed5
2003-10-20 20:17:01 -04:00
Nathan Binkert
4963dbf9a9 Merge zizzer.eecs.umich.edu:/bk/m5
into crampon.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 98fcdc0b893b77230ec69597930a71af227bc490
2003-10-20 09:23:17 -04:00
Lisa Hsu
4489583dfe .del-post-incoming.regression~db4d380a8de2f027:
Delete: BitKeeper/triggers/post-incoming.regression

--HG--
extra : convert_revision : 48529712a47aa7b72fe666b4cccb290a4fa4812e
2003-10-20 01:05:07 -04:00