Nathan Binkert [Thu, 4 Nov 2004 03:30:13 +0000 (22:30 -0500)]
Forgot about the tracing cpus for the changes to the base class
cpu/trace/opt_cpu.cc:
cpu/trace/trace_cpu.cc:
we don't want to register this cpu since it's not a real cpu
--HG--
extra : convert_revision :
3b87b6ac3dd061018909bf4fdb4e2d611128d07b
Nathan Binkert [Thu, 4 Nov 2004 01:46:33 +0000 (20:46 -0500)]
make activation of exec contexts happen in startup
the registration stuff all moves into BaseCPU
cpu/base_cpu.cc:
Move the registration stuff into the BaseCPU since all
other CPUs use it.
cpu/base_cpu.hh:
Move the defer registration stuff into the BaseCPU since all
other CPUs use it.
cpu/simple_cpu/simple_cpu.cc:
cpu/simple_cpu/simple_cpu.hh:
registration stuff moved to base class
sim/system.cc:
the activation of exec contexts should happen at startup, not
when they are registered.
sim/system.hh:
the system now has a startup function
--HG--
extra : convert_revision :
bb6a7c2da5a1ecf5fe7ede1078200bfe5245f8ef
Taeho Kgil [Wed, 3 Nov 2004 22:56:26 +0000 (17:56 -0500)]
Add Inorder CPU model
SConscript:
arch/isa_parser.py:
cpu/static_inst.hh:
Add inorderCPU
--HG--
extra : convert_revision :
141372808fac5f6d125f9051ee0be982d21683aa
Nathan Binkert [Wed, 3 Nov 2004 16:47:55 +0000 (11:47 -0500)]
add a new phase to the simulator. Basically the simulator now goes
through the following phases.
1) Construct all param contexts
2) Call the checkParams() on each context
3) Build the configuration hierarchy
4) Construct all SimObjects
5) Initialize all SimObjects by calling init() on each one
6) Unserialize the checkpoint
7) Register all statisitcs
8) Check validity of all statistics (after that, no new stats)
9) Reset all stats.
10) Call SimStartup() which calls startup() on all SimObjects,
ParamContexts, and any other object deriving from StartupCallback
SConscript:
no more SimInit() we have SimStartup() now
sim/param.hh:
Make all params have a startup callback.
sim/sim_events.cc:
the init callbacks no longer exist. We can simplify code by
using startup().
sim/sim_object.hh:
Make all SimObjects derive from StartupCallback
--HG--
extra : convert_revision :
ab81e259eb5510cc597f7bacb2bfb619fb4cc15f
Nathan Binkert [Mon, 1 Nov 2004 19:39:48 +0000 (14:39 -0500)]
remove mention of a couple of files that don't exist anymore
SConscript:
these files don't exist
--HG--
extra : convert_revision :
660f3861b5f2824a44fc8a281a782faeef4467f2
Steve Reinhardt [Thu, 28 Oct 2004 20:54:49 +0000 (16:54 -0400)]
More user-friendly updates for 570.
--HG--
extra : convert_revision :
0fe38f6ab652b575cc24d18d65c237291e1793d6
Steve Reinhardt [Thu, 28 Oct 2004 04:25:57 +0000 (00:25 -0400)]
Add '%' in some places to suppress spurious doxygen auto-links.
--HG--
extra : convert_revision :
6527dc766730745516f52f7e7f5acf43d64e8733
Steve Reinhardt [Thu, 28 Oct 2004 02:37:52 +0000 (22:37 -0400)]
Major documentation update for 570 F04.
sim/main.cc:
Get rid of default.ini processing... it's kind of a pain and nobody uses it.
util/tracediff:
Add comments on usage.
--HG--
extra : convert_revision :
b811288b2945585d60685684ea88c99d1913fbf3
Ali Saidi [Mon, 25 Oct 2004 22:15:28 +0000 (18:15 -0400)]
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5-smp
--HG--
extra : convert_revision :
59173b5d4599cfe1cbaa96705e9731ee5a8d8647
Ali Saidi [Mon, 25 Oct 2004 22:14:13 +0000 (18:14 -0400)]
changes to make interrupts part of the platform rather than tsunami
specific
--HG--
extra : convert_revision :
f51788dd41c23f13b253268bb2b286a5225ef087
Nathan Binkert [Mon, 25 Oct 2004 20:23:22 +0000 (16:23 -0400)]
Don't use magic numbers.
arch/alpha/isa_traits.hh:
Move defines to non full system code section so they can
be used elsewhere
cpu/simple_cpu/simple_cpu.cc:
Don't use magic numbers
cpu/simple_cpu/simple_cpu.hh:
simple format nit
--HG--
extra : convert_revision :
b8d492218340d41ab9420c6ad1e81a197db1c132
Nathan Binkert [Mon, 25 Oct 2004 19:47:46 +0000 (15:47 -0400)]
add a hack to make sure we exit when sampling is complete.
--HG--
extra : convert_revision :
a0d66b1915f14485d1798a3142dd8c828925d151
Steve Reinhardt [Mon, 25 Oct 2004 04:56:47 +0000 (00:56 -0400)]
Add explicit phases to order ParamContext initializations.
--HG--
extra : convert_revision :
c24fba2bded2493a892fa93de0c61f9674cfedbb
Steve Reinhardt [Mon, 25 Oct 2004 03:06:35 +0000 (23:06 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5
--HG--
extra : convert_revision :
aac76a4b82b3455620618bba6238507248cc68cc
Nathan Binkert [Sat, 23 Oct 2004 20:18:53 +0000 (16:18 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest
--HG--
extra : convert_revision :
aaf81b1c1283229de21e0ef7e9916a4464f72fa3
Nathan Binkert [Sat, 23 Oct 2004 20:18:44 +0000 (16:18 -0400)]
flesh out the TCP/IP/Ethernet support
base/refcnt.hh:
reorganize the RefCountingPtr a little bit to make it easier
to derive from
dev/etherpkt.hh:
this doesn't belong here. use the inet.hh stuff
dev/ns_gige.cc:
dev/ns_gige.hh:
use newer features in the tcp/ip/ethernet stuff
--HG--
extra : convert_revision :
32c1953c95655c1f4c70e0d8adedfd94beead624
Nathan Binkert [Sat, 23 Oct 2004 17:52:46 +0000 (13:52 -0400)]
bump up the number of cshrs so we don't panic
--HG--
extra : convert_revision :
25dfd48b2c579401d265ba9ed85379831f207b8e
Nathan Binkert [Sat, 23 Oct 2004 17:11:42 +0000 (13:11 -0400)]
get rid of some unused variables
--HG--
extra : convert_revision :
187cee0e0bad09bbaff059eb60f20d7d32c1b52c
Nathan Binkert [Sat, 23 Oct 2004 16:31:24 +0000 (12:31 -0400)]
make stuff compile on openbsd again
clean up a few other things while we're here.
base/bitfield.hh:
base/compression/null_compression.hh:
dont #include <inttypes.hh> use "sim/host.hh"
fix #include guard
base/stats/types.hh:
dont #include <inttypes.hh> use "sim/host.hh"
kern/linux/aligned.hh:
dont #include <stdint.hh> use "sim/host.hh"
fix #include guard
kern/linux/hwrpb.hh:
fix #include guard
--HG--
extra : convert_revision :
288c687a59a1e770bbb834879173e1a2ea371bce
Nathan Binkert [Sat, 23 Oct 2004 14:41:35 +0000 (10:41 -0400)]
get rid of pmap.h and make things variables and inline
functions instead of preprocessor macros.
arch/alpha/vtophys.cc:
use new constants, functions and structs to clean up the
vtophys code.
arch/alpha/vtophys.hh:
Clean up a little bit and make the protypes match new changes.
base/remote_gdb.cc:
dev/ide_disk.cc:
kern/tru64/tru64_events.cc:
use new constants from isa_traits.hh instead of ones from
old pmap.h
--HG--
extra : convert_revision :
5dce34e3b0c84ba72cefca34e5999b99898edcef
Nathan Binkert [Sat, 23 Oct 2004 04:39:15 +0000 (00:39 -0400)]
in the arch/alpha directory we should use arch/alpha, not
targetarch.
arch/alpha/alpha_memory.cc:
arch/alpha/arguments.cc:
arch/alpha/arguments.hh:
arch/alpha/faults.cc:
arch/alpha/isa_traits.hh:
arch/alpha/osfpal.cc:
arch/alpha/vtophys.cc:
arch/alpha/vtophys.hh:
in the arch/alpha directory we should use arch/alpha, not
targetarch. sort includes while we're here.
--HG--
extra : convert_revision :
99a71540e2997173db5c1072cef910a26acc75b2
Nathan Binkert [Sat, 23 Oct 2004 03:54:41 +0000 (23:54 -0400)]
Do the targetarch dependency stuff better.
SConscript:
targetarch is only for headers, not cc files. move all cc files
back to arch/alpha, and make the target arch directory do this
echo '#include "arch/alpha/foo.hh"' > targetarch/foo.hh for every
header file. This works a lot better and doesn't kill emacs'
ability to parse compile outputs
--HG--
extra : convert_revision :
c1d51643bdc457ae2d96c5f50d3ef1c6a58a600d
Steve Reinhardt [Sat, 23 Oct 2004 02:51:28 +0000 (22:51 -0400)]
Very minor formatting glitches.
sim/main.cc:
Add 'u' option back in to help message.
--HG--
extra : convert_revision :
9f535c9d898a9e8e54c54cf83044a24a8843f62e
Steve Reinhardt [Sat, 23 Oct 2004 02:49:12 +0000 (22:49 -0400)]
Make targetarch directory in build tree and copy arch/alpha files to it
instead of using symlink. The symlink broke scons's built-in include
dependency tacking.
Interestingly once it was fixed scons discovered two circular dependency
problems which are also fixed now.
SConscript:
Make targetarch directory in build tree and copy arch/alpha files to it
instead of using symlink. The symlink broke scons's built-in include
dependency tacking.
arch/alpha/ev5.hh:
Get rid of circular #include dependence.
kern/kernel_stats.cc:
Add needed header file.
kern/linux/linux_syscalls.hh:
kern/tru64/tru64_syscalls.hh:
Replace targetarch/syscalls.hh with single template class declaration.
--HG--
extra : convert_revision :
b8551623c1d441c6eb8d0651387e97e373128814
Nathan Binkert [Fri, 22 Oct 2004 06:11:59 +0000 (02:11 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/current
--HG--
extra : convert_revision :
92785367bd1ae71505c5ac0491ed8e18b21ad577
Nathan Binkert [Fri, 22 Oct 2004 06:11:51 +0000 (02:11 -0400)]
make all signatures go into a single file that's at the top
of the build directory. This makes it so that scons won't
leave the .sconsign turds all over the source tree.
--HG--
extra : convert_revision :
d530ed3eaed73c7ce2d21c7391f815051a37b500
Nathan Binkert [Fri, 22 Oct 2004 05:34:40 +0000 (01:34 -0400)]
Clean up the Range class and associated usages. The code was
never clear about whether the end of the range was inclusive
or exclusive. Make it inclusive, but also provide a RangeSize()
function that will generate a Range based on a start and a size.
This, in combination with using the comparison operators, makes
almost all usages of the range not care how it is stored.
base/range.cc:
Make the end of the range inclusive.
start/end -> first/last
(end seems too much like end() in stl)
base/range.hh:
Make the end of the range inclusive.
Fix all comparison operators so that they work correctly with
an inclusive range. Also, when comparing one range to another
with <, <=, >, >=, we only look at the beginning of the range
beacuse x <= y should be the same as x < y || x == y. (This wasn't
the case before.)
Add a few functions for making a range:
RangeSize is start and size
RangeEx is start and end where end is exclusive
RangeIn is start and end where end is inclusive
start/end -> first/last
(end seems too much like end() in stl)
dev/alpha_console.cc:
dev/baddev.cc:
dev/ide_ctrl.cc:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/pcidev.cc:
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
dev/uart.cc:
Use the RangeSize function to create a range.
--HG--
extra : convert_revision :
29a7eb7fce745680f1c77fefff456c2144bc3994
Steve Reinhardt [Wed, 20 Oct 2004 00:00:20 +0000 (20:00 -0400)]
Clean up/standardize handling of various output files.
No more non-intuitive behavior shifts depending on whether
outputDirectory is set (at the expense of backwards compatibility).
outputDirectory is now always valid, defaults to ".".
dev/etherdump.cc:
Use makeOutputStream() to create output file.
New behavior: actually complain if dump file can't
be opened, instead of quietly ignoring the problem.
dev/etherdump.hh:
dev/simconsole.cc:
dev/simconsole.hh:
Use makeOutputStream() to create output file.
sim/builder.cc:
sim/builder.hh:
sim/main.cc:
builderStream() is now *configStream.
sim/serialize.cc:
outputDirectory is now always valid, no need to check.
sim/universe.cc:
Clean up/standardize handling of various output files.
No more non-intuitive behavior shifts depending on whether
outputDirectory is set (at the expense of backwards compatibility).
outputDirectory is now always valid, defaults to ".".
New function makeOutputStream() does "the right thing" to
associate a stream with a filename.
--HG--
extra : convert_revision :
a03c58c547221b3906e0d6f55e4a569843f2d646
Steve Reinhardt [Mon, 18 Oct 2004 11:05:13 +0000 (07:05 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/stever/bk/m5
--HG--
extra : convert_revision :
8d95458cf5460a8847e211eea1216eca57834b1a
Steve Reinhardt [Mon, 18 Oct 2004 11:05:09 +0000 (07:05 -0400)]
Get rid of spurious additions to ignore list.
--HG--
extra : convert_revision :
962dd521863a7b374e36238c81ec7935ea1811da
Ali Saidi [Mon, 18 Oct 2004 03:32:17 +0000 (22:32 -0500)]
Merge saidi@zizzer.eecs.umich.edu:/bk/m5
into ali-saidis-computer.local:/research/m5
--HG--
extra : convert_revision :
0b97ac6ae704e47023bb9db9694004022c548b4f
Steve Reinhardt [Mon, 18 Oct 2004 02:04:23 +0000 (22:04 -0400)]
Clean up obsolete g++ 2.95 workaround.
--HG--
extra : convert_revision :
d8fe9415d855af57e48978904e8f6a52bb7a83cc
Erik Hallnor [Sun, 17 Oct 2004 04:07:28 +0000 (00:07 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5
--HG--
extra : convert_revision :
fa4e85d5f5c783985357eb5205fcf8957f214d1e
Erik Hallnor [Sun, 17 Oct 2004 04:07:21 +0000 (00:07 -0400)]
Bunch of little changes for tracking copies and getting OPT right.
cpu/simple_cpu/simple_cpu.cc:
Send Copy
cpu/trace/opt_cpu.cc:
Calculate the block size correctly. Set lookupTable value directly, since the old way only worked for FA caches.
cpu/trace/trace_cpu.cc:
Don't start events if the hierarchy is in non-event mode.
--HG--
extra : convert_revision :
daf2db5ed7428c2fb08652cf76f6fe99d8357db5
Ali Saidi [Sun, 17 Oct 2004 00:10:51 +0000 (19:10 -0500)]
Fixes for bigendian platforms
arch/alpha/vtophys.cc:
PGOFSET -> ALPHA_PGOFSET to avoid include file problems
base/callback.hh:
Added a class to create a callback from a function
base/intmath.hh:
make FloorLog2 inlined
dev/pcidev.cc:
more work in getting pciconfig space happy with different endiannesses
dev/uart.cc:
used an incorrect size for write uint64_t instead of uint8_t
sim/system.cc:
when writing things into system data structures we need to pay
attention to endianness
--HG--
extra : convert_revision :
52f441b5789c45db30ef2f6fd4975cbc7323a381
Ron Dreslinski [Fri, 15 Oct 2004 18:32:39 +0000 (14:32 -0400)]
Added support for exclusive state, defined the MESI and MOESI protocols
--HG--
extra : convert_revision :
c991ba1acf1a8f628c0c0c34f307dd9d221c2743
Erik Hallnor [Sat, 2 Oct 2004 16:43:59 +0000 (12:43 -0400)]
few more stat items to serialize
kern/kernel_stats.cc:
Few more items to serialize
--HG--
extra : convert_revision :
b816512735928cbde0b24bf8cb48deec9fb26413
Erik Hallnor [Sat, 2 Oct 2004 16:34:54 +0000 (12:34 -0400)]
Fixes to kernel to get checkpoints to work again.
kern/kernel_stats.cc:
Serialize idleProcess.
kern/system_events.cc:
Remove the idle start event once it runs.
--HG--
extra : convert_revision :
05ac574558a88b86ccfce963e4ca9b037a1a8509
Nathan Binkert [Fri, 1 Oct 2004 23:48:33 +0000 (19:48 -0400)]
fix some bugs in the headers and fix checksumming.
base/inet.cc:
we can't use a uint16_t for the intermediate checksum values
since there may be some bits that carry.
the length that is added in the pseudo header is the length of
the tcp portion only.
base/inet.hh:
silly me, the ip_hlen field is in terms of 4-byte words.
when caclulating checksum, we're dealing with network byte order,
so don't bother doing any byteswapping.
--HG--
extra : convert_revision :
993e3413e9febea0ba2fb6ba8bf04c053cca15ed
Erik Hallnor [Fri, 1 Oct 2004 20:31:13 +0000 (16:31 -0400)]
Make printouts look more like stats.
cpu/trace/opt_cpu.cc:
Change printout to look more like real stats, should really just make these stats someday.
--HG--
extra : convert_revision :
cd5db4657a53abeda0417ca6ba4407d366408358
Erik Hallnor [Thu, 30 Sep 2004 05:46:48 +0000 (01:46 -0400)]
Updates to make traces work correctly in all circumstances. Add opt set associative simulation.
cpu/trace/opt_cpu.cc:
cpu/trace/opt_cpu.hh:
Add the ability to simulate less than fully-associative opt caches.
cpu/trace/reader/itx_reader.cc:
Add writeback to the command list.
--HG--
extra : convert_revision :
a9c9c4be3358f4083d7e85772620441a3ad809db
Erik Hallnor [Tue, 28 Sep 2004 20:55:55 +0000 (16:55 -0400)]
Add opt cpu and fix page copy warnings
SConscript:
Add opt_cpu
cpu/simple_cpu/simple_cpu.cc:
Fix page spanning copy warning.
cpu/trace/reader/itx_reader.cc:
Fix reader to return correct address.
--HG--
extra : convert_revision :
f03e244971af4197743c7c717d64f21db0ae42d3
Ali Saidi [Fri, 24 Sep 2004 18:16:51 +0000 (14:16 -0400)]
only set stuff up for binning interrupts if interrupt binning is on
kern/linux/linux_system.cc:
Don't scheduling interrupt events if we are not binning interrupts
kern/tru64/tru64_system.cc:
set the bin_int boolean in the system structure
--HG--
extra : convert_revision :
68eea9c448f1c481fc79be1777acb536d6385495
Ali Saidi [Wed, 22 Sep 2004 22:39:37 +0000 (18:39 -0400)]
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5-smp
--HG--
extra : convert_revision :
19dc01e1c0d2c0ba6b4d804b902429fb0a6a5552
Ali Saidi [Wed, 22 Sep 2004 22:25:06 +0000 (18:25 -0400)]
fix unaligned memory offset and some small fixes to interrupt binning
code
arch/alpha/alpha_memory.cc:
Fixed unaligned trap faults
arch/alpha/ev5.cc:
little more verbose faulting information
kern/linux/linux_system.cc:
more descriptive errors, and the correct offsets from symbols
sim/system.cc:
load local pal symbols
--HG--
extra : convert_revision :
0c81badf77321d5e1a060dcae2d42204e5a1fc84
Nathan Binkert [Tue, 21 Sep 2004 05:42:10 +0000 (01:42 -0400)]
Merge zizzer.eecs.umich.edu:/bk/m5
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest
--HG--
extra : convert_revision :
cbe53e9404ac592b7c89bb35831e0d20539e0f9c
Nathan Binkert [Tue, 21 Sep 2004 05:41:55 +0000 (01:41 -0400)]
a bit more cleaning of the network header wrappers.
base/inet.hh:
add functions to the various headers to grab the most common
encapsulated protocols. This could easily get out of hand, but
we're just worrying about tcp, udp, and ip for now.
add common functions size(), bytes(), and payload() to all wrappers.
size() gets the header size
bytes() returns a uint8_t * to the beginning of the header
payload() returns a uint8_t * to the beginning of the payload.
dev/etherpkt.cc:
dev/etherpkt.hh:
don't cache pointers to headers. It's probably not worth the
hassle.
--HG--
extra : convert_revision :
ba9df85ac019b8a48233042dde79fb9da9546410
Erik Hallnor [Tue, 21 Sep 2004 02:00:35 +0000 (22:00 -0400)]
Update copies to work around alignment faults.
arch/alpha/isa_desc:
whitespace fix.
cpu/simple_cpu/simple_cpu.cc:
Add support to make sure we don't get alignment faults in copies. Warn if we go over an 8k page boundary.
--HG--
extra : convert_revision :
98b38da86a66215d80ea9eb6e6f1f68ee573cb57
Nathan Binkert [Mon, 20 Sep 2004 14:43:53 +0000 (10:43 -0400)]
Clean up network header stuff and make it more generic. Use
libdnet when we can instead of our own home grown stuff.
SConscript:
separate the crc code into its own file
base/inet.cc:
move the crc stuff to crc.cc
add generic code for calculating ip/tcp/udp checksums
base/inet.hh:
- move crc stuff to crc.hh
- #include all of the libdnet stuff. (this makes base/inet.hh the
only file you need to include if you want to use this kind of stuff.)
- Wrap some of the libdnet structs to get easier access to structure
members. These wrappers will automatically deal with masking/shifting/
byte-swapping.
base/refcnt.hh:
If one derives from RefCountingPtr, they should have access to
the internal data pointer.
build/SConstruct:
make #include of dnet stuff work
dev/etherlink.cc:
dev/ethertap.cc:
dev/ethertap.hh:
EtherPacket -> PacketData
dev/etherpkt.cc:
EtherPacket -> PacketData
add a function for populating extra info about a packet.
Basically just gives pointers to ethernet/ip/tcp/udp headers
if they exist.
dev/etherpkt.hh:
EtherPacket -> PacketData
remove most of the packet header stuff from teh PacketData
class and just add a few generic functions for grabbing various
headers that may exist in the packet. The old functionality is
contained in the headers.
dev/ns_gige.cc:
- IP -> Ip, UDP -> Udp, TCP ->Tcp when used in variable names
- get rid of our own byte swapping functions.
- whack checksum code and use libdnet version.
- Get pointers to the various packet headers and grab info from
those headers. (The byte swapping in the headers now.)
- Add stats for Udp Checksums
dev/ns_gige.hh:
use libdnet for checksum code.
IP -> Ip, TCP -> Tcp in variable names
add stats for UDP checksums
--HG--
extra : convert_revision :
96c4160e1967b7c0090acd456df4a76e1f3aab53
Ali Saidi [Thu, 16 Sep 2004 19:11:38 +0000 (15:11 -0400)]
pc event now clears lower 2 bits
always build with dynamic libraries for mysqlclient
SConscript:
always use dynamic library now
cpu/pc_event.hh:
cleared lower 2 bits, since everything must be 4byte aligned
--HG--
extra : convert_revision :
332ecd25a598e6a46a79bd653449aa7eb22a580a
Ali Saidi [Thu, 16 Sep 2004 04:37:21 +0000 (00:37 -0400)]
switch contexts on palcode rather than kernel code
cpu/pc_event.cc:
mask off lower three bits so we can have an event in palcode
--HG--
extra : convert_revision :
49fcdc5c359ca2bd9149f092f80f77abcd7b20ee
Nathan Binkert [Tue, 14 Sep 2004 17:28:43 +0000 (13:28 -0400)]
update object descriptions
--HG--
extra : convert_revision :
686d827549419e6a834687d91d040144df2b62ad
Ali Saidi [Fri, 10 Sep 2004 18:36:27 +0000 (14:36 -0400)]
Merge zizzer:/bk/m5
into zizzer.eecs.umich.edu:/.automount/zeep/z/saidi/work/m5-smp
--HG--
extra : convert_revision :
b49d62dc75682f568e3e02f6a7ee37e4560b8b39
Nathan Binkert [Fri, 10 Sep 2004 18:34:23 +0000 (14:34 -0400)]
fix the options stuff
util/stats/stats.py:
get the options from the options struct now
gratuitously change the output directory for graphs.
--HG--
extra : convert_revision :
468f34bdc2c8b5fc3a393eaa4da4ec288e35c8c7
Ali Saidi [Fri, 3 Sep 2004 18:12:59 +0000 (14:12 -0400)]
added system option to bin interrupt code seperately.
arch/alpha/ev5.cc:
set the mode explictly rather than having a bool user/notuser
cpu/simple_cpu/simple_cpu.hh:
there is no class Kernel
kern/kernel_stats.cc:
use cpu_mode_num
kern/kernel_stats.hh:
add interrupt mode and use cpu_mode_num rather than constant
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
kern/system_events.cc:
kern/system_events.hh:
add events to change the mode to/from interrupt
sim/system.cc:
sim/system.hh:
add a pal symbol table
--HG--
extra : convert_revision :
9d30e826b72122062a5ea12d094f94760e75c66a
Erik Hallnor [Thu, 2 Sep 2004 15:27:45 +0000 (11:27 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5
--HG--
extra : convert_revision :
3f1842ffa9c193fbbdcfefb5aa364671b3d90785
Erik Hallnor [Thu, 2 Sep 2004 15:27:38 +0000 (11:27 -0400)]
Update tracing functionality and add an ITX trace writer.
SConscript:
Add build support for ITX trace writer
cpu/trace/reader/itx_reader.cc:
Handle full 36 bit physical addressses.
cpu/trace/reader/itx_reader.hh:
Need a string header file here
cpu/trace/trace_cpu.cc:
cpu/trace/trace_cpu.hh:
Modify trace CPU to take a single trace and drive an instruction and data interfaces.
--HG--
extra : convert_revision :
4c81f2f9d9341df41f0ae45e4bda49800a43977c
Ali Saidi [Wed, 1 Sep 2004 03:47:57 +0000 (23:47 -0400)]
Updates to make SMP work.
dev/tsunami_cchip.cc:
updates to ipi handling chipset code
sim/system.cc:
debugSymbolTable, now has symbols from pal, console, and linux
--HG--
extra : convert_revision :
c981d857f7e3d75f4c46172809e6d14e5f0a1238
Nathan Binkert [Fri, 20 Aug 2004 15:40:57 +0000 (11:40 -0400)]
Fixup interrupting of the ethernet device.
dev/ns_gige.cc:
clean up the interrupt handling code so that it is simpler and
less prone to bugs. I hope I removed the bug where the:
assert(intrTick >= curTick || intrTick == 0); would get triggered.
I'm pretty sure that was due to intrTick not being cleared when
the interrupt was cleared.
This code probably still needs to be looked at more closely to
make sure interrupts are not missed.
--HG--
extra : convert_revision :
61e2eb043540f2534a80c9b633006a71e7d6e282
Nathan Binkert [Fri, 20 Aug 2004 15:36:19 +0000 (11:36 -0400)]
std::
--HG--
extra : convert_revision :
623b18587c4827a0de4841cee7fc68817d4b9427
Nathan Binkert [Fri, 20 Aug 2004 15:35:31 +0000 (11:35 -0400)]
- Clean up and factor out all of the binning code into a
single place so it's easier to work with.
- Add support for binning kernel/user/idle time separately from
lisa's binning stuff, but make the two compatible.
- KernelStats used to directly implement the pImpl idiom, but
it makes more sense to just remove the level of indirection and
make the exec context have a pointer to the stats.
- Factor common code out of LinuxSystem and Tru64System and put
it into the System base class. While doing that, make all
constructors take a pointer to a parameter struct instead of
naming the parameters individually to make it much easier to add
parameters to these classes.
SConscript:
Move the function tracking and binning stuff around.
arch/alpha/ev5.cc:
kernelStats is now a pointer
arch/alpha/pseudo_inst.cc:
kernelStats is now a pointer
the parameters to the system have been moved into their own
struct
base/trace.hh:
provide a little functor class for wrapping a string that
can allow you to define name() in any scope very simply
for use with DPRINTF
cpu/base_cpu.cc:
New order of arguments for consistency.
cpu/exec_context.cc:
kernelStats no longer has the level of indirection in it,
execContext has the indirection now. so, kernelStats is a pointer.
We also need a pointer to the kernelBinning stuff from the system
and we need to figure out if we want to do binning or not.
Move a whole bunch of code into kern_binning.cc so it's all
in the same place.
cpu/exec_context.hh:
We want pointers to the kernel binning/stats stuff and we'll
have the exec_context and system have the level of indirection
instead of having the extra layer in the kernel stats class.
cpu/simple_cpu/simple_cpu.cc:
call through the exec context to do the special binning
stuff.
kern/kernel_stats.cc:
kern/kernel_stats.hh:
Re-organize the stats stuff and remove the level of indirection
(that was there to simplify building) and move the binning stuff
into its own class/file.
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
kern/tru64/tru64_system.cc:
kern/tru64/tru64_system.hh:
sim/system.cc:
sim/system.hh:
move lots of common system code into the base system class so
that it can be shared between linux, tru64, and whatever else
we decide to support in the future.
Make the constructor take a pointer to a parameter struct so that
it is easier to pass parameters to the parent.
kern/system_events.cc:
move the majority of the binning code into the Kernel::Binning class
in the kern_binning file
kern/system_events.hh:
FnEvents only need to know the bin
create the Idle start event to find the PCBB of the idle
process when it starts.
kern/tru64/tru64_events.cc:
memCtrl -> memctrl
sim/process.cc:
sim/process.hh:
re-order args for consistency
--HG--
extra : convert_revision :
86cb39738c41fcd680f2aad125c9dde000227b2b
Nathan Binkert [Fri, 20 Aug 2004 14:29:54 +0000 (10:29 -0400)]
-DUSE_MYSQL so that mysql stuff builds properly
--HG--
extra : convert_revision :
22d2de08460df7a2016cea162057e44bfd6df010
Ali Saidi [Thu, 19 Aug 2004 03:12:16 +0000 (23:12 -0400)]
added nate's memtest code to devtime
util/ccdrv/devtime.c:
incorperated nate's changes for memory testing.
--HG--
extra : convert_revision :
6c479dd6b9a79659bb4cfd3e03b794909b14db3b
Ali Saidi [Thu, 19 Aug 2004 03:06:51 +0000 (23:06 -0400)]
Added code using VPtr to be able to extract info from linux thread
structures.
Added event to print out currently running task
base/traceflags.py:
Added Thread trace flag
kern/linux/linux_system.cc:
kern/linux/linux_system.hh:
Added event to print out currently running task
--HG--
extra : convert_revision :
94347dbaf90f39eb40467b2a43b4628a3deafc6c
Nathan Binkert [Tue, 17 Aug 2004 15:19:04 +0000 (11:19 -0400)]
Fix a small bug in parameter processing that would always result
in at least on entry in a VectorParam even if the string was
empty.
sim/param.cc:
if there are no parameters, leave the vector empty.
--HG--
extra : convert_revision :
d0d41baa8c77651a27ac6a4d02cc388711f47dbe
Nathan Binkert [Mon, 16 Aug 2004 21:27:38 +0000 (17:27 -0400)]
Fix SConstruct file to allow you to override the compilers
build/SConstruct:
Make it possible to override the CC and CXX environment
variables.
--HG--
extra : convert_revision :
e1b68ae9b1b7011cc494bfa9ee688aa72929a2e3
Nathan Binkert [Mon, 16 Aug 2004 18:20:20 +0000 (14:20 -0400)]
Make the mysql stuff work with scons
SConscript:
Make the mysql stuff work.
Add specific support to statically link in the mysql client on
linux machines so that we don't need to worry about what's
installed on the pool.
--HG--
extra : convert_revision :
2317c3163cefc8e4d857929e313afd53c616e2a5
Nathan Binkert [Wed, 11 Aug 2004 14:19:22 +0000 (10:19 -0400)]
Whack the make stuff since it doesn't work anymore anyway.
We're solely using SCons now.
--HG--
extra : convert_revision :
122b255e3143d1192c136211cbf3618ff7262fa9
Nathan Binkert [Wed, 11 Aug 2004 14:17:11 +0000 (10:17 -0400)]
commented script with various kernel parameter tweaks for better
network performance
--HG--
extra : convert_revision :
9fd2f18a0d2b79942661d764d90177a50754d9c0
Nathan Binkert [Wed, 11 Aug 2004 14:14:26 +0000 (10:14 -0400)]
cleanup interrupt code for gigabit device
dev/ns_gige.cc:
Clean up the interrupt code. Do a better job determining when
coalescing should happen.
Remove some bogus comments
Stop using magic numbers in initialization and comment what
the various numbers do
dev/ns_gige_reg.h:
#define describing which interrupts cannot be delayed and
which interrrupts we don't implement
--HG--
extra : convert_revision :
eb196afa0bf448e1849dd2bd30dde32134effee7
Nathan Binkert [Wed, 11 Aug 2004 13:05:13 +0000 (09:05 -0400)]
std::
--HG--
extra : convert_revision :
8383048265ef5b4d7c995dbf44f7d85e349ddbde
Ali Saidi [Tue, 10 Aug 2004 17:32:15 +0000 (13:32 -0400)]
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5
--HG--
extra : convert_revision :
006842b706c7d972f6722b2767c82c6761c447b2
Nathan Binkert [Tue, 10 Aug 2004 13:08:36 +0000 (09:08 -0400)]
tweak a bunch of kernel parameters to get better performance
--HG--
extra : convert_revision :
57cca576fac4013027c2cb6c85cc73cbbcf772ae
Nathan Binkert [Tue, 10 Aug 2004 01:20:52 +0000 (21:20 -0400)]
Totally re-do/reorganize the python part of the statistics code
Make the database creation/removal/cleanup code use python
Make formulas work with the database
Add support to do some graphing, but needs more work
Still need to work on vectors, 2d vectors, dists and vectordists
--HG--
extra : convert_revision :
1a88320dcc036a3751e8a036770766dce76a568c
Steve Reinhardt [Sat, 7 Aug 2004 21:23:01 +0000 (14:23 -0700)]
Split libelf/SConscript into two parts, one for the
shared build and one for the per-config header file
copying.
SConscript:
Just include libelf/SConscript-local.
build/SConstruct:
Include libelf/SConscript-global.
--HG--
extra : convert_revision :
0a4ae8f1514819f99fec101b898c19dabd4d59bd
Steve Reinhardt [Sat, 7 Aug 2004 06:38:27 +0000 (02:38 -0400)]
make_c_file.py, load_odescs.py:
Change mode to -rwxrwx--x
--HG--
extra : convert_revision :
253dc560ed7b1f321635a9420e47d6d6e53c30ad
Steve Reinhardt [Thu, 5 Aug 2004 09:03:47 +0000 (02:03 -0700)]
Integrate Python configuration script parsing into m5 itself.
SConscript:
Add pyconfig/{pyconfig,code}.cc
Add list of object description (.od) files.
Include pyconfig/SConscript.
base/inifile.cc:
Get rid of CPP_PIPE... it never really worked anyway.
base/inifile.hh:
Make load(ifstream&) method public so pyconfig
code can call it.
sim/main.cc:
Handle Python config scripts (end in '.py' instead of '.ini').
sim/pyconfig/m5configbase.py:
Add license.
Fix minor __setattr__ problem (2.3 related?)
--HG--
rename : util/config/m5configbase.py => sim/pyconfig/m5configbase.py
extra : convert_revision :
5e004922f950bfdefced333285584b80ad7ffb83
Steve Reinhardt [Wed, 4 Aug 2004 05:46:03 +0000 (22:46 -0700)]
Move libelf/SConscript include to m5/SConscript, so elf
headers get created in build tree (under build/FOO/libelf)
instead of source tree (m5/libelf).
SConscript:
Move libelf/SConscript include here.
build/SConstruct:
Get rid of libelf/SConscript include (moved to
m5/SConscript).
--HG--
extra : convert_revision :
c0acb3bab2afa5079748b907c5917f548582099e
Ali Saidi [Tue, 3 Aug 2004 22:05:54 +0000 (18:05 -0400)]
added p4 config
--HG--
extra : convert_revision :
e64b1d6340f7a262653847f15f736e25356ed2d2
Ali Saidi [Mon, 2 Aug 2004 21:16:54 +0000 (17:16 -0400)]
merged full_cpu.ini, system.ini and devtime.c
util/ccdrv/devtime.c:
coding style
--HG--
extra : convert_revision :
972941e100ba13a2ece0986454c4a3485841d9cb
Ali Saidi [Mon, 2 Aug 2004 21:10:02 +0000 (17:10 -0400)]
added m5 debug and m5 switch cpu instruction (doesn't work yet) and
a p4 memory/cpu config
arch/alpha/alpha_memory.cc:
Added code to fault on an unaligned access
arch/alpha/isa_desc:
arch/alpha/pseudo_inst.cc:
arch/alpha/pseudo_inst.hh:
Added m5debug break and m5switchcpu (the latter doesn't work)
--HG--
extra : convert_revision :
409e73adb151600a4fea49f35bf6f503f66fa916
Nathan Binkert [Mon, 2 Aug 2004 19:42:25 +0000 (15:42 -0400)]
fix compile
base/stats/events.cc:
Make this compile with MYSQL stuff
--HG--
extra : convert_revision :
e4e8f9b078447f5e7f535b2678a2ed7d44fa8644
Ali Saidi [Sun, 1 Aug 2004 04:52:32 +0000 (00:52 -0400)]
moved alpha access to an unused part of the uncachebale address
space in tsunami.
--HG--
extra : convert_revision :
53eb2ed0cf869565b76d1576c65e29fb3df4dcb6
Ali Saidi [Sat, 31 Jul 2004 04:55:15 +0000 (00:55 -0400)]
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/tmp/m5-dprintk
--HG--
extra : convert_revision :
d26b89ff1bf224dbcd6c9eeeab361f516a8d7360
Ali Saidi [Sat, 31 Jul 2004 04:55:05 +0000 (00:55 -0400)]
few forgotten changes for dprintk
SConscript:
Added printk to scons
kern/linux/linux_system.cc:
kern/linux/printk.cc:
Forgot to commit this dprintk change
--HG--
extra : convert_revision :
d9a71835b55ece7e84b34632ee6646ac2d0535da
Lisa Hsu [Sat, 31 Jul 2004 01:14:05 +0000 (21:14 -0400)]
added printk.cc to the sconsscript so it will actually build.
SConscript:
grrr, spent half an hour looking for why the linker was dying. needed to include the new file printk.cc
--HG--
extra : convert_revision :
4c461d9dbe96e94d7c312bf71ee8ad4c87a3b1a1
Ali Saidi [Fri, 30 Jul 2004 21:13:24 +0000 (17:13 -0400)]
Added debug printk support
arch/alpha/ev5.hh:
Added max address PAL code can be at
arch/alpha/vtophys.cc:
Check max address pal can be at so we don't do the wrong conversion
if gdb asks for an unaligned access.
--HG--
extra : convert_revision :
b44f6a8fcd8582337a7d4033f28137c7e718a6a8
Nathan Binkert [Fri, 30 Jul 2004 16:57:12 +0000 (12:57 -0400)]
Clean up the functional memory debugging stuff a bit.
--HG--
extra : convert_revision :
3e05996af51c1c051b044864b50edb21e39368e4
Nathan Binkert [Fri, 30 Jul 2004 15:37:15 +0000 (11:37 -0400)]
name this stat since it makes life easier with the mysql stuff
--HG--
extra : convert_revision :
cad76b1741f17e183285a8805198345bd815e98b
Nathan Binkert [Fri, 30 Jul 2004 15:33:45 +0000 (11:33 -0400)]
better debugging
dev/ns_gige.cc:
Make all DPRINTF statements take one line. If they need two lines,
break them up into separate statements. This makes grep much more
effective since *every* line will be prefixed by the cycle that the
trace message is from and the object that caused the message.
normalize some debugging statements so that searching is easier
(e.g. always say rxState, not rx state or receive state)
break into the debugger when a packet is dropped since we don't really
like dropping packets.
--HG--
extra : convert_revision :
9cf309ca2143a6b8c8215ac5dd6a31aae60173cd
Nathan Binkert [Fri, 30 Jul 2004 15:29:45 +0000 (11:29 -0400)]
Fix a few bugs in the receive state machine. In doing back to tracking
whether or not the state machine is enabled rather than tracking the
specific instance of trying to halt the state machine.
dev/ns_gige.cc:
change back to tracking the state machine's enableness instead of
whether or not it is trying to halt. Also fix a major bug that
would cause the NIC to drop packets when the rx state machine was
idle, but enabled.
Fix a couple other bugs in the state machine where the idle interrupt
would happen at the wrong time.
Add a warning to deal with improper values of intrTick
dev/ns_gige.hh:
We need to keep track of whether the state machine is enabled
or not separately from the control register since the bits don't
always reflect the truth.
--HG--
extra : convert_revision :
20056b225fa62a0744473babfd693506aa5f29b2
Nathan Binkert [Fri, 30 Jul 2004 15:17:20 +0000 (11:17 -0400)]
make all ethernet dma use the new interface
--HG--
extra : convert_revision :
1cab883fac2bffd83cb035ebf28958c15118dfdc
Nathan Binkert [Fri, 30 Jul 2004 15:09:03 +0000 (11:09 -0400)]
better debugging of DMA operations
dev/ns_gige.cc:
use the new PhysicalMemory dma_read and dma_write functions
--HG--
extra : convert_revision :
427049d43355f02ac8bdfe2e60c24825dd734006
Nathan Binkert [Fri, 30 Jul 2004 14:59:59 +0000 (10:59 -0400)]
Improve the debuggability of FunctionalMemory objects by allowing
the user to choose which objects will break (so you can have only
the client system break for example.) Add features to differentiate
between breaking on reads and writes and break when an address gets
a specific data value.
--HG--
extra : convert_revision :
b8b2d1b43832bf74ee75b3f789df829f5b876a17
Nathan Binkert [Fri, 30 Jul 2004 14:47:53 +0000 (10:47 -0400)]
Move all of the object matching code to a shared file so it can
be more easily re-used. This currently uses some cooked up matching
function that I wrote a while ago, but should probably be changed
to use regular expressions in the future.
add doDebugBreak to control breakpoints on a per SimObject basis
SConscript:
add match
base/stats/events.cc:
base/trace.cc:
Move the object matching code into a separate file so it can be
more easily shared
base/trace.hh:
the object matching code was wrapped up and moved. adapt.
sim/sim_object.cc:
add the doDebugBreak flag that can be set on a per-SimObject
basis. This will be used in the future to control whether or
not debug_break() will actually break for a given object.
provide a function interface that can be called from the debugger.
sim/sim_object.hh:
add the doDebugBreak flag that can be set on a per-SimObject
basis. This will be used in the future to control whether or
not debug_break() will actually break for a given object.
--HG--
extra : convert_revision :
6bf7924de63d41f5ba6b80d579efdf26ba265a8f
Nathan Binkert [Fri, 30 Jul 2004 14:18:04 +0000 (10:18 -0400)]
Make the DDUMP tracing feature output the cycle number and
the object name on every line.
This makes grep a bit more effective.
kern/tru64/dump_mbuf.cc:
use the new data dump format that trace.hh now provides
--HG--
extra : convert_revision :
179efa96aaff9da710baae13c9e981975d2abdc1
Ali Saidi [Wed, 28 Jul 2004 21:56:42 +0000 (17:56 -0400)]
Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/tmp/m5
--HG--
extra : convert_revision :
11ce57baaa1ccdb159d83bdad527c92087aa0502
Ali Saidi [Wed, 28 Jul 2004 21:56:36 +0000 (17:56 -0400)]
updated readme to reflect linux/scons changes
Put correct date in copyright headers based on bk changesets
LICENSE:
Updated copyright on license file
README:
Updaded readme to reflect shift to scons and linux support
cpu/trace/reader/ibm_reader.cc:
cpu/trace/reader/ibm_reader.hh:
cpu/trace/reader/itx_reader.cc:
cpu/trace/reader/itx_reader.hh:
cpu/trace/reader/m5_reader.cc:
cpu/trace/reader/m5_reader.hh:
cpu/trace/reader/mem_trace_reader.cc:
cpu/trace/reader/mem_trace_reader.hh:
cpu/trace/trace_cpu.cc:
cpu/trace/trace_cpu.hh:
updated copyright (only changeset in 2004)
kern/kernel_stats.cc:
kern/kernel_stats.hh:
updated copyright
--HG--
extra : convert_revision :
726aed4b38ff4d230c63a570df83c63075b3c76f
Nathan Binkert [Tue, 27 Jul 2004 03:10:20 +0000 (23:10 -0400)]
style
--HG--
extra : convert_revision :
7489726b6c7bd11af603a448e4ff56c1e46139fe
Nathan Binkert [Mon, 26 Jul 2004 17:03:27 +0000 (13:03 -0400)]
Move the query function to the cc file and make trace stuff work
base/mysql.cc:
Move the query function to the cc file
make the trace stuff work
base/mysql.hh:
Move the query function to the cc file
--HG--
extra : convert_revision :
c47cb12afa47d3fe4a7a031b3563601adab62913