Commit graph

3856 commits

Author SHA1 Message Date
Kevin Lim
ad2fa1e1c9 Support profiling.
--HG--
extra : convert_revision : eab02dea68442bd3f8c5d1d16b7f93f43cbda2a5
2006-08-24 17:43:08 -04:00
Kevin Lim
74e8abd37e Switch out fixups for the CPUs.
cpu/cpu_exec_context.cc:
    Be sure to switch over the kernel stats so things don't get messed up.  This may lead to weird stats files for sampling runs (detailed stats should be correct, regardless of which kernel stats this is defined on).
cpu/o3/cpu.cc:
    Updates for switching out.  Also include a bunch of debug info if needed.
cpu/o3/fetch_impl.hh:
    Switch out properly.
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
    Comment out unused stats (they made the stats file huge).
cpu/o3/lsq_unit.hh:
cpu/o3/lsq_unit_impl.hh:
    Add in new stat.
cpu/o3/rename.hh:
    Fix up for switching out.
cpu/o3/rename_impl.hh:
    Fix up for switching out.  Be sure to mark any Misc regs as ready if their renamed inst got squashed from being switched out.
cpu/ozone/cpu_impl.hh:
cpu/simple/cpu.cc:
    Switch out fixup.
sim/eventq.hh:
    Make CPU switching more immediate.
    Also comment out the assertion, as it doesn't apply if we're putting it on an inst-based queue.

--HG--
extra : convert_revision : f40ed40604738993f061e0c628810ff37a920562
2006-08-24 17:29:34 -04:00
Kevin Lim
5da3f70560 Update checker.
cpu/checker/cpu.cc:
    Print better error messages.
cpu/checker/cpu.hh:
    Fix up small bug (similar to Ozone's DynInsts with FPs and float/doubles), output better messages.

--HG--
extra : convert_revision : 0e199b3dbbcdb5917cdfbebb4c5c18e4b9056c86
2006-08-24 17:22:31 -04:00
Kevin Lim
9fef4d4630 Stats reset, profiling stuff.
cpu/base.cc:
    Be sure to deschedule the profile event so it doesn't take profiles while the CPU is switched out.

    Also include the option to reset stats at a specific instruction.
cpu/base.hh:
    Include the option to reset stats at a specific instruction.
cpu/checker/cpu_builder.cc:
    Handle stats reset inst.
cpu/o3/alpha_cpu_builder.cc:
    Handle stats reset inst, allow for profiling.
cpu/ozone/cpu_builder.cc:
    Handle profiling, stats reset event, slightly different parameters.
python/m5/objects/BaseCPU.py:
    Add in stats reset.

--HG--
extra : convert_revision : e27a78f7fb8fd19c53d9f2c1e6edce4a98cbafdb
2006-08-24 16:06:45 -04:00
Steve Reinhardt
383b2830b8 Update a few bogus reference outputs
tests/quick/00.hello/ref/alpha/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/stderr:
tests/quick/00.hello/ref/alpha/linux/simple-atomic/stdout:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/stdout:
    Update reference outputs

--HG--
extra : convert_revision : 4b7837c90c14f0822b38d36bd821bc9eed316fd0
2006-08-24 14:31:31 -04:00
Kevin Lim
4a2c50bc8f Support loading in a symbol file.
arch/alpha/freebsd/system.cc:
arch/alpha/isa/decoder.isa:
arch/alpha/linux/system.cc:
arch/alpha/system.cc:
arch/alpha/tru64/system.cc:
    Let symbol files be read in so that profiling can happen on the binaries as well.
python/m5/objects/System.py:
    Add in symbol files.
sim/pseudo_inst.cc:
    Load in a specified symbol file.
sim/pseudo_inst.hh:
    Allow for symbols to be loaded.
sim/system.hh:
    Support symbol file.
util/m5/m5.c:
util/m5/m5op.S:
    Add support to m5 util for loading symbols (and readfile).

--HG--
extra : convert_revision : f10c1049bcd7b22b98c73052c0666b964aff222b
2006-08-23 16:57:07 -04:00
Ron Dreslinski
95e7b85c8b Still need LL/SC support in cache, add hack to always return success for now
--HG--
extra : convert_revision : b354bd91be8c1bbb3aca7b4ba9e7e3e117ced164
2006-08-22 16:09:34 -04:00
Ron Dreslinski
9f18764441 Commiting a version of the multi-phase snoop atomic bus so people can see the framework. Doesn't work, but also doesn't break uni-processor systems.
Working on pulling out the changes in the cache so that it remains working.

src/mem/bus.cc:
    Changes for multi-phase snoop
    Some code for registering snoop ranges (a version that compiles and runs, but does nothing)
src/mem/bus.hh:
    Changes for multi-phase snoop
src/mem/packet.hh:
    Flag for multi-phase snoop
src/mem/port.hh:
    Status for multi-phase snoop

--HG--
extra : convert_revision : 4c2e5263bba16e3bcf03aabe36ff45ec36de4720
2006-08-22 16:08:18 -04:00
Ron Dreslinski
3a45e9b8cb Merge zizzer:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/newmem

--HG--
extra : convert_revision : ccbca1320471d809d25a6359b79d9f2d46c6ce73
2006-08-22 11:09:53 -04:00
Ron Dreslinski
9235b11151 Update refs for tru64 with initialized cache stats
--HG--
extra : convert_revision : 708553b57307c353d6a8e403dc1ed4deb6dd2dfb
2006-08-22 11:08:02 -04:00
Gabe Black
dda9819d93 Fix annulled unconditional branches
--HG--
extra : convert_revision : 698b0ce38c7a47306f97df2cc80cdae4a51b22c7
2006-08-21 22:41:57 -04:00
Gabe Black
3fa57c21f5 Merge zizzer.eecs.umich.edu:/bk/newmem
into  ewok.(none):/home/gblack/m5/newmem

--HG--
extra : convert_revision : 46e14792cfd18e4e27935b848c9953a7c44e9334
2006-08-21 18:25:34 -04:00
Steve Reinhardt
a016e13a52 SConstruct:
Add checks for swig & libz, version check for swig.
Factor out version check code into function, use for mysql too.

SConstruct:
    Add checks for swig & libz, version check for swig.
    Factor out version check code into function, use for mysql too.

--HG--
extra : convert_revision : a077d961ae52011141fbf5021b167485f8638139
2006-08-21 18:25:33 -04:00
Gabe Black
ad867018d0 Merge zizzer.eecs.umich.edu:/bk/newmem
into  ewok.(none):/home/gblack/m5/newmem

--HG--
extra : convert_revision : 15d8fd51f0c70da4d2e52c11864f3ab0f3f62811
2006-08-21 15:09:18 -04:00
Ron Dreslinski
4ea3973387 Update REFs for statistics patch in cache
--HG--
extra : convert_revision : 8987d3ab62ea4b2fa18ebd40fc980b30561d7e45
2006-08-21 15:09:17 -04:00
Gabe Black
0b0556a1da Got rid of the aux_data array since it shouldn't have existed.
Added in the filename parameter which is provided for the user space linker.
Fix the ordering and alignment of stack elements.
Made mmap start with the address it has been seen starting with "in the wild"

--HG--
extra : convert_revision : 8734753145f59a6cb433e4f92f43cb28a44b56d4
2006-08-21 14:29:50 -04:00
Gabe Black
623c697a3f Fixed the parameters to memset. sizeof(regSegments[x]) may have been returning the size of a pointer to an IntReg
--HG--
extra : convert_revision : 02c04ffceb447b7683ba5ebd4752819d0014cc19
2006-08-21 14:25:51 -04:00
Gabe Black
e54c5c99de Two bugs found by my tracing tool.
1. alignaddr wrote it's address to a floating point register rather than a gpr.
2. sethi was sign extending it's immediate value.

--HG--
extra : convert_revision : 9aa30a6485bc4cba916367973b986d439b7c7588
2006-08-21 14:23:39 -04:00
Ron Dreslinski
689eb39d48 Merge zizzer:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/newmem

src/python/m5/objects/BaseCPU.py:
    Merge duplicate change

--HG--
extra : convert_revision : 214e57999ee78aadfc86e1f0b7198ff0d981ce16
2006-08-21 13:20:35 -04:00
Ron Dreslinski
825a7aadd2 Changes so that time in the packet is actually set properly.
src/mem/packet.hh:
    Make sure packets set the time parameter correctly.

--HG--
extra : convert_revision : e381d2789e0aaa1b6c2fbde417b7ba5815deec61
2006-08-21 13:16:46 -04:00
Steve Reinhardt
21b21c63b0 fs.py:
Add temporary cpu.mem parameter settings.

configs/example/fs.py:
    Add temporary cpu.mem parameter settings.

--HG--
extra : convert_revision : d7c2fcd8df8dc809b0511485877b2a85769aaf43
2006-08-21 12:31:59 -04:00
Steve Reinhardt
25643e07c8 TEST_CPU_MODELS isn't used anymore.
--HG--
extra : convert_revision : 742bda87e79657573cec404b8650fa26d189d1a1
2006-08-20 23:13:35 -07:00
Steve Reinhardt
07994c2367 Add Alpha Linux version of "hello world" test.
--HG--
extra : convert_revision : 22cd31c58f18fd92bd61ee4b4a218926f7290045
2006-08-20 22:48:30 -04:00
Steve Reinhardt
eb1f1336b3 Alpha "hello world" test is really Tru64 not Linux... oops.
--HG--
rename : tests/quick/00.hello/ref/alpha/linux/simple-atomic/m5stats.txt => tests/quick/00.hello/ref/alpha/tru64/simple-atomic/m5stats.txt
rename : tests/quick/00.hello/ref/alpha/linux/simple-atomic/stderr => tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stderr
rename : tests/quick/00.hello/ref/alpha/linux/simple-atomic/stdout => tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stdout
rename : tests/quick/00.hello/ref/alpha/linux/simple-timing/config.ini => tests/quick/00.hello/ref/alpha/tru64/simple-timing/config.ini
rename : tests/quick/00.hello/ref/alpha/linux/simple-timing/config.out => tests/quick/00.hello/ref/alpha/tru64/simple-timing/config.out
rename : tests/quick/00.hello/ref/alpha/linux/simple-timing/m5stats.txt => tests/quick/00.hello/ref/alpha/tru64/simple-timing/m5stats.txt
rename : tests/quick/00.hello/ref/alpha/linux/simple-timing/stderr => tests/quick/00.hello/ref/alpha/tru64/simple-timing/stderr
rename : tests/quick/00.hello/ref/alpha/linux/simple-timing/stdout => tests/quick/00.hello/ref/alpha/tru64/simple-timing/stdout
rename : tests/test-progs/hello/bin/alpha/linux/hello => tests/test-progs/hello/bin/alpha/tru64/hello
extra : convert_revision : 583c30603e51304c9a19e3ae25fbf0623be0489d
2006-08-20 22:40:15 -04:00
Steve Reinhardt
b83d0e5544 configs/example/fs.py:
Arg to m5.simulate() is a delta, not an absolute curTick value.
I didn't test this change, but I'm not convinced the previous
example was tested either, so I don't feel too badly about it.

configs/example/fs.py:
    Arg to m5.simulate() is a delta, not an absolute curTick value.
    I didn't test this change, but I'm not convinced the previous
    example was tested either, so I don't feel too badly about it.

--HG--
extra : convert_revision : ef7df7b83b3e2b5da02408c674169ccbed75a441
2006-08-20 19:28:58 -07:00
Steve Reinhardt
5d17465d93 SConscript:
Fix BATCH_CMD bug.

tests/SConscript:
    Fix BATCH_CMD bug.

--HG--
extra : convert_revision : 696d51a67790506db749244edf4afab920a63d1b
2006-08-19 03:16:11 -04:00
Steve Reinhardt
a12dbc3074 Update reference outputs
--HG--
extra : convert_revision : 110a6c51cc1c562d115492b7360bfdbbded8eefd
2006-08-18 00:17:21 -04:00
Steve Reinhardt
4e3164617a Add caches in, fix cpu.mem param
--HG--
extra : convert_revision : 486283d83786807c72bb4601e4b9613b55d8802c
2006-08-18 00:16:23 -04:00
Steve Reinhardt
2b70b74c9b Changes to build m5.fast
--HG--
extra : convert_revision : 2ec600b8e72e40e8b96e3b1dbe0334aa05e0f30b
2006-08-17 23:13:11 -04:00
Kevin Lim
a21afd7bc4 Add readfile back in.
--HG--
extra : convert_revision : 0b64f2d95b439b19f1131fe00f45da56617b0026
2006-08-17 19:16:03 -04:00
Ali Saidi
399c01aceb Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/tmp/m5.newmem

--HG--
extra : convert_revision : 49289cfe8d547045dd89133db71d16318bc8510b
2006-08-17 18:47:04 -04:00
Ali Saidi
a3bf5f1953 add default range to PhysicalMemory
--HG--
extra : convert_revision : 0a622ab0f0f7653d28d4ed3dd27113ae2bc82cae
2006-08-17 18:46:43 -04:00
Steve Reinhardt
4a071f3cb0 SConstruct:
rename build/*/test dir to build/*/tests for consistency

SConstruct:
    rename build/*/test dir to build/*/tests for consistency

--HG--
extra : convert_revision : 6af3cf6b2d6582b2c4d2bc9211e44767e0fa494f
2006-08-17 04:04:28 -04:00
Lisa Hsu
2118b2faff AUTHORS:
minor change

AUTHORS:
    minor change

--HG--
extra : convert_revision : b638f14f0541ff5d48546c7fcd27d1bf0bdf615f
2006-08-17 00:44:54 -04:00
Lisa Hsu
a99534d429 Merge zizzer:/bk/newmem
into  zed.eecs.umich.edu:/z/hsul/work/m5/newmem

--HG--
extra : convert_revision : 382a9d4b420a9bdb35f93049306b7b7af0d33ad5
2006-08-17 00:02:38 -04:00
Lisa Hsu
a88a6758ce make tree rcS files reflect what we've been actually using in /dist.
also, update all the rcS files so that they are in sync with the new linux-dist build system.

configs/boot/devtime.rcS:
configs/boot/iscsi-client.rcS:
configs/boot/iscsi-server.rcS:
configs/boot/micro_memlat.rcS:
configs/boot/micro_stream.rcS:
configs/boot/micro_tlblat.rcS:
configs/boot/nat-netperf-maerts-client.rcS:
configs/boot/nat-netperf-server.rcS:
configs/boot/nat-netperf-stream-client.rcS:
configs/boot/nat-spec-surge-client.rcS:
configs/boot/nat-spec-surge-server.rcS:
configs/boot/natbox-netperf.rcS:
configs/boot/natbox-spec-surge.rcS:
configs/boot/netperf-rr.rcS:
configs/boot/netperf-server.rcS:
configs/boot/netperf-stream-client.rcS:
configs/boot/netperf-stream-nt-client.rcS:
configs/boot/nfs-client-nhfsstone.rcS:
configs/boot/nfs-client-tcp-smallb.rcS:
configs/boot/nfs-client-tcp.rcS:
configs/boot/nfs-client.rcS:
configs/boot/nfs-server-nhfsstone.rcS:
configs/boot/nfs-server.rcS:
configs/boot/ping-client.rcS:
configs/boot/ping-server.rcS:
configs/boot/spec-surge-client.rcS:
configs/boot/spec-surge-server.rcS:
configs/boot/surge-client.rcS:
configs/boot/surge-server.rcS:
    make tree rcS files reflect what we've been actually using in /dist.

--HG--
extra : convert_revision : 48fe4fe71938ef9d029e428028a271242c8d2faa
2006-08-17 00:00:27 -04:00
Ali Saidi
695f2a73d0 we don't want the old memory timing dram model either
--HG--
extra : convert_revision : 7de51b1e42cff8c0f377a21cfcb6d1d13df1847a
2006-08-16 23:56:53 -04:00
Ron Dreslinski
6eebfda2d9 Fix the caches not working in the regression
src/python/m5/objects/BaseCPU.py:
    Make mem parameter a MemObject, not just a PhysicalMemory
    Fix a reference not using self
tests/configs/simple-atomic.py:
    Set the mem paramter
tests/configs/simple-timing.py:
    Set the mem parameter

--HG--
extra : convert_revision : 6bd9df36831a1c5bafc9e88ab945c2ebe91db785
2006-08-16 23:46:54 -04:00
Ali Saidi
57db6caab1 Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/tmp/m5.newmem

--HG--
extra : convert_revision : b754945635cc0864fdd68ec4bee736aab9bca407
2006-08-16 23:39:44 -04:00
Ali Saidi
c7bb14ac79 DRAM Memory doesn't crash the simulator now.. still untested.
--HG--
extra : convert_revision : fa2d2c5ec4073383f1b2b2f466d0245f2d6a6c35
2006-08-16 23:39:31 -04:00
Ali Saidi
c6c5cc1ad5 we don't want the splash2 config files either, they haven't been converted yet
--HG--
extra : convert_revision : 09adadca1ead8d32589cf7a243fddd24fcc51f4b
2006-08-16 23:17:10 -04:00
Nathan Binkert
1749e1ab83 Add checkpointing and configuration stuff to the people that worked on it
--HG--
extra : convert_revision : 565f0144d3aa6194665e49e3b0ad314c5d671bba
2006-08-16 22:50:17 -04:00
Gabe Black
7b8ac2f5eb Added in SPARC ISA specifically. Thanks to whoever fleshed out my entry.
--HG--
extra : convert_revision : acb123227c7efbb46cc25e0ca69f7b2e2ec5b9c1
2006-08-16 22:17:24 -04:00
Ali Saidi
76ab1c466c add etherdump file option
--HG--
extra : convert_revision : 6b62398778208bc4e64582e06fb73b71a94f3014
2006-08-16 22:17:23 -04:00
Ali Saidi
402fbda3df Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/tmp/m5.newmem

--HG--
extra : convert_revision : f4fa62290ca2bbd4726fb6c8e89655dade53bb68
2006-08-16 19:01:23 -04:00
Ali Saidi
2f145ac54a Fix Physical Memory to allow memory sizes bigger than 128MB.
Kinda port DRAM to new memory system. The code is *really* ugly (not my fault) and right now something about the stats it uses
causes a simulator segfault.

src/SConscript:
    Add dram.cc to sconscript
src/mem/physical.cc:
src/mem/physical.hh:
    Add params struct to physical memory, use params, make latency function be virtual
src/python/m5/objects/PhysicalMemory.py:
    Add DRAMMemory python class

--HG--
extra : convert_revision : 5bd9f2e071c62da89e8efa46fa016f342c01535d
2006-08-16 19:01:11 -04:00
Steve Reinhardt
759626bdee Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/z/stever/bk/newmem-head

--HG--
extra : convert_revision : 3bf1742201e61d61a906d057b52dc158aa7be2d0
2006-08-16 18:48:32 -04:00
Steve Reinhardt
f3976f9cd9 More regression updates.
Get rid of caches in simple-timing config for now.

tests/SConscript:
    another line for diff to ignore
tests/configs/simple-timing.py:
    turn off caches for now
tests/quick/00.hello/ref/mips/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/mips/linux/simple-atomic/stdout:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/m5stats.txt:
tests/quick/00.hello/ref/sparc/linux/simple-atomic/stdout:
    update for inst/tick rate (old one was debug?)
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.ini:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/config.out:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/m5stats.txt:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stderr:
tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stdout:
    works now (no caches)

--HG--
extra : convert_revision : 472030f63297346976db6274a78235c93d4eef8e
2006-08-16 18:48:15 -04:00
Lisa Hsu
c475fd5211 Add in checkpointing in the frontend, so that when a checkpoint is called, the python handles it, and the simulation continues. Also, make it so that the cycle number is part of the cpt dir name, so that multiple checkpoints do not overwrite each other.
--HG--
extra : convert_revision : a55e4ac20da5a57ea8735951b9070960b9b8298f
2006-08-16 17:54:00 -04:00
Steve Reinhardt
df3af8018e Minor regression fixes.
src/python/m5/objects/BaseCPU.py:
    bug fix
tests/SConscript:
    fix up diff ignore strings to reflect changes
    in m5 output

--HG--
extra : convert_revision : b8e4acee34599ddd431b69fc9d40b6f6e440d128
2006-08-16 14:16:52 -07:00