gem5.git
20 years agoEnable software prefetches in FullCPU by default.
Steve Reinhardt [Tue, 15 Jun 2004 21:08:34 +0000 (17:08 -0400)]
Enable software prefetches in FullCPU by default.

--HG--
extra : convert_revision : b492c3537b4ae443bfd2c4d8f17cebead389dfc6

20 years agoMerge isabel.reinhardt.house:/z/stever/bk/m5-head
Steve Reinhardt [Tue, 15 Jun 2004 17:48:31 +0000 (10:48 -0700)]
Merge isabel.reinhardt.house:/z/stever/bk/m5-head
into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : 1af377ff2dbe27f357410ab91a50b06c61f12e83

20 years agoGet software prefetching to work in full-system mode.
Steve Reinhardt [Tue, 15 Jun 2004 17:48:08 +0000 (10:48 -0700)]
Get software prefetching to work in full-system mode.
Mostly a matter of keeping prefetches to invalid addrs
from messing up VM IPRs.  Also discovered that wh64s were
not being treated as prefetches, when they really should be
(for the most part, anyway).

arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
    - Get rid of intrlock flag for locking VM fault regs (a la EV5);
    instead, just don't update regs on VPTE loads (a la EV6).
    - Add NO_FAULT MemReq flag to indicate references that should not
    cause page faults (i.e., prefetches).
arch/alpha/ev5.cc:
    - Get rid of intrlock flag for locking VM fault regs (a la EV5);
    instead, just don't update regs on VPTE loads (a la EV6).
    - Add Fault trace flag.
arch/alpha/isa_desc:
    - Add NO_FAULT MemReq flag to indicate references that should not
    cause page faults (i.e., prefetches).
    - Mark wh64 as a "data prefetch" instruction so it gets controlled
    properly by the FullCPU data prefetch control switch.
    - Align wh64 EA in decoder so issue stage doesn't need to worry about it.
arch/alpha/isa_traits.hh:
    - Get rid of intrlock flag for locking VM fault regs (a la EV5);
    instead, just don't update regs on VPTE loads (a la EV6).
base/traceflags.py:
    - Add Fault trace flag.
cpu/simple_cpu/simple_cpu.hh:
    - Pass MemReq flags to writeHint() operation.
cpu/static_inst.hh:
    Update comment re: prefetches.

--HG--
extra : convert_revision : 62e466b0f4c0ff9961796270fa2e371ec24bcbb6

20 years agoReconfigure ini files to match the default system that I'd like m5_1.0_beta2
Nathan Binkert [Tue, 15 Jun 2004 14:58:41 +0000 (10:58 -0400)]
Reconfigure ini files to match the default system that I'd like
to use for future papers.  Notable changes include a 3 level
cache hierarchy, a bug fix in the main memory bandwidth and
narrowing of the machine.

--HG--
extra : convert_revision : db0da82b0adaa5fa3413354e6d36bff9e3bd37dc

20 years agoAdd fast writes (wh64) back to the cache.
Erik Hallnor [Mon, 14 Jun 2004 04:45:30 +0000 (00:45 -0400)]
Add fast writes (wh64) back to the cache.

--HG--
extra : convert_revision : 48081c86da3f7959957e35f8ec868da55c68b5ce

