Commit Graph

  • 91e3aa6295 Minor further cleanup & commenting of Packet class. Steve Reinhardt 2006-05-30 22:30:42 -04:00
  • 0e5db091e9 Fix Port pointer initialization. Steve Reinhardt 2006-05-30 19:49:28 -04:00
  • f0c05de9f9 Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem into zizzer.eecs.umich.edu:/z/stever/bk/newmem-py Steve Reinhardt 2006-05-30 19:45:54 -04:00
  • e371dc32a9 Clean up Python embedding to build on zizzer (where python2.4 is currently in /usr/local instead of /usr). Steve Reinhardt 2006-05-30 19:44:57 -04:00
  • aa11330ddb Merge zizzer:/bk/newmem into zeep.pool:/z/saidi/work/m5.newmem Ali Saidi 2006-05-30 18:57:53 -04:00
  • 09d8a1e125 Add a very poor implementation of dealing with retries on timing requests. It is especially slow with tracing on since it ends up being O(N^2). But it's probably going to have to change for the real bus anyway, so it should be rewritten then Change recvRetry() to not accept a packet. Sendtiming should be called again (and can respond with false or true) Removed Port Blocked/Unblocked and replaced with sendRetry(). Remove possibility of packet mangling if packet is going to be refused anyway in bridge Ali Saidi 2006-05-30 18:57:42 -04:00
  • 4a5b51b516 Merge ktlim@zizzer:/bk/m5 into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem Kevin Lim 2006-05-30 14:17:41 -04:00
  • 0337db3388 Link in Python interpreter. Use embedded zip archive to carry Python code instead of homegrown embedded string/file mechanism. Do argument parsing in Python instead of C++. Steve Reinhardt 2006-05-30 13:11:34 -04:00
  • d308055afc Fix SCons version check. Steve Reinhardt 2006-05-30 06:34:26 -04:00
  • e60dc5195c commit a couple of minor things that I forgot to last time. Ali Saidi 2006-05-29 18:25:02 -04:00
  • c0cf76c837 Create a new CpuEvent class that has a pointer to an execution context in the object and places itself on a global list so so the events can be migrated on cpu switches. Create a new wrapper classe called CpuEventWrapper that works like the old wrapper class but calls the function with the xc parameter Use new CpuEventWrapper class from tick compare events on sparc Ali Saidi 2006-05-29 18:24:27 -04:00
  • dc29a7c8ae split off fullsystem and se iprs into two functions to remove lots of #ifs setup all initialization stuff for UA2005 Setup fullsys build options Start to make fullsystem compile Ali Saidi 2006-05-29 16:53:47 -04:00
  • 4b855592eb Added in the IprAccessOp flag for priveleged and hyperpriveleged instructions. Gabe Black 2006-05-29 00:02:44 -04:00
  • 5cc0306691 Moved the Bit64 constant out of the regfile.hh into isa_traits.cc, which is the only place it was used. Gabe Black 2006-05-28 23:50:23 -04:00
  • 981471c31d Used the Priv and new HPriv instruction formats, which have been tweaked to let some checks be done by the misc reg file. Gabe Black 2006-05-28 23:49:29 -04:00
  • a433cf140e Fixed this to run from the newmem directory to be compatible with how things have been moved around. Gabe Black 2006-05-28 23:48:24 -04:00
  • 82a76d18e1 Remove authors from copyright. Ali Saidi 2006-05-28 23:26:15 -04:00
  • de20b819f1 remove some getPtr() calls by changing having function return values instead of taking a pointer Ali Saidi 2006-05-28 22:21:57 -04:00
  • 5df77b865d Merge zizzer:/bk/newmem into zeep.pool:/z/saidi/work/m5.newmem Ali Saidi 2006-05-26 18:40:08 -04:00
  • e04f60667a Implement PR/HPR/ASR for full system Rip out storage in miscreg file that will never store anything Add storage and defines for Priv and Hyperpriv registers Change defines to match the spec register numbers Change the way misc registers are named to match the spec with offsets to deal with ASR/PR/HPR/FSR. Change contextval to an int since both global registers and windowed registers are indexed by int in UA2005. Use bitfields for things that are rarely used in decoder Instead of decoding ASR/PR/HPR and having a specfic instruction, use a generic instruction instead Ali Saidi 2006-05-26 18:40:00 -04:00
  • f456360bbc Merge zeep.pool:/z/saidi/work/m5.newmem into zeep.pool:/z/saidi/work/m5.newmem.head Ali Saidi 2006-05-26 17:03:47 -04:00
  • 53510f1844 Fixes for TimingSimpleCPU under full system. Now boots Alpha Linux! Steve Reinhardt 2006-05-26 14:33:43 -04:00
  • acb05ebcf6 Reorganize bridge as pair of cooperating ports. Store original source & senderState for timing packets that get a response, so we can properly route the response packet back to the original sender. Steve Reinhardt 2006-05-26 14:29:29 -04:00
  • cdad113afb Add a little more tracing support for Bus/Port stuff. Steve Reinhardt 2006-05-26 14:24:46 -04:00
  • e533fad711 Significant rework of Packet class interface: - new constructor guarantees initialization of most fields - flags track status of non-guaranteed fields (addr, size, src) - accessor functions (getAddr() etc.) check status on access - Command & Result classes are nested in Packet class scope - Command now built from vector of behavior bits - string version of Command for tracing - reinitFromRequest() and makeTimingResponse() encapsulate common manipulations of existing packets Steve Reinhardt 2006-05-26 14:17:33 -04:00
  • da6a7b1263 Add names to memory Port objects for tracing. Steve Reinhardt 2006-05-26 13:48:35 -04:00
  • 94eff2f485 Merge ktlim@zamp:/z/ktlim2/clean/m5-merge into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3 Kevin Lim 2006-05-25 17:56:23 -04:00
  • f1fab2a446 Fix stat typo. Kevin Lim 2006-05-25 17:56:01 -04:00
  • f5b5391cfb Missed this file in last check in. Kevin Lim 2006-05-25 17:13:00 -04:00
  • 248bd2bb62 Various branch predictor fixes/cleanup. It works more correctly now and supports both local and tournament predictors. Kevin Lim 2006-05-25 17:01:48 -04:00
  • 02aa549c9b Fix minor memory leak. Kevin Lim 2006-05-25 14:41:36 -04:00
  • 32509d8387 Fix up kernel stats, allow them to not be used as well. Kevin Lim 2006-05-25 11:50:42 -04:00
  • 3fe3523232 Support new flags now used instead of flags in decoder.isa. Kevin Lim 2006-05-24 14:31:06 -04:00
  • 16df8221ff Merge ktlim@zizzer:/bk/m5 into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3 Kevin Lim 2006-05-23 18:19:04 -04:00
  • 5d3a1e8f65 Updates to isa parser to make it see dependencies properly with the new scanner. Kevin Lim 2006-05-23 18:18:16 -04:00
  • cf826ae296 Minor fixes for full-system timing memory. Need to rewrite bus bridge to get any further. Steve Reinhardt 2006-05-23 17:16:45 -04:00
  • b414c9e736 Merge ktlim@zizzer:/bk/m5 into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3 Kevin Lim 2006-05-23 17:04:25 -04:00
  • 358cf1b117 Rework how instructions are scheduled and executed. The "execute" portion of IEW is really just the last cycle of execution, at which point execute() gets called. Execution begins inside the IQ, when it schedules FUs for specific instructions. As a result, the Execute stage should just pull all completing instructions out of the IQ stage and execute them. Limiting the number of writebacks outstanding must still be done. Kevin Lim 2006-05-23 17:03:43 -04:00
  • c9ad4a15d6 Cleanup checker. Kevin Lim 2006-05-23 16:59:13 -04:00
  • 6c386396fa Code cleanup. Kevin Lim 2006-05-23 16:57:14 -04:00
  • ff3d16ca1f Move kernel stats out of CPU and into XC. Kevin Lim 2006-05-23 16:51:16 -04:00
  • eeeee7c58f Add extra flags to help new CPU handle various instructions. IsIprAccess flag may go away in the future (op class can be used to tell this), and the CPU still needs a specific way to identify/deal with syscalls. Kevin Lim 2006-05-23 14:38:16 -04:00
  • 20051d41d5 Make scons auto-configure stuff per-build-root. Undo changes to allow multiple build roots in a single invocation... this would have been too messy to maintain with the auto-configure stuff, and probably isn't useful anyway. Steve Reinhardt 2006-05-22 22:37:56 -04:00
  • 475a981f6e Get rid of FastCPU model. It doesn't compile, and if we really want this we should start over from scratch and see if we can reuse parts from BaseSimpleCPU (e.g., derive a FastSimpleCPU). Steve Reinhardt 2006-05-22 22:18:08 -04:00
  • 3878895264 Fix to SPARC Nop class for multiple CPU models. Steve Reinhardt 2006-05-22 22:15:22 -04:00
  • 2af0daa59f Make CPU_MODELS default to just the two SimpleCPU variants for now (since those are the only ones that compile). Steve Reinhardt 2006-05-22 22:14:10 -04:00
  • a7c95f702c Clean up libelf handling. Steve Reinhardt 2006-05-22 21:51:59 -04:00
  • 28ea972942 have multiple global levels (as required by UA2005) Ali Saidi 2006-05-22 17:38:00 -04:00
  • 7df1412ccd Undo changes to instruction flags that has caused statistics to change in regressions. This temporarily will break the O3 and Ozone CPU models. Updates to fix them will be coming soon. Kevin Lim 2006-05-22 16:01:25 -04:00
  • c88f0810c0 Forgot to delete the now-obsolete mkbuilddir script. Steve Reinhardt 2006-05-22 14:41:49 -04:00
  • ba2eae5d52 New directory structure: - simulator source now in 'src' subdirectory - imported files from 'ext' repository - support building in arbitrary places, including outside of the source tree. See comment at top of SConstruct file for more details. Regression tests are temporarily disabled; that syetem needs more extensive revisions. Steve Reinhardt 2006-05-22 14:29:33 -04:00
  • 5a7db55e9a Threads start off in suspended status now (Korey's changes for SMT). Kevin Lim 2006-05-21 01:55:58 -04:00
  • e3d5588ca7 O3 code update/cleanup. Kevin Lim 2006-05-19 15:53:17 -04:00
  • 1a6f21b8d2 Remove sat_counter.cc and put its code into sat_counter.hh. Kevin Lim 2006-05-19 15:47:55 -04:00
  • fda6ddbffd Rename function to be more expressive. Kevin Lim 2006-05-19 15:45:06 -04:00
  • 5df3e61f16 IEW/IQ code cleanup and reorganization. Dependecy graph code moved into its own class. This requires the changes to the functional units, which is in the next check in. Kevin Lim 2006-05-19 15:44:03 -04:00
  • c4a87f874a Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself. Kevin Lim 2006-05-19 15:37:52 -04:00
  • c7e7d07ec3 Fixes for regression build errors. Kevin Lim 2006-05-19 14:27:46 -04:00
  • 86777c9db1 First steps toward getting full system to work with TimingSimpleCPU. Not there yet. Steve Reinhardt 2006-05-18 22:54:19 -04:00
  • 796fa429fe Change Packet parameters on Port methods from references to pointers. Steve Reinhardt 2006-05-18 22:32:21 -04:00
  • 381c4f6720 add regStats() back to ide_disk add sinic back to sconscript file Ali Saidi 2006-05-18 13:33:14 -04:00
  • a5ccef0058 Merge zizzer:/bk/newmem into zeep.pool:/z/saidi/work/m5.nm_m5_pull Ali Saidi 2006-05-18 12:52:37 -04:00
  • 2a5cd79986 fix ide stats and make sinic compile after merge. Ali Saidi 2006-05-18 12:52:16 -04:00
  • 935ba67b4f Get basic full-system working with AtomicSimpleCPU. Steve Reinhardt 2006-05-17 22:08:44 -04:00
  • 36581a5342 Faults generated at fetch are passed to the backend by creating a dummy nop instruction and giving it the fault. This unifies front end faults and normal instruction faults. Kevin Lim 2006-05-17 14:25:10 -04:00
  • 343bff3b7d Backport ISA scanner fix from newmem to work with scons 0.96.9* versions. Steve Reinhardt 2006-05-17 07:05:27 -04:00
  • 5da14ec60a Merge zizzer:/bk/newmem into zeep.pool:/z/saidi/work/m5.newmem Ali Saidi 2006-05-16 23:58:37 -04:00
  • a873cd2ca1 add single fs newmem test Ali Saidi 2006-05-16 23:58:31 -04:00
  • 309e1d8193 Split SimpleCPU into two different models, AtomicSimpleCPU and TimingSimpleCPU, which use atomic and timing memory accesses respectively. Common code is factored into the BaseSimpleCPU class. AtomicSimpleCPU includes an option (simulate_stalls) to add delays based on the estimated latency reported by the atomic accesses. Plain old "SimpleCPU" is gone; I have not updated all the config files (just test/test.py). Also fixes to get timing accesses working in new memory model and to get split-phase memory instruction definitions working with new memory model as well. Steve Reinhardt 2006-05-16 17:36:50 -04:00
  • aaf1969c78 Merge ktlim@zamp:/z/ktlim2/clean/m5-o3 into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-merge Kevin Lim 2006-05-16 15:30:36 -04:00
  • 578777d48e Update configuration files. Kevin Lim 2006-05-16 15:25:46 -04:00
  • 044f3998d0 Merge ktlim@zizzer:/bk/m5 into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-merge Kevin Lim 2006-05-16 15:09:06 -04:00
  • abe14c253b Include checker and trap latency parameters. Kevin Lim 2006-05-16 14:47:09 -04:00
  • 52383ca7cc Sampler updates. Kevin Lim 2006-05-16 14:09:04 -04:00
  • ef6e2eb3c4 Updates for sampler, checker, and general correctness. Kevin Lim 2006-05-16 14:06:35 -04:00
  • c23b23f4e7 Add in checker. Supports dynamically verifying the execution of instructions, as well as limited amount of control path verification. It will verify anything within the program, but anything external (traps, interrupts, XC) it assumes is redirected properly by the CPU. Similarly it assumes the results of store conditionals, uncached loads, and instructions marked as "unverifiable" are correct from the CPU. Kevin Lim 2006-05-16 13:59:29 -04:00
  • bd88385034 Sampler updates. Kevin Lim 2006-05-16 13:52:03 -04:00
  • 989cc1735e Sampling fixes related to the quiesce event. Kevin Lim 2006-05-16 13:51:18 -04:00
  • bfa9cc2c3a Add some flags for the upcoming checker. Kevin Lim 2006-05-16 13:48:05 -04:00
  • 2db12b3d6c Many files: Get rid of more unneeded includes. Steve Reinhardt 2006-05-15 20:30:20 -04:00
  • 2d9b7846c6 Many files: Fix sstream includes Steve Reinhardt 2006-05-15 20:06:42 -04:00
  • 7d3eb0fe80 Merge zizzer:/bk/newmem into zeep.pool:/z/saidi/work/m5.newmem Ali Saidi 2006-05-15 17:52:50 -04:00
  • a6266a99e2 Add support for sparc/solaris syscall emulation. Not tested yet because I can't get a static sparc 64 binary Ali Saidi 2006-05-15 17:37:03 -04:00
  • c7b26d015a fix typo, headers protection should be named __DIR_DIR_..._FILE_HH__ Ali Saidi 2006-05-15 17:35:51 -04:00
  • 0a053c7919 Merge m5.eecs.umich.edu:/bk/newmem into ewok.(none):/home/gblack/m5/newmem Gabe Black 2006-05-14 23:58:23 -04:00
  • 149b724b86 Fixed some problems with signed vs. unsigned numbers which were breaking conditional moves and signed divisions. Also did some minor clean ups. Gabe Black 2006-05-14 23:57:21 -04:00
  • 42313f33ef Made the decoder handle reg_or_imm type arguments with type qualifiers. Gabe Black 2006-05-14 23:56:16 -04:00
  • b91b877e9a Made EM_SPARC32PLUS be recognized as belonging to the SPARC architecture. Programs which have this set will not work because the stack works differently, so this should probably throw an error and quit. Gabe Black 2006-05-14 23:55:07 -04:00
  • 9955ebd03c Moved the UnimpFault to be global Gabe Black 2006-05-14 23:53:29 -04:00
  • 8db6dd370c Copied Korey's MIPS tests over to SPARC Gabe Black 2006-05-14 23:52:45 -04:00
  • 0be3d001c9 Merge zeep.pool:/z/saidi/work/m5.head into zeep.pool:/z/saidi/work/m5.nm_m5_pull Ali Saidi 2006-05-12 18:51:42 -04:00
  • 4644eab6d8 replace /.automount/ with /n/ Ali Saidi 2006-05-12 18:51:23 -04:00
  • 03a00e5d32 Merge zeep.pool:/z/saidi/work/m5.head into zeep.pool:/z/saidi/work/m5.nm_m5_pull Ali Saidi 2006-05-12 18:16:07 -04:00
  • 7929b9ee19 fix the checkpoint bug Ali Saidi 2006-05-12 17:47:23 -04:00
  • a91ee5abc2 FP programs are back to running... Condition Codes can be read and set... Special Regs (Hi,Lo,FCSR) are now added to the operands for use in decoder.isa. Korey Sewell 2006-05-12 02:57:32 -04:00
  • 21df09cf7a Fixes for ozone CPU to successfully boot and run linux. Kevin Lim 2006-05-11 19:18:36 -04:00
  • e5064e470c Initialize the count on the number of devices drained properly. Ron Dreslinski 2006-05-11 17:26:11 -04:00
  • 5cfff7d5bb First pass at a serializer object, may need to work on naming of object and functions: Ron Dreslinski 2006-05-11 17:24:15 -04:00
  • d1e6f48203 make the dma buffer equal to the max dma size Ali Saidi 2006-05-11 17:19:17 -04:00
  • 9892bdb342 ide printing to match newmem Ali Saidi 2006-05-11 17:18:19 -04:00