summaryrefslogtreecommitdiff
path: root/SConscript
AgeCommit message (Collapse)Author
2004-11-15Add support for sampled PC profiling to FullCPU.Steve Reinhardt
Simple text list of symbol (or address) and count will be dumped to m5prof.<cpu-name> if the cpu's pc_sample_interval param is set. SConscript: Add cpu/full_cpu/pc_sample_profile.cc base/callback.hh: Add a comment about MakeCallback. Fix type in another comment. base/loader/symtab.cc: Revamp findNearestSymbol() to provide addresses of both nearest symbols (preceding and following) as well as string for former. Move global definition of debugSymbolTable here too. base/loader/symtab.hh: Revamp findNearestSymbol() to provide addresses of both nearest symbols (preceding and following) as well as string for former. Move global declaration of debugSymbolTable here too. cpu/exetrace.cc: Use new findNearestSymbol() interface for trace symbols. kern/linux/linux_system.cc: sim/system.cc: Remove extern of debugSymbolTable (now in symtab.hh) sim/process.cc: Initialize debugSymbolTable if binary has a symbol table. --HG-- extra : convert_revision : 0b5393dc39c40ac88c953684708f1125da550671
2004-11-13Add the Simple Integrated Network Interface ControllerNathan Binkert
--HG-- extra : convert_revision : 2bce25881a104e8282a5ed819769c6a7de414fb2
2004-11-13Use the new PacketFifo class to avoid manual calculationsNathan Binkert
--HG-- extra : convert_revision : afa193904b7ed4d5e5c50e9dcb78e8e855b00ecc
2004-11-03Add Inorder CPU modelTaeho Kgil
SConscript: arch/isa_parser.py: cpu/static_inst.hh: Add inorderCPU --HG-- extra : convert_revision : 141372808fac5f6d125f9051ee0be982d21683aa
2004-11-03add a new phase to the simulator. Basically the simulator now goesNathan Binkert
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
2004-11-01remove mention of a couple of files that don't exist anymoreNathan Binkert
SConscript: these files don't exist --HG-- extra : convert_revision : 660f3861b5f2824a44fc8a281a782faeef4467f2
2004-10-22Do the targetarch dependency stuff better.Nathan Binkert
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
2004-10-22Make targetarch directory in build tree and copy arch/alpha files to itSteve Reinhardt
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
2004-09-28Add opt cpu and fix page copy warningsErik Hallnor
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
2004-09-22Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5-smpAli Saidi
--HG-- extra : convert_revision : 19dc01e1c0d2c0ba6b4d804b902429fb0a6a5552
2004-09-22fix unaligned memory offset and some small fixes to interrupt binningAli Saidi
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
2004-09-20Clean up network header stuff and make it more generic. UseNathan Binkert
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
2004-09-16pc event now clears lower 2 bitsAli Saidi
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
2004-09-02Update tracing functionality and add an ITX trace writer.Erik Hallnor
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
2004-08-20- Clean up and factor out all of the binning code into aNathan Binkert
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
2004-08-20-DUSE_MYSQL so that mysql stuff builds properlyNathan Binkert
--HG-- extra : convert_revision : 22d2de08460df7a2016cea162057e44bfd6df010
2004-08-16Make the mysql stuff work with sconsNathan Binkert
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
2004-08-07Split libelf/SConscript into two parts, one for theSteve Reinhardt
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
2004-08-05Integrate Python configuration script parsing into m5 itself.Steve Reinhardt
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
2004-08-03Move libelf/SConscript include to m5/SConscript, so elfSteve Reinhardt
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
2004-07-30added printk.cc to the sconsscript so it will actually build.Lisa Hsu
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
2004-07-30Move all of the object matching code to a shared file so it canNathan Binkert
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
2004-07-14Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Steve Reinhardt
into zizzer.eecs.umich.edu:/z/stever/bk/m5 --HG-- extra : convert_revision : c79927401293a4496223cf190b9fc6cab6ea12de
2004-07-14SConscript:Steve Reinhardt
Make decoder.cc/hh depend on isa_parser.py. SConscript: Make decoder.cc/hh depend on isa_parser.py. --HG-- extra : convert_revision : ff575d7f819da951423b36275e960fed652f9b2b
2004-07-10the changeset of partitioned caches. this changeset creates Split tagstore ↵Lisa Hsu
class that makes either an LRU/LRU cache or a LRU/LIFO cache, it is also able to make just a LIFO cache. SConscript: add these files for partitioned caches base/traceflags.py: add Split as a traceflag --HG-- extra : convert_revision : 6aa8f7c389ee1145b33be006c820236f11f5397c
2004-07-08fix the failing regression. the sconscript ("makefile") was missing the ↵Lisa Hsu
etherbus.cc src file. SConscript: THIS is why the regression keeps failing. it's missing the the etherbus file in the sconscript. --HG-- extra : convert_revision : adbcfb6036d8e8ecb51c4f484d0030059542684b
2004-07-02Initial SCons-based build system. See www.scons.org.Steve Reinhardt
'cd build; scons' will build ALPHA/m5.debug. Use e.g. 'scons KERNEL/m5.opt' to build other binaries. Read the comments in build/SConstruct for more details. base/traceflags.py: Take basename of generated cc/hh files from command line instead of hardwiring them. Lets us call the script from a different directory and still have the files end up in the right place (e.g. "base/traceflags.py base/traceflags"). --HG-- extra : convert_revision : ee4dbb59040cf07590929275f6c1c01e8d4e00b4