summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-10-23get rid of pmap.h and make things variables and inlineNathan Binkert
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
2004-10-23in the arch/alpha directory we should use arch/alpha, notNathan Binkert
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
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-10-22Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Nathan Binkert
into ziff.eecs.umich.edu:/z/binkertn/research/m5/current --HG-- extra : convert_revision : 92785367bd1ae71505c5ac0491ed8e18b21ad577
2004-10-22make all signatures go into a single file that's at the topNathan Binkert
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
2004-10-22Clean up the Range class and associated usages. The code wasNathan Binkert
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
2004-10-19Clean up/standardize handling of various output files.Steve Reinhardt
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
2004-10-18Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Steve Reinhardt
into zizzer.eecs.umich.edu:/z/stever/bk/m5 --HG-- extra : convert_revision : 8d95458cf5460a8847e211eea1216eca57834b1a
2004-10-18Get rid of spurious additions to ignore list.Steve Reinhardt
--HG-- extra : convert_revision : 962dd521863a7b374e36238c81ec7935ea1811da
2004-10-17Merge saidi@zizzer.eecs.umich.edu:/bk/m5Ali Saidi
into ali-saidis-computer.local:/research/m5 --HG-- extra : convert_revision : 0b97ac6ae704e47023bb9db9694004022c548b4f
2004-10-17Clean up obsolete g++ 2.95 workaround.Steve Reinhardt
--HG-- extra : convert_revision : d8fe9415d855af57e48978904e8f6a52bb7a83cc
2004-10-17Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Erik Hallnor
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5 --HG-- extra : convert_revision : fa4e85d5f5c783985357eb5205fcf8957f214d1e
2004-10-17Bunch of little changes for tracking copies and getting OPT right.Erik Hallnor
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
2004-10-16Fixes for bigendian platformsAli Saidi
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
2004-10-15Added support for exclusive state, defined the MESI and MOESI protocolsRon Dreslinski
--HG-- extra : convert_revision : c991ba1acf1a8f628c0c0c34f307dd9d221c2743
2004-10-02few more stat items to serializeErik Hallnor
kern/kernel_stats.cc: Few more items to serialize --HG-- extra : convert_revision : b816512735928cbde0b24bf8cb48deec9fb26413
2004-10-02Fixes to kernel to get checkpoints to work again.Erik Hallnor
kern/kernel_stats.cc: Serialize idleProcess. kern/system_events.cc: Remove the idle start event once it runs. --HG-- extra : convert_revision : 05ac574558a88b86ccfce963e4ca9b037a1a8509
2004-10-01fix some bugs in the headers and fix checksumming.Nathan Binkert
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
2004-10-01Make printouts look more like stats.Erik Hallnor
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
2004-09-30Updates to make traces work correctly in all circumstances. Add opt set ↵Erik Hallnor
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
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-24only set stuff up for binning interrupts if interrupt binning is onAli Saidi
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
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-21Merge zizzer.eecs.umich.edu:/bk/m5Nathan Binkert
into ziff.eecs.umich.edu:/z/binkertn/research/m5/latest --HG-- extra : convert_revision : cbe53e9404ac592b7c89bb35831e0d20539e0f9c
2004-09-21a bit more cleaning of the network header wrappers.Nathan Binkert
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
2004-09-20Update copies to work around alignment faults.Erik Hallnor
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
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-16switch contexts on palcode rather than kernel codeAli Saidi
cpu/pc_event.cc: mask off lower three bits so we can have an event in palcode --HG-- extra : convert_revision : 49fcdc5c359ca2bd9149f092f80f77abcd7b20ee
2004-09-14update object descriptionsNathan Binkert
--HG-- extra : convert_revision : 686d827549419e6a834687d91d040144df2b62ad
2004-09-10Merge zizzer:/bk/m5Ali Saidi
into zizzer.eecs.umich.edu:/.automount/zeep/z/saidi/work/m5-smp --HG-- extra : convert_revision : b49d62dc75682f568e3e02f6a7ee37e4560b8b39
2004-09-10fix the options stuffNathan Binkert
util/stats/stats.py: get the options from the options struct now gratuitously change the output directory for graphs. --HG-- extra : convert_revision : 468f34bdc2c8b5fc3a393eaa4da4ec288e35c8c7
2004-09-03added system option to bin interrupt code seperately.Ali Saidi
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
2004-09-02Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5Erik Hallnor
into zizzer.eecs.umich.edu:/z/ehallnor/work/m5 --HG-- extra : convert_revision : 3f1842ffa9c193fbbdcfefb5aa364671b3d90785
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-31Updates to make SMP work.Ali Saidi
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
2004-08-20Fixup interrupting of the ethernet device.Nathan Binkert
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
2004-08-20std::Nathan Binkert
--HG-- extra : convert_revision : 623b18587c4827a0de4841cee7fc68817d4b9427
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-18added nate's memtest code to devtimeAli Saidi
util/ccdrv/devtime.c: incorperated nate's changes for memory testing. --HG-- extra : convert_revision : 6c479dd6b9a79659bb4cfd3e03b794909b14db3b
2004-08-18Added code using VPtr to be able to extract info from linux threadAli Saidi
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
2004-08-17Fix a small bug in parameter processing that would always resultNathan Binkert
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
2004-08-16Fix SConstruct file to allow you to override the compilersNathan Binkert
build/SConstruct: Make it possible to override the CC and CXX environment variables. --HG-- extra : convert_revision : e1b68ae9b1b7011cc494bfa9ee688aa72929a2e3
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-11Whack the make stuff since it doesn't work anymore anyway.Nathan Binkert
We're solely using SCons now. --HG-- extra : convert_revision : 122b255e3143d1192c136211cbf3618ff7262fa9
2004-08-11commented script with various kernel parameter tweaks for betterNathan Binkert
network performance --HG-- extra : convert_revision : 9fd2f18a0d2b79942661d764d90177a50754d9c0
2004-08-11cleanup interrupt code for gigabit deviceNathan Binkert
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