20 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Erik Hallnor [Sun, 13 Jun 2004 09:52:59 +0000 (05:52 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5

--HG--
extra : convert_revision : 88c83150b7fd9260e0441334f2503b1e029d8c09

20 years agoAdd some rewritten trace readers.
Erik Hallnor [Sun, 13 Jun 2004 09:52:28 +0000 (05:52 -0400)]
Add some rewritten trace readers.

--HG--
extra : convert_revision : 4a085c5d8526d1bf3f7155cda40002281c0c3d1b

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Lisa Hsu [Thu, 10 Jun 2004 05:05:38 +0000 (01:05 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into shizzle.(none):/home/hsul/work/m5clean

--HG--
extra : convert_revision : 97a6fbe1d48c2f8855bd1b0971130b991dd48a80

20 years agoforgot to remove these files
Lisa Hsu [Thu, 10 Jun 2004 05:05:03 +0000 (01:05 -0400)]
forgot to remove these files

--HG--
extra : convert_revision : 91723409e22f36622b99309a3af227ea0c382cc7

20 years agolif kernelt stats out of tru64 directory
Lisa Hsu [Thu, 10 Jun 2004 05:02:33 +0000 (01:02 -0400)]
lif kernelt stats out of tru64 directory

cpu/exec_context.hh:
    change this to reflect the lifted kernel stats file.

--HG--
extra : convert_revision : 0dda3babdf51ee7a57430af69c7e20322b4eb622

20 years agoRename '*.odesc' files to '*.od'.
Steve Reinhardt [Thu, 10 Jun 2004 04:01:20 +0000 (21:01 -0700)]
Rename '*.odesc' files to '*.od'.

--HG--
extra : convert_revision : 68b4f1cc414ab67e7bd19682854ef3f0b28986c0

20 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Thu, 10 Jun 2004 03:53:29 +0000 (20:53 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : 10205d5b7bd10a5894dde9481d0909e909760874

20 years agoMinor restructuring of Python config code, mostly to avoid walking
Steve Reinhardt [Thu, 10 Jun 2004 03:46:29 +0000 (20:46 -0700)]
Minor restructuring of Python config code, mostly to avoid walking
the source tree for *.odesc files every time we run the script.
This is now factored out into load_odesc.py, which should be used
to generate m5odescs.py, which is then used as the source of object
& parameter definitions.

util/config/m5configbase.py:
    - Move odesc loading code to separate load_odescs.py, so maybe someday
    that can be done once at build time.
    - Print out children of a node in the order they are added.
    - Automatically assign a parent-less node to the first node for which it
    is used as the value of a parameter.  (Easier demonstrated than explained.)
    - Calculate object paths dynamically when requested rather than trying
    to keep them up to date as objects get assigned to parents.

--HG--
rename : util/config/m5config.py => util/config/m5configbase.py
extra : convert_revision : 2183a09d32f3862ab377e0a929715f30505a03cb

20 years agoDon't print 0 stats for memory commands we don't see.
Erik Hallnor [Wed, 9 Jun 2004 18:41:06 +0000 (14:41 -0400)]
Don't print 0 stats for memory commands we don't see.

--HG--
extra : convert_revision : e72c8bec85c72a48b0b5997d184922faf46c456c

20 years agoMake TraceCPU only compile in non-fullsystem.
Erik Hallnor [Wed, 9 Jun 2004 00:11:40 +0000 (20:11 -0400)]
Make TraceCPU only compile in non-fullsystem.

--HG--
extra : convert_revision : 5df611ae03f41093257672c0ad46bfddc58e515c

20 years agoTracing now works for upto 4 threads. Easy change to get it to work for more, but...
Erik Hallnor [Tue, 8 Jun 2004 23:52:49 +0000 (19:52 -0400)]
Tracing now works for upto 4 threads. Easy change to get it to work for more, but I don't have any test handy to test it.

cpu/trace/reader/m5_reader.cc:
    Add thread num.
cpu/trace/trace_cpu.cc:
    Increase thread count to 4, might want to make this a parameter (but it only really costs us storage).

--HG--
extra : convert_revision : 97cd7843668a3ef85aad06e3180dc04d2ca30ac1

20 years agoAdd the capability to read and write memory trace files. Currently is cycle accurate...
Erik Hallnor [Tue, 8 Jun 2004 21:31:04 +0000 (17:31 -0400)]
Add the capability to read and write memory trace files. Currently is cycle accurate for a single thread FullCPU.

--HG--
extra : convert_revision : f8fe545313eb307cc6f5ff2c23894cc9870b1d5b

20 years agoRename OpClass enum in .odesc file too.
Steve Reinhardt [Tue, 1 Jun 2004 00:39:06 +0000 (17:39 -0700)]
Rename OpClass enum in .odesc file too.

--HG--
extra : convert_revision : cb1824a1b6747fabf44ffcf40b45b71b052b2253

20 years agoRenamed OpClass enum members: they all end in 'Op' now.
Steve Reinhardt [Mon, 31 May 2004 23:19:31 +0000 (16:19 -0700)]
Renamed OpClass enum members: they all end in 'Op' now.
Got rid of two inconsistent sets of strings that corresponded
to this enum, and replaced with a single set that clearly
matches the enum names.

arch/alpha/isa_desc:
arch/isa_parser.py:
cpu/full_cpu/op_class.hh:
    Renamed OpClass enum members.

--HG--
extra : convert_revision : bf596f7568a20b2e77c07ac349f253135141aef4

20 years agoIgnore fast_cpu_exec.cc.
Steve Reinhardt [Mon, 31 May 2004 22:22:22 +0000 (15:22 -0700)]
Ignore fast_cpu_exec.cc.

--HG--
extra : convert_revision : 31495fbb3568a09e763978ea59e36cb239090fda

20 years agoAdd parameter defaults to .odesc files. There was a bug in
Steve Reinhardt [Mon, 31 May 2004 22:21:14 +0000 (15:21 -0700)]
Add parameter defaults to .odesc files.  There was a bug in
extract_odesc.py that caused these to get left out.

--HG--
extra : convert_revision : 32e76c8e699f3dd72937e92217f3ab43fb53b4de

20 years agoUpdated FastCPU model with all the recent changes.
Kevin Lim [Fri, 28 May 2004 18:42:59 +0000 (14:42 -0400)]
Updated FastCPU model with all the recent changes.

arch/alpha/ev5.cc:
    Updated to support new forms of setIntReg and setFloatRegDouble.  Will need to be cleaned up in the future.
arch/isa_parser.py:
    Added in FastCPU model.

--HG--
extra : convert_revision : 384a27efcb50729ea6c3cc11653f395c300e48db

20 years agoMerged in new FastCPU stuff with existing code.
Kevin Lim [Fri, 28 May 2004 15:41:52 +0000 (11:41 -0400)]
Merged in new FastCPU stuff with existing code.

arch/alpha/ev5.cc:
    Added templatized processInterrupts() function that can be used by all of the CPU models.
arch/alpha/isa_desc:
    Merged in changes to remove CPU dependence.
arch/isa_parser.py:
    Merged in changes.
cpu/static_inst.hh:
    Includes FastCPU execute methods.

--HG--
extra : convert_revision : fcaa1dca35a9b316c73982bec8680df564f50bd8

20 years agoFastCPU model added. It's very similar to the SimpleCPU, just without a lot of the...
Kevin Lim [Thu, 27 May 2004 21:46:16 +0000 (17:46 -0400)]
FastCPU model added.  It's very similar to the SimpleCPU, just without a lot of the stats tracking.
Also various changes to make the CPU model less ISA dependent, which includes moving the code that checks for interrupts up to the ISA level, moving code that zeroes the zero registers up to the ISA level, and removing opcode and ra from the regfile.

arch/alpha/alpha_memory.cc:
    The regfile has been changed so it no longer has the opcode and ra.  Instead the xc holds the actual instruction, and from there the opcode and ra can be obtained with OPCODE() and RA().
arch/alpha/ev5.cc:
    Moved code that once existed within simpleCPU to ev5, and templatized it.
    This way the CPU models can call processInterrupts and the ISA specific interrupt handling is left to the ISA's code.
    Also moved ISA specific zero registers from simpleCPU to here.
arch/alpha/ev5.hh:
    Added macros for obtaining the opcode and ra from the instruction itself, as there is no longer opcode or ra in the regfile.
arch/alpha/isa_desc:
    Added in declarations for the FastCPU model.
arch/alpha/isa_traits.hh:
    Removed opcode and ra from the regfile.  The xc now holds the actual instruction, and the opcode and ra can be obtained through it.
    Also added the declaration for the templated zeroRegisters() function, which will set the zero registers to 0.
arch/isa_parser.py:
    Added in FastCPUExecContext so it will generate code for the FastCPU model as well.
cpu/exec_context.cc:
    Added in a more generic trap function so "ev5_trap" doesn't need to be called.  It currently still calls the old method, with plans for making this ISA dependent in the future.
cpu/exec_context.hh:
    Exec context now has the instruction within it.  Also added methods for exec context to read an instruction from memory, return the current instruction, and set the instruction if needed.
    Also has declaration for more generic trap() function.
cpu/simple_cpu/simple_cpu.cc:
    Removed references to opcode and ra, and instead sets the xc's instruction with the fetched instruction.
cpu/static_inst.hh:
    Added declaration for execute() using FastCPUExecContext.

--HG--
extra : convert_revision : 0441ea3700ac50b733e485395d4dd4ac83666f92

20 years agotest to see if pushing to m5-tru64 triggers an e-mail
Ali Saidi [Thu, 27 May 2004 18:20:50 +0000 (14:20 -0400)]
test to see if pushing to m5-tru64 triggers an e-mail

--HG--
extra : convert_revision : df7aab669a8521d031c7202e36c3c086fa979854

20 years agopostint, postext:
Steve Reinhardt [Thu, 27 May 2004 18:12:49 +0000 (14:12 -0400)]
postint, postext:
Fix output path /m5 -> /z/m5

--HG--
extra : convert_revision : 11ebcc7e62f02be8b0aeb8857eebc33a27e29513

20 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
Steve Reinhardt [Thu, 27 May 2004 18:06:39 +0000 (14:06 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5

--HG--
extra : convert_revision : 38d50d3d3640f02622e5ace5ac12b67d63eda3f0

20 years agoconfig_files.doxygen:
Steve Reinhardt [Thu, 27 May 2004 18:06:29 +0000 (14:06 -0400)]
config_files.doxygen:
Apparently <> don't need backslashes if they're inside dbl-quoted strings.

--HG--
extra : convert_revision : dd5294781d0ef818d1a5b622f3415510baefb402

20 years agomake the interaction of the stats event stuff with the
Nathan Binkert [Sun, 23 May 2004 16:53:34 +0000 (12:53 -0400)]
make the interaction of the stats event stuff with the
database work better.

base/stats/events.cc:
    properly connect to the database
base/stats/mysql.cc:
    cleanup the event stuff too

--HG--
extra : convert_revision : f05fd6456decc9c4f95beff5c12497439e45f886

20 years agofix column name for indexes
Nathan Binkert [Fri, 21 May 2004 19:06:04 +0000 (15:06 -0400)]
fix column name for indexes

--HG--
extra : convert_revision : 34831eed6b218e470096f010438fd2f32a4960c5

20 years agoadd a few statistics events
Nathan Binkert [Fri, 21 May 2004 17:58:39 +0000 (13:58 -0400)]
add a few statistics events

arch/alpha/ev5.cc:
    Add an event for faults
cpu/simple_cpu/simple_cpu.cc:
    add events for uncached reads/writes

--HG--
extra : convert_revision : 747bdf12761e2de6ebbf54fecc9e0b71915b3a02

20 years agoAdd support for event tracking. Esentially this puts a sequence
Nathan Binkert [Fri, 21 May 2004 17:57:44 +0000 (13:57 -0400)]
Add support for event tracking.  Esentially this puts a sequence
of events into the database for a given run.

base/stats/mysql.cc:
base/stats/mysql.hh:
    reorganize mysql stat stuff so that other stuff can use
    the same database connection
base/traceflags.py:
    Trace flag to print out events

--HG--
extra : convert_revision : 4d502532ed0ba40b42baefee46b2c99defcc620c

20 years agoChange the namespace Statistics to Stats
Nathan Binkert [Fri, 21 May 2004 17:03:17 +0000 (13:03 -0400)]
Change the namespace Statistics to Stats

--HG--
extra : convert_revision : 3084b292bbe2e8a392af8e99a31763ca0b0a9467

20 years agoUpdate the adaptive cache compression scheme.
Erik Hallnor [Fri, 21 May 2004 03:26:44 +0000 (23:26 -0400)]
Update the adaptive cache compression scheme.

--HG--
extra : convert_revision : 50c158b0545c29c03e346f1bd2952951ac77659b

20 years agoMerge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
Nathan Binkert [Thu, 20 May 2004 02:00:30 +0000 (22:00 -0400)]
Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : d5f03880c6564b80f662a467524c79aa90b1a0b0

20 years agoReplaced by python
Nathan Binkert [Thu, 20 May 2004 01:54:05 +0000 (21:54 -0400)]
Replaced by python

--HG--
extra : convert_revision : 5c95c2b3169b8b1a51166d7f8fcde3de39fa30f9

20 years agoAdd a level of indirection to the register accessors used in
Steve Reinhardt [Wed, 19 May 2004 05:09:13 +0000 (22:09 -0700)]
Add a level of indirection to the register accessors used in
instruction execute methods.  Register i now means the instruction's
i'th src (or dest) operand, not architectural register i.  Current
models that use the architectural reg index can look that up easily
in the instruction object.  Future models that do register renaming
should find this much simpler to deal with.

arch/isa_parser.py:
    Generate register accessors with an extra level of indirection.
cpu/simple_cpu/simple_cpu.hh:
    Modify register accessors to use an extra level of indirection.

--HG--
extra : convert_revision : f4c7d6bfa92fb2ea6251f31ee368809c3643f08f

20 years agoReplace explicit xc->misspeculating() tests in execute() methods
Steve Reinhardt [Tue, 18 May 2004 23:09:02 +0000 (16:09 -0700)]
Replace explicit xc->misspeculating() tests in execute() methods
with an IsNonSpeculative flag.
No effect on results of non-full-system or SimpleCPU.
Very small impact on full-system FullCPU runs since old wrong-path
call_pal insts used to change the PC, where now they're treated
as no-ops.

arch/alpha/isa_desc:
    Get rid of xc->misspeculating() checks, use IsNonSpeculative flag instead.
cpu/static_inst.hh:
    Add IsNonSpeculative flag and isNonSpeculative() method to test it.

--HG--
extra : convert_revision : 7ec536bfc28b905c429c09eb920ed73ef2beeeba

20 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Mon, 17 May 2004 19:10:28 +0000 (12:10 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : 4dae71fe3482737a22745b27c2ca6983191c4a18

20 years agolift system-independent binning stuff out of Tru64System into System.
Lisa Hsu [Mon, 17 May 2004 19:08:24 +0000 (15:08 -0400)]
lift system-independent binning stuff out of Tru64System into System.

kern/tru64/tru64_system.cc:
    make binned_fns a parameter for System in addition to Tru64System.  Do all the fnEvents setting at the System level, since that is system-independent.
kern/tru64/tru64_system.hh:
    deal with FnEvents in the System, and move some fns over to System.
sim/system.cc:
sim/system.hh:
    lift binning stuff into System out of Tru64System

--HG--
extra : convert_revision : 591dee6f2013f5c43037726c529a00682b5cf82e

20 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Mon, 17 May 2004 18:50:02 +0000 (11:50 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : 266d03e82a04cca07f669f778ad11907f2f003d2

20 years agoSignificant changes to ISA description to completely factor
Steve Reinhardt [Mon, 17 May 2004 18:49:46 +0000 (11:49 -0700)]
Significant changes to ISA description to completely factor
out CPU model.  ISA description now generates multiple
output source files to (in theory) reduce compilation time.

arch/alpha/isa_desc:
    Update for parser changes.  Move most constructors
    out of class declarations (which are now in decoder.hh)
    and into decoder.cc.  Move all execute() methods into
    exec output.
arch/isa_parser.py:
    Significant changes to make ISA description completely
    independent of CPU model, and isolate model-dependent parts
    of parser into one little class (CpuModel).  Also split up code
    output into multiple files (a header, a main source file, and
    per-cpu execute() method files).

    Noticeable changes to language as a result.  See updated Doxygen
    documentation.
cpu/simple_cpu/simple_cpu.hh:
    SimpleCPUExecContext typedef no longer needed.
    Add forward declaration of Process.
cpu/static_inst.hh:
    SimpleCPUExecContext and FullCPUExecContext typedefs no longer needed.
    Make eaCompInst() and memAccInst() return const refs.

--HG--
extra : convert_revision : 71471f267804fafd0a881bac7445677e76334daf

20 years agopush the new system_events file that i was prevented from pushing way back when cable...
Lisa Hsu [Mon, 17 May 2004 17:22:19 +0000 (13:22 -0400)]
push the new system_events file that i was prevented from pushing way back when cable died. :(.  also, fix the printing of binned stats, it was printing hex values instead of bin names.

base/stats/text.cc:
    fix the printing of binned stats.

--HG--
extra : convert_revision : 3a04d004f5ea1d90536f7102fce946fd6dd34613

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Lisa Hsu [Mon, 17 May 2004 14:40:45 +0000 (10:40 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into shizzle.(none):/home/hsul/work/m5

--HG--
extra : convert_revision : fb775c1ed5ac9712929bbd7186b9ab13e90e2dc1

20 years agoNow that the generation stuff is working, make the gendir
Nathan Binkert [Sun, 16 May 2004 15:41:41 +0000 (11:41 -0400)]
Now that the generation stuff is working, make the gendir
work correctly.

--HG--
extra : convert_revision : 08a5147f5a5cac46800eeef47b4a23451a1139c2

20 years agoMake the build process deal with the target arch directory
Nathan Binkert [Sun, 16 May 2004 13:28:06 +0000 (09:28 -0400)]
Make the build process deal with the target arch directory
and generated files a bit better.

--HG--
extra : convert_revision : e2216289bb53fd231e228c2d9d740317c00991bb

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Lisa Hsu [Thu, 13 May 2004 15:40:22 +0000 (11:40 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into shizzle.(none):/home/hsul/work/m5

--HG--
extra : convert_revision : e47c4db52bdf074b596591f145ffb1a6443d63a4

20 years agolift some things out of the tru64 directory into common directory so linux can use...
Lisa Hsu [Thu, 13 May 2004 15:40:07 +0000 (11:40 -0400)]
lift some things out of the tru64 directory into common directory so linux can use it without replication later.

kern/tru64/tru64_events.cc:
kern/tru64/tru64_events.hh:
    lift out SkipFuncEvent and FnEvents since these can be used by any OS.
kern/tru64/tru64_system.cc:
    add system_events (the common OS events file)

--HG--
extra : convert_revision : 4d7a843d67459af4d77e433ae3c1b0fbc5f0b56b

20 years agoAdd VPtr class that makes it possible to esentially create
Nathan Binkert [Thu, 13 May 2004 12:08:42 +0000 (08:08 -0400)]
Add VPtr class that makes it possible to esentially create
a pointer to an object that lives inside simulated memory.
Useful for doing a bit of analysis of what's going on in
the running kernel.

--HG--
extra : convert_revision : d78089cce5ec4334483a710ba512eaf18d9b0319

20 years agoremove the annotation junk
Nathan Binkert [Thu, 13 May 2004 12:03:36 +0000 (08:03 -0400)]
remove the annotation junk

arch/alpha/isa_desc:
    remove the annotation junk
    Move some code to AlphaPseudo where it belongs
arch/alpha/pseudo_inst.cc:
arch/alpha/pseudo_inst.hh:
    remove the annotation junk
    add pseudo instruction code that was previously misplaced

--HG--
extra : convert_revision : 97db8402aa34e0bdf044b138c52331fc9e714986

20 years agopass the address of both the old an new pcbb on context
Nathan Binkert [Thu, 13 May 2004 11:28:54 +0000 (07:28 -0400)]
pass the address of both the old an new pcbb on context
switches.  (Makes other uncommitted code easier to merge.)

arch/alpha/ev5.cc:
    pass the address of both the old an new pcbb on context
    switches

--HG--
extra : convert_revision : bff8c8d1b532ad5f9af6270169bbfb1b5c05256a

20 years agowrap mbuf stuff in the tru64 namespace since other OSes
Nathan Binkert [Thu, 13 May 2004 11:00:31 +0000 (07:00 -0400)]
wrap mbuf stuff in the tru64 namespace since other OSes
may be different

--HG--
extra : convert_revision : 75ea218b5219c7a2b5bf7dca7c52dfff22740478

20 years agoAvoid sending a signal to ourselves if we're not debugging
Nathan Binkert [Thu, 13 May 2004 10:59:05 +0000 (06:59 -0400)]
Avoid sending a signal to ourselves if we're not debugging

--HG--
extra : convert_revision : d6ba1ce30bad4a44d716238a8107c3bff0ce89c4

20 years agoMake a new stat type of Value which is a scalar stat that
Nathan Binkert [Wed, 12 May 2004 19:49:01 +0000 (15:49 -0400)]
Make a new stat type of Value which is a scalar stat that
proxies for a real C/C++ scalar value or scalar functor.
This replaces the scalar() and functor() terms that were
previously used in formulas.  This helps when dumping
statistics because the formulas are not supposed to change.

cpu/base_cpu.cc:
    Add a number of cycles stat to the cpu object that tracks the
    number of cycles that the cpu has executed.  This starts to pave
    the way for cpu cycles being different from event ticks.
cpu/base_cpu.hh:
    provide a functor for calculating all simulated instructions
    of all CPUs and a virtual function for determining that number.
    To deal with the change from functor() to Value::functor()
cpu/simple_cpu/simple_cpu.cc:
    simTicks -> numCycles
    numInsts is now a real Scalar stat, not a Formula
cpu/simple_cpu/simple_cpu.hh:
    numInsts is now a real Scalar stat, not a Formula
    count all instructions
sim/stat_control.cc:
    simInsts, simTicks, hostMemory, and hostSeconds are no
    longer Statistics::Formula but rather Statistics::Value
    add new stat for tick frequency
sim/stats.hh:
    don't need everything to be extern.
test/Makefile:
    Make stuff work a tad bit better
test/stattest.cc:
    test out Statistics::Value

--HG--
extra : convert_revision : c812e8baa2b17c08abf3a68ed1e1125dc6f2cfb4

20 years agodma_bus_interface_impl.hh:
Steve Reinhardt [Tue, 11 May 2004 02:21:04 +0000 (22:21 -0400)]
dma_bus_interface_impl.hh:
Fix template param (breaks on g++ 3.3).

--HG--
extra : convert_revision : b469aa9aab105bbc5a72a20a48a4abd2e218ff8c

20 years agoDo a better job of factoring out CPU model in ISA description.
Steve Reinhardt [Mon, 10 May 2004 23:10:47 +0000 (16:10 -0700)]
Do a better job of factoring out CPU model in ISA description.
(Still not perfect though.)

arch/alpha/isa_desc:
    Do a better job of factoring out CPU model.  (Still not perfect though.)
    Pull execute() methods out of class declarations into separate section
    of file, allowing (1) easier replication for different CPU models and
    (2) a path to putting them all in a separate file.  Force all instruction
    execution context into a single model-dependent class (SimpleCPU itself
    for SimpleCPU, DynInst for FullCPU).
arch/isa_parser.py:
    Do a better job of factoring out CPU model.  (Still not perfect though.)
    Pull execute() methods out of class declarations into separate section
    of file, allowing (1) easier replication for different CPU models and
    (2) a path to putting them all in a separate file.
    Also restructure top level to allow parser to run under interactive
    interpreter session for easier debugging.
cpu/exec_context.hh:
    Add a few new methods to clean up isa_desc.
cpu/simple_cpu/simple_cpu.cc:
cpu/static_inst.hh:
    StaticInst::execute no longer takes a CPU and an ExecContext,
    just a unified FooCPUExecContext.
cpu/simple_cpu/simple_cpu.hh:
    Add methods to redirect calls to ExecContext so SimpleCPU
    can act as sole instruction execution context for itself.
    Typedef SimpleCPU to SimpleCPUExecContext.

--HG--
extra : convert_revision : ecc445503bc585585da5663fe61796580e744da6

20 years agoVery minor fixes.
Steve Reinhardt [Sun, 9 May 2004 06:32:30 +0000 (23:32 -0700)]
Very minor fixes.

util/tracediff:
    stats:file option is now stats:text_file

--HG--
extra : convert_revision : 74b6294da0003345e84bc1533d536dab271b6033

20 years agoMerge
Steve Reinhardt [Sat, 8 May 2004 02:20:30 +0000 (19:20 -0700)]
Merge

--HG--
extra : convert_revision : 7999c243a80482b9feffdf8f3dd4ff061b189377

20 years agodon't do dependencies on make generate
Nathan Binkert [Thu, 6 May 2004 23:01:16 +0000 (19:01 -0400)]
don't do dependencies on make generate

--HG--
extra : convert_revision : 0dac37a1676e795bf2ebf9572e37b6b78af7929a

20 years agoMerge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
Nathan Binkert [Thu, 6 May 2004 16:10:16 +0000 (12:10 -0400)]
Merge zizzer.eecs.umich.edu:/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/ziff/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 12234085865daa71e32981177d3376c93b3ed11e

20 years agoadd support for sticking generated files in the build directory
Nathan Binkert [Thu, 6 May 2004 16:09:54 +0000 (12:09 -0400)]
add support for sticking generated files in the build directory
instead of with the source code.  This will hopefully be especially
useful when we're generating dozens of files when we flesh out the
object description stuff.
remove generated files from the source tree.  python is required
to build now.

base/trace.hh:
    no need for the underscore in the name
base/traceflags.py:
    clean up code

--HG--
extra : convert_revision : f68af8c3460eb7e73a1defaea3081a02ad7db33c

20 years agoDocumentation fixes
Erik Hallnor [Thu, 6 May 2004 00:57:07 +0000 (20:57 -0400)]
Documentation fixes

--HG--
extra : convert_revision : 9f62115463e6e624a95ae83189dac21c593a2ee4

20 years agofile used by old compile time binning which lisa's since fixed
Nathan Binkert [Wed, 5 May 2004 03:44:09 +0000 (23:44 -0400)]
file used by old compile time binning which lisa's since fixed

--HG--
extra : convert_revision : b8ae8371fdf22b601bcfd15ce7c28af6ed081dc0

20 years agoadd a bit more data to the rob dump
Nathan Binkert [Wed, 5 May 2004 03:42:15 +0000 (23:42 -0400)]
add a bit more data to the rob dump

--HG--
extra : convert_revision : 99f76a62d1a1f057868c4303905cc269fd56aab7

20 years agoMajor stats package cleanup
Nathan Binkert [Tue, 4 May 2004 21:01:00 +0000 (17:01 -0400)]
Major stats package cleanup

Add support for generic visitors for stats and use them
to implement independent output functions.

Support for mysql output and some initial code for hacking
on mysql output with python

arch/alpha/pseudo_inst.cc:
base/hybrid_pred.cc:
base/hybrid_pred.hh:
base/sat_counter.cc:
base/sat_counter.hh:
cpu/simple_cpu/simple_cpu.cc:
kern/tru64/tru64_events.cc:
sim/main.cc:
sim/process.cc:
sim/process.hh:
sim/sim_events.cc:
sim/sim_object.cc:
sim/system.hh:
    update for changes in stats package
base/statistics.cc:
    move the python output code to base/stats/puthon.(cc|hh)
    and reimplement it as a visitor.

    move the text output code to base/stats/text.(cc|hh) and
    reimplement it as a visitor.

    move the database stuff into base/stats/statdb.(cc|hh) and
    get rid of the class.  Put everything as globals in the
    Statistics::Database namespace.

    allocate unique ids for all stats.

    directly implement the check routine and get rid of the
    various dumping routines since they're now in separate files.

    make sure that no two stats have the same name

    clean up some loops
base/statistics.hh:
    major changes to the statistics package again

    lots of code was factored out of statistics.hh into several
    separate files in base/stats/ (this will continue)

    There are now two Stat package types Result and Counter that
    are specified to allow the user to keep the counted type
    separate from the result type.  They are currently both doubles
    but that's an experiment.  There is no more per stat ability to
    set the type.  Statistics::Counter is not the same as Counter!

    Implement a visitor for statistics output so that new output
    types can be implemented independently from the stats package
    itself.

    Add a unique id to each stat so that it can be used to keep
    track of stats more simply.  This number can also be used in
    debugging problems with stats.

    Tweak the bucket size stuff a bit to make it work better.

    fixed VectorDist size bug
cpu/memtest/memtest.cc:
    Fix up for changes in stats package
    Don't use value() since it doesn't work with binning.  If you
    want a number as a stat, and to use it in the program itself,
    you really want two separate variables, one that's a stat,
    and one that's not.
cpu/memtest/memtest.hh:
    Fix up for changes in stats package
test/Makefile:
    Try to build stuff now that directories matter
test/stattest.cc:
    test all new output types
    choose which one with command line options

--HG--
extra : convert_revision : e3a3f5f0828c67c0e2de415d936ad240adaddc89

20 years agoUpdate for doxygen 1.3.6
Erik Hallnor [Tue, 4 May 2004 20:32:43 +0000 (16:32 -0400)]
Update for doxygen 1.3.6

--HG--
extra : convert_revision : e7a1820a5651dc68e2927194aeabd23a3d852487

20 years agoFunction for getting username
Nathan Binkert [Tue, 4 May 2004 16:23:57 +0000 (12:23 -0400)]
Function for getting username

--HG--
extra : convert_revision : 50c0bf7b083e780071e85fabdcd6f91a96f4b2e3

20 years agodon't duplicate stat names
Nathan Binkert [Tue, 4 May 2004 12:20:21 +0000 (08:20 -0400)]
don't duplicate stat names

--HG--
extra : convert_revision : 2a19b12457cb19e233e4b133044ff95eb5d44e2f

20 years agoDerive from SimObject so stats are registered.
Erik Hallnor [Thu, 29 Apr 2004 06:12:49 +0000 (02:12 -0400)]
Derive from SimObject so stats are registered.

--HG--
extra : convert_revision : cbc70641235f040ebff6a98de7ff6384e06b8dbd

20 years agoChange the way the DMAInterface works internally to make it easier to change things...
Erik Hallnor [Thu, 29 Apr 2004 04:52:43 +0000 (00:52 -0400)]
Change the way the DMAInterface works internally to make it easier to change things in the future.

--HG--
extra : convert_revision : 2f7275f95433918549e76b16a8903e5df2d0188c

20 years agoMinor enhancements to Python config stuff:
Steve Reinhardt [Wed, 28 Apr 2004 23:28:37 +0000 (16:28 -0700)]
Minor enhancements to Python config stuff:
- Add support for assigning NULL to SimObject pointers.  In Python,
this is a special value, distinct from None.
- Initial, incomplete pass at regenerating C++ parameter code (declarations
and INIT_PARAM macros) from .odesc files.

util/config/m5config.py:
    - Add support for assigning NULL to SimObject pointers.  In Python,
    this is a special value, distinct from None.
    - Initial, incomplete pass at regenerating C++ parameter code (declarations
    and INIT_PARAM macros) from .odesc files.

--HG--
extra : convert_revision : d7ae8f32e30b3c0829fd1a60589dd998e2e0d0d7

20 years agoMerge ehallnor@zizzer:/bk/m5
Erik Hallnor [Wed, 28 Apr 2004 20:14:29 +0000 (16:14 -0400)]
Merge ehallnor@zizzer:/bk/m5
into zizzer.eecs.umich.edu:/y/ehallnor/work/m5

--HG--
extra : convert_revision : f658c6d2e86a736702fcb88b0493904a72f5e47f

20 years agoLittle updates do the documentation.
Erik Hallnor [Wed, 28 Apr 2004 20:12:20 +0000 (16:12 -0400)]
Little updates do the documentation.

--HG--
extra : convert_revision : 647f2bc32064b1f330513d812d59357f01adc012

20 years agoAdd an adaptive compression scheme.
Erik Hallnor [Wed, 28 Apr 2004 00:16:00 +0000 (20:16 -0400)]
Add an adaptive compression scheme.

--HG--
extra : convert_revision : 4ebf32976ba983cb3b9175cdf5f2e1359fa49c8b

20 years agoCleanup configs since bridges are now autosensing of addresses
Nathan Binkert [Thu, 22 Apr 2004 22:10:35 +0000 (18:10 -0400)]
Cleanup configs since bridges are now autosensing of addresses
and are bidirectional.

--HG--
extra : convert_revision : 840c940b4cee991f3a0c8e365fb60c0ef9166cf2

20 years agoFix the way write delay are sent on the data bus so that they are always sent. Also...
Erik Hallnor [Fri, 16 Apr 2004 03:47:17 +0000 (23:47 -0400)]
Fix the way write delay are sent on the data bus so that they are always sent. Also fixes the problem of sending both responses and write delays.

--HG--
extra : convert_revision : 3bb684526bf2ed5ab7b05c54d768291baf5dec02

20 years agoCode cleanup and debugging for the bus.
Erik Hallnor [Wed, 14 Apr 2004 22:44:38 +0000 (18:44 -0400)]
Code cleanup and debugging for the bus.

--HG--
extra : convert_revision : 8356dbf022e1aca71ff75f2947382af6a37d65b4

20 years agoEach direction in the BusBridge can now buffer max requests before blocking
Erik Hallnor [Tue, 13 Apr 2004 03:54:21 +0000 (23:54 -0400)]
Each direction in the BusBridge can now buffer max requests before blocking

--HG--
extra : convert_revision : c411cbf0affafebbc914d92d6691729fc3125486

20 years agoDelete the new store data.
Erik Hallnor [Tue, 13 Apr 2004 03:52:53 +0000 (23:52 -0400)]
Delete the new store data.

--HG--
extra : convert_revision : 1a03ab0500867e9855ff0cc343e29200c109cb1f

20 years agoAdd data to stores to make compression results consistant across version of the code.
Erik Hallnor [Tue, 13 Apr 2004 02:07:33 +0000 (22:07 -0400)]
Add data to stores to make compression results consistant across version of the code.

--HG--
extra : convert_revision : c72f46685e31cc93b1c1ddab78b8cf30473d4ac9

20 years agoConnect the bus bridge up correctly, internally.
Erik Hallnor [Fri, 9 Apr 2004 04:36:53 +0000 (00:36 -0400)]
Connect the bus bridge up correctly, internally.

--HG--
extra : convert_revision : 323c0a79800721e4ecd253000095eb0a7a36bb29

20 years agoBeta version of Python configuration tool. Generates .ini files from
Steve Reinhardt [Tue, 6 Apr 2004 17:02:00 +0000 (10:02 -0700)]
Beta version of Python configuration tool.  Generates .ini files from
Python script description.

arch/alpha/alpha_memory.cc:
dev/io_device.cc:
    Add DEFINE_SIM_OBJECT_CLASS_NAME for intermediate SimObjects.
test/paramtest.cc:
    Fix stupid spelling.

--HG--
extra : convert_revision : dc020208cb6507c1afb1ed771a7218daba678e09

20 years agoMerge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5
Steve Reinhardt [Mon, 5 Apr 2004 18:01:01 +0000 (11:01 -0700)]
Merge zizzer:/bk/m5 into isabel.reinhardt.house:/z/stever/bk/m5

--HG--
extra : convert_revision : ca1c124e667fb6d2927959a2078dd2e28c26cd2b

20 years agoChanges to config to allow everything (including 'children'
Steve Reinhardt [Mon, 5 Apr 2004 18:00:48 +0000 (11:00 -0700)]
Changes to config to allow everything (including 'children'
and 'type') to be specified via instance name and not just
config class.  Old code only did instance-name lookup for
SimObject parameters.  This feature makes life easier for
transitioning to the Python script-based config.

sim/builder.cc:
    Use ConfigNode::find to look for "type" parameter so it can
    be found if set under instance name (not config class).
sim/param.cc:
    Make Param<bool> accept "1" for true and "0" for false.

--HG--
extra : convert_revision : f40d0878d0f03b2e216f0506c05d0e52db608cca

20 years agoMake BusBridge bidirectional. Add a new slave and master interface to help accomplish...
Erik Hallnor [Mon, 5 Apr 2004 05:09:46 +0000 (01:09 -0400)]
Make BusBridge bidirectional. Add a new slave and master interface to help accomplish this.

--HG--
extra : convert_revision : 41bf9ce95e2965e13f7325b0b0b3be198ca86aee

20 years agoMore {Itb,Dtb} -> {ITB,DTB} renames (forgot to test build KERNEL).
Steve Reinhardt [Sat, 3 Apr 2004 21:46:10 +0000 (13:46 -0800)]
More {Itb,Dtb} -> {ITB,DTB} renames (forgot to test build KERNEL).
Also missed renames in a bunch of config files somehow.
(See previous changeset for list of renames.)

arch/alpha/alpha_memory.cc:
arch/alpha/ev5.cc:
arch/alpha/faults.hh:
cpu/exec_context.cc:
cpu/exec_context.hh:
cpu/simple_cpu/simple_cpu.hh:
    More {Itb,Dtb} -> {ITB,DTB} renames (forgot to test build KERNEL).

--HG--
extra : convert_revision : b2c6ca0916b72b59895520fcacaf028667560a0d

20 years agoMerge
Steve Reinhardt [Sat, 3 Apr 2004 07:19:08 +0000 (23:19 -0800)]
Merge

--HG--
extra : convert_revision : dadfa2cd97908d769f1e2d5c645140f296ec6a82

20 years agoBasic cleanup pass to get rid of a few things that made the Python
Steve Reinhardt [Sat, 3 Apr 2004 06:57:08 +0000 (22:57 -0800)]
Basic cleanup pass to get rid of a few things that made the Python
configuration unnecessarily awkward.  Biggest changes are:

- External and internal object names now match in all cases.  The
macros still allow them to be different; the only reason I didn't
get rid of that is that the macros themselves should be going away
soon.  In the few conflicting cases, I sometimes renamed the C++ object
and sometimes renamed the config object.  The latter sets of substitions
are:

s/BaseBus/Bus/;
s/MemoryObject/FunctionalMemory/;
s/MemoryControl/MemoryController/;
s/FUPool/FuncUnitPool/;

- SamplingCPU is temporarily broken... we need to change the model
of how this works in the .ini file.  Having it as a CPU proxy is
really awkward.

arch/alpha/alpha_memory.cc:
arch/alpha/alpha_memory.hh:
cpu/simple_cpu/simple_cpu.cc:
sim/process.cc:
    Rename objects to match config name.
cpu/base_cpu.cc:
    Uncomment SimObject define since SamplingCPU no longer
    does this for us.
dev/ethertap.cc:
    Use unsigned instead of uint16_t for params.
kern/tru64/tru64_system.cc:
    Use unsigned instead of uint64_t for init_param param.
test/paramtest.cc:
    Fix old SimObjectParam.

--HG--
extra : convert_revision : 378ebbc6a71ad0694501d09979a44d111a59e8dc

20 years agoAdd new range functions to DmaInterface as well.
Erik Hallnor [Fri, 2 Apr 2004 09:13:48 +0000 (04:13 -0500)]
Add new range functions to DmaInterface as well.

--HG--
extra : convert_revision : 3a7aa3e6495de86c365128b4bd1ef41fe8ff4142

20 years agoAdd automatic bus bridge address range setting/resetting. You can no longer directly...
Erik Hallnor [Fri, 2 Apr 2004 08:03:30 +0000 (03:03 -0500)]
Add automatic bus bridge address range setting/resetting. You can no longer directly set a address range on a bus bridge.

--HG--
extra : convert_revision : 708fb67b82c619f340f2b5a95f4542b573004774

20 years agoFix dependencies (broken since Nate's tree-build change).
Steve Reinhardt [Fri, 2 Apr 2004 06:18:00 +0000 (22:18 -0800)]
Fix dependencies (broken since Nate's tree-build change).

--HG--
extra : convert_revision : 7be203a46c53ac7cf464ac3857e27259a846dcfb

20 years agoAdd a average references to a cache block stat.
Erik Hallnor [Thu, 1 Apr 2004 23:23:17 +0000 (18:23 -0500)]
Add a average references to a cache block stat.

--HG--
extra : convert_revision : ba0ff82985a44c8e2de129194b1f755199469f8f

20 years agoGet rid of the printExtraOutput stuff
Nathan Binkert [Fri, 26 Mar 2004 10:43:29 +0000 (05:43 -0500)]
Get rid of the printExtraOutput stuff

--HG--
extra : convert_revision : d82718ad4b3c5dd56a99c727e78b39917f9d4541

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Thu, 25 Mar 2004 10:46:35 +0000 (05:46 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into crampon.:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : f210926c232d2999703bbb0adf08899d8c041729

20 years agoGet rid of symlink hack in makefile
Nathan Binkert [Thu, 25 Mar 2004 10:46:16 +0000 (05:46 -0500)]
Get rid of symlink hack in makefile

--HG--
extra : convert_revision : c1bc90a1d823f8034da692afd6005456ef98831b

20 years agoMinor cleanup from building & diffing behavior
Steve Reinhardt [Thu, 25 Mar 2004 07:29:10 +0000 (23:29 -0800)]
Minor cleanup from building & diffing behavior
on various platforms.

base/hashmap.hh:
    gcc on Alpha doesn't always define __LP64__,
    even though it arguably should.
cpu/exec_context.cc:
    Clear register file on non-full-system too (even though
    it typically gets overwritten by the initial regs from
    the Process object).
sim/process.cc:
    Clear initial register copy in Process object.
    Not all regs get initialized when the executable is loaded.

--HG--
extra : convert_revision : f1fe4734a5ea81331d70994cb5284b1e9db0dceb

20 years agoDon't indent namespaces because it just wastes space
Nathan Binkert [Wed, 24 Mar 2004 15:25:18 +0000 (10:25 -0500)]
Don't indent namespaces because it just wastes space

--HG--
extra : convert_revision : 2236838a40bf77689a3d75df718c0da410c3fbb6

20 years agoGet rid of the old VPATH stuff for getting at source files
Nathan Binkert [Wed, 24 Mar 2004 15:00:29 +0000 (10:00 -0500)]
Get rid of the old VPATH stuff for getting at source files
instead, require a path for each file.

--HG--
extra : convert_revision : 9ecab85eefd10ee988edce06dd6c94e8df42ad95

20 years agoMerge zizzer.eecs.umich.edu:/bk/m5
Nathan Binkert [Wed, 24 Mar 2004 10:16:13 +0000 (05:16 -0500)]
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : b0af82ea6028d1f7f6756edf266945732c25ad52

20 years agoHacks to make the libelf stuff work in openbsd.
Nathan Binkert [Wed, 24 Mar 2004 10:13:49 +0000 (05:13 -0500)]
Hacks to make the libelf stuff work in openbsd.

base/loader/elf_object.cc:
    The symbol versioning stuff screws up OpenBSD.  We don't need it anyway

--HG--
extra : convert_revision : 736d5c1baaf7f5727665f84cc08e3781e193b389