summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-10-15Added support for exclusive state, defined the MESI and MOESI protocolsRon Dreslinski
--HG-- extra : convert_revision : c991ba1acf1a8f628c0c0c34f307dd9d221c2743
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
2004-08-11std::Nathan Binkert
--HG-- extra : convert_revision : 8383048265ef5b4d7c995dbf44f7d85e349ddbde
2004-08-10Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/z/saidi/work/m5Ali Saidi
--HG-- extra : convert_revision : 006842b706c7d972f6722b2767c82c6761c447b2
2004-08-10tweak a bunch of kernel parameters to get better performanceNathan Binkert
--HG-- extra : convert_revision : 57cca576fac4013027c2cb6c85cc73cbbcf772ae
2004-08-09Totally re-do/reorganize the python part of the statistics codeNathan Binkert
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
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-07make_c_file.py, load_odescs.py:Steve Reinhardt
Change mode to -rwxrwx--x --HG-- extra : convert_revision : 253dc560ed7b1f321635a9420e47d6d6e53c30ad
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-08-03added p4 configAli Saidi
--HG-- extra : convert_revision : e64b1d6340f7a262653847f15f736e25356ed2d2
2004-08-02merged full_cpu.ini, system.ini and devtime.cAli Saidi
util/ccdrv/devtime.c: coding style --HG-- extra : convert_revision : 972941e100ba13a2ece0986454c4a3485841d9cb
2004-08-02added m5 debug and m5 switch cpu instruction (doesn't work yet) andAli Saidi
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
2004-08-02fix compileNathan Binkert
base/stats/events.cc: Make this compile with MYSQL stuff --HG-- extra : convert_revision : e4e8f9b078447f5e7f535b2678a2ed7d44fa8644
2004-08-01moved alpha access to an unused part of the uncachebale addressAli Saidi
space in tsunami. --HG-- extra : convert_revision : 53eb2ed0cf869565b76d1576c65e29fb3df4dcb6
2004-07-31Merge zizzer:/bk/m5 into zeep.eecs.umich.edu:/tmp/m5-dprintkAli Saidi
--HG-- extra : convert_revision : d26b89ff1bf224dbcd6c9eeeab361f516a8d7360
2004-07-31few forgotten changes for dprintkAli Saidi
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
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-30Added debug printk supportAli Saidi
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