Commit Graph

  • 06d25dcd26 X86: Automatically make the IO APIC in an N CPU system have id N+1. Gabe Black 2009-04-19 02:39:19 -07:00
  • d10195b1a4 CPU: If the simple CPU is already idle, just return from suspendContext, don't assert. Gabe Black 2009-04-19 02:23:29 -07:00
  • 05b5861419 X86: Condense the startupCPU code. Gabe Black 2009-04-19 02:20:57 -07:00
  • f668340f2c X86: Set the local APIC ID to something meaningful. Gabe Black 2009-04-19 02:16:49 -07:00
  • 79a3a6aecb X86: Don't pretend to be an AMD CPU any more. We're not good enough at it. Gabe Black 2009-04-19 02:06:51 -07:00
  • a25aa00522 o3-mips-regress: add hello word regression. Korey Sewell 2009-04-18 10:42:29 -04:00
  • d8a34a9745 mips-tlb-fix: check for alignment faults.\nMIPS was never updated to use TLBS correcty in SE mode. The error was forwarding translations directly to pageTable. The TLB should check for alignment faults at bare minimum here but in the long run we should be using TLBs in SE mode for MIPS. Korey Sewell 2009-04-18 10:42:29 -04:00
  • e501e1af54 mips-syscall: mark with correct flag. \nMIPS was using wrong serialization flag on syscall instructions allowing O3 to handle SE mode syscalls incorrectly and speculate on instructions after a syscall Korey Sewell 2009-04-18 10:42:29 -04:00
  • 5c1742b822 o3-delay-slot-bpred: fix decode stage handling of uncdtl. branches.\n decode stage was not setting the predicted PC correctly or passing that information back to fetch correctly Korey Sewell 2009-04-18 10:42:29 -04:00
  • cc9e834e93 mips-shadowsets: fix calcuations. \n Remove Shadowsets from Int & Arch. Reg Calculations Korey Sewell 2009-04-18 10:42:28 -04:00
  • 14808ecac9 o3, inorder: fix FS bug due to initializing ThreadState to Halted. For some reason o3 FS init() only called initCPU if the thread state was Suspended, which was no longer the case. There's no apparent reason to check, so I whacked the test completely rather than changing the check to Halted. The inorder init() was also updated to be symmetric, though the previous code was just a fancy no-op. Steve Reinhardt 2009-04-17 16:54:58 -07:00
  • b146131d18 o3: handle fetch with no active threads correctly. This situation can arise now on the first fetch cycle after the last active thread is halted. It seems easy enough to deal with when it happens rather than trying to avoid it. Steve Reinhardt 2009-04-15 23:12:00 -07:00
  • bb974d5a47 o3: fix {read,set}ArchFloatReg* functions. Register indices were not being calculated properly. Steve Reinhardt 2009-04-15 23:10:43 -07:00
  • 7617dcf736 ThreadState: initialize status to Halted in constructor. This provides a common initial status for all threads independent of CPU model (unlike the prior situation where CPUs initialized threads to inconsistent states). This mostly matters for SE mode; in FS mode, ISA-specific startupCPU() methods generally handle boot-time initialization of thread contexts (since the right thing to do is ISA-dependent). Steve Reinhardt 2009-04-15 13:18:24 -07:00
  • 48d4ca522a Update stats after elimination of Unallocated state. Somehow ending threads with halt() instead of deallocate() reduces the squash count on o3 by 1 (and a few other similarly trivial changes). Steve Reinhardt 2009-04-15 13:13:58 -07:00
  • 8882dc1283 Get rid of the Unallocated thread context state. Basically merge it in with Halted. Also had to get rid of a few other functions that called ThreadContext::deallocate(), including: - InOrderCPU's setThreadRescheduleCondition. - ThreadContext::exit(). This function was there to avoid terminating simulation when one thread out of a multi-thread workload exits, but we need to find a better (non-cpu-centric) way. Steve Reinhardt 2009-04-15 13:13:47 -07:00
  • 9b66e82897 configs: Allow M5_CPU2000 env var to set CPU2K binary path. It would be nice to have a more comprehensive mechanism but this is a big improvement over manually editing the script. Steve Reinhardt 2009-04-15 12:52:31 -07:00
  • 5c79191603 X86: Fix minor bug in the page table walker from TLB shuffling. Gabe Black 2009-04-13 04:14:15 -07:00
  • c87c9950df stats: disallow duplicate statistic names. Nathan Binkert 2009-04-08 22:22:50 -07:00
  • 18a30524d6 alpha: get rid of all turbolaser remnants Nathan Binkert 2009-04-08 22:22:49 -07:00
  • 374ba9bae3 tests: update tests for TLB unification Nathan Binkert 2009-04-08 22:21:30 -07:00
  • e0de2c3443 tlb: More fixing of unified TLB Nathan Binkert 2009-04-08 22:21:27 -07:00
  • 7b5a96f06b tlb: Don't separate the TLB classes into an instruction TLB and a data TLB Gabe Black 2009-04-08 22:21:27 -07:00
  • 08043c777f style: fix style hook for some newer versions of mercurial. Nathan Binkert 2009-04-08 22:21:25 -07:00
  • d080581db1 Merge ARM into the head. ARM will compile but may not actually work. Gabe Black 2009-04-06 10:19:36 -07:00
  • 7a7c4c5fca arm: add ARM support to M5 Stephen Hines 2009-04-05 18:53:15 -07:00
  • 639cb0a42d CPA: Fix a typo that managed to sneak in. Ali Saidi 2009-03-25 20:06:54 -04:00
  • a102f84540 includes: add ext to the includes path. move dnet to the correct place so that we use this Nathan Binkert 2009-03-17 12:49:03 -07:00
  • f3621f11d5 ply: put the absolute path to ply in the environment, not a relative one Nathan Binkert 2009-03-17 12:45:41 -07:00
  • 4eea8acaf2 stats: fix compiler error Nathan Binkert 2009-03-16 15:16:58 -07:00
  • 15f0e44060 Very minor regression stats updates due top previous changeset. Setting dirty bit on swaps added a handful of writebacks in a few of the longer-running SPARC_SE benchmarks. Steve Reinhardt 2009-03-16 11:01:23 -04:00
  • 758bfe4eb5 cache: set dirty bit on swaps (oops!) Steve Reinhardt 2009-03-11 23:05:26 -07:00
  • 61ff48a1f8 cpu: fix minor endian issue with trace output (no functional change) Steve Reinhardt 2009-03-11 23:05:24 -07:00
  • 17cb191c98 tests: use env.Execute instead of Execute to pick up env vars. Steve Reinhardt 2009-03-11 10:54:42 -07:00
  • a94c68228a prefetch: don't panic on requests w/o contextID (e.g., writebacks). Steve Reinhardt 2009-03-10 17:37:15 -07:00
  • ac64586a99 build: fix compiler warnings in g++ 3.4 Nathan Binkert 2009-03-07 21:34:50 -08:00
  • 4c902714f7 Minor tweak to regression exit status message. Steve Reinhardt 2009-03-07 17:24:13 -08:00
  • 4f1855484c Fix up regression execution to better handle tests that end abnormally. E.g., mark aborts due to assertion failures as failed tests, but those that get killed by the user as needing to be rerun, etc. Steve Reinhardt 2009-03-07 16:58:51 -08:00
  • 5cf0605766 tests: update tests because of changes in stat names and in the stats package Nathan Binkert 2009-03-07 14:30:55 -08:00
  • ac7bda0212 stats: fix duplicate statistics names. This generally requires providing a more meaningful name() function for a class. Nathan Binkert 2009-03-07 14:30:54 -08:00
  • fcaf1b74b0 stats: cleanup text output stuff and fix mysql output Nathan Binkert 2009-03-07 14:30:53 -08:00
  • be2d74a25a scons: fix the library path stuff Nathan Binkert 2009-03-07 14:30:52 -08:00
  • 66a85b54e2 build: fix errors for compilers other than g++ 4.3 Nathan Binkert 2009-03-07 14:30:52 -08:00
  • 6f787e3d36 stats: create an enable phase, and a prepare phase. Enable more or less takes the place of check, but also allows stats to do some other configuration. Prepare moves all of the code that readies a stat for dumping into a separate function in preparation for supporting serialization of certain pieces of statistics data. While we're at it, clean up the visitor code and some of the python code. Nathan Binkert 2009-03-05 19:09:53 -08:00
  • 9f45fbaaa6 stats: clean up how templates are used on the data side. This basically works by taking advantage of the curiously recurring template pattern in an intelligent way so as to reduce the number of lines of code and hopefully make things a little bit clearer. Nathan Binkert 2009-03-05 19:09:53 -08:00
  • cc95b57390 stats: Fix all stats usages to deal with template fixes Nathan Binkert 2009-03-05 19:09:53 -08:00
  • c7e82f965f stats: remove the template wart left over from the ancient binning stuff Nathan Binkert 2009-03-05 19:09:53 -08:00
  • 244c2a517a stats: stick the distribution's fancy parameter into the parameters structure. Nathan Binkert 2009-03-05 19:09:53 -08:00
  • e19fd1d521 stats: Add a wrapper class for the information side of things. This provides an easy way to provide the callbacks into the data side of things from the info side of things. Rename Wrap to DataWrap so it is more easily distinguishable from InfoWrap Nathan Binkert 2009-03-05 19:09:53 -08:00
  • c7bd1ec261 stats: better naming of template parameters for the wrapper stuff Parent and Child are bad names. Derived and Base are better. Nathan Binkert 2009-03-05 19:09:53 -08:00
  • 2dd5a5b3dc stats: get rid of meaningless uses of virtual Nathan Binkert 2009-03-05 19:09:53 -08:00
  • ec209953e7 stats: miscellaneous cleanup Nathan Binkert 2009-03-05 19:09:53 -08:00
  • a767819d56 serialize: Allow floats and doubles to be serialized Nathan Binkert 2009-03-05 19:09:53 -08:00
  • e3d6e8882e Get rid of 'using namespace' declarations in headers. Steve Reinhardt 2009-03-05 17:15:31 -08:00
  • b8548c011d SCons: Fix bug with .hg dir not existing. Ali Saidi 2009-03-05 17:05:06 -05:00
  • 9e1dc7f205 InOrderCPU: Clean up Constructors to initialize variables correctly (i.e. in a way for the compiler to play *nice*) Korey Sewell 2009-03-04 22:37:45 -05:00
  • 7c8d544216 Give each resource in InOrder it's own TraceFlag instead of just standard 'Resource' flag Korey Sewell 2009-03-04 13:17:09 -05:00
  • 30cd2d21fa Remove unused functions/comments cluttering up the code. Korey Sewell 2009-03-04 13:17:08 -05:00
  • f69b018571 make handling of interstage buffers (i.e. StageQueues) more consistent: (1)number from 0-n, not 1-n+1, (2) always check nextStageValid before a stageNum+1 and prevStageValid for a stageNum-1 reference (3) add skidSize() to get StageQueue size for all threads Korey Sewell 2009-03-04 13:17:07 -05:00
  • f98e9161a8 InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need to be reset to 0 (or the appropriate value) before we assume they are OK for use. Korey Sewell 2009-03-04 13:17:05 -05:00
  • 846f953c2b Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to differentiate buffers when debugging Korey Sewell 2009-03-04 13:16:49 -05:00
  • e4aa4ca40c use numCycles instead of simTicks to determine CPI stat in InOrder Korey Sewell 2009-03-04 13:16:48 -05:00
  • 9ee8e685a4 O3: Make numThreads error message more helpful. Steve Reinhardt 2009-03-04 09:25:53 -05:00
  • 307905095c Fix Num_Syscall_Descs check bug in non-x86 ISAs. (See cset d35d2b28df38 for x86 fix.) Steve Reinhardt 2009-02-28 20:14:22 -05:00
  • 4523741c1c quell gcc 4.3 warning Nathan Binkert 2009-02-27 17:29:58 -08:00
  • b69a9ad45a X86: Install the exit system call. Gabe Black 2009-02-27 09:26:41 -08:00
  • 9265b3d598 X86: Install the 32 bit write system call. Gabe Black 2009-02-27 09:26:32 -08:00
  • b36f28472d X86: Implement shrd. Gabe Black 2009-02-27 09:26:26 -08:00
  • 2fe87e62ba X86: Add a structure to allow mapping between the host and guest fstat formats. Gabe Black 2009-02-27 09:26:17 -08:00
  • 27b751ec46 X86: Don't treat the REX prefixes as prefixes in 32 bit modes. These are inc/dec instructions. Gabe Black 2009-02-27 09:26:09 -08:00
  • aa51c01d69 X86: Set address size to 64 bits when generating addresses internally. Gabe Black 2009-02-27 09:26:01 -08:00
  • db3c51d3a0 X86: Add a vsyscall page for 32 bit processes to use. Gabe Black 2009-02-27 09:25:51 -08:00
  • c3d7d7ed0e X86: Implement sysenter as a system call interface. Gabe Black 2009-02-27 09:25:43 -08:00
  • 5c1cc99d48 X86: Add a 32 bit mmap2 system call. Gabe Black 2009-02-27 09:25:33 -08:00
  • 04dbed79f8 X86: Install a 32 bit fstat64 system call. Gabe Black 2009-02-27 09:25:26 -08:00
  • 8a1eb7e8be X86: Take address size into account when computing an effective address. Gabe Black 2009-02-27 09:25:16 -08:00
  • 1d18eb9043 X86: Make instructions that use intseg preserve all 8 bytes of their addresses. Gabe Black 2009-02-27 09:25:02 -08:00
  • 79bc1b3740 X86: Fix a decoder bug and add in some missing instructions. Gabe Black 2009-02-27 09:24:10 -08:00
  • 3dfa564e70 X86: Respect segment override prefixes even when there's no ModRM byte. Gabe Black 2009-02-27 09:23:58 -08:00
  • 9dfa3f7f73 X86: Fix segment limit checks. Gabe Black 2009-02-27 09:23:50 -08:00
  • 9491debaa6 X86: Implement the 32 bit set_thread_area system call. Gabe Black 2009-02-27 09:23:42 -08:00
  • 1786f20058 X86: Set an initial value for the LDT selector. Gabe Black 2009-02-27 09:23:27 -08:00
  • e23d688d8f X86: Set up a space for a GDT in SE so we can set up TLS or LDT segments. Gabe Black 2009-02-27 09:23:17 -08:00
  • 281ef8111a X86: Compute shift instruction flags correctly. Gabe Black 2009-02-27 09:23:00 -08:00
  • 14fc06640e X86: Install some 32 bit system calls. Gabe Black 2009-02-27 09:22:50 -08:00
  • 6ca53f8675 X86: Handle 32 bit system call arguments. Gabe Black 2009-02-27 09:22:30 -08:00
  • 9a000c5173 Processes: Make getting and setting system call arguments part of a process object. Gabe Black 2009-02-27 09:22:14 -08:00
  • 60aab03e85 X86: Implement the int system call interface in the decoder. Gabe Black 2009-02-27 09:21:58 -08:00
  • 05de9f4e2c X86: Distinguish the width of values on the stack between 32 and 64 bit processes. Gabe Black 2009-02-27 09:21:36 -08:00
  • 932f6440a1 X86: Add a class to support 32 bit x86 linux process. Gabe Black 2009-02-27 09:21:14 -08:00
  • bebbc9dc89 CPA: Add annotations to IGbE and CopyEngine device models. Ali Saidi 2009-02-26 19:29:17 -05:00
  • d447ccb2c6 CPA: Add code to automatically record function symbols as CPU executes. Ali Saidi 2009-02-26 19:29:17 -05:00
  • 6fd4bc34a1 CPA: Add new object for gathering critical path annotations. Ali Saidi 2009-02-26 19:29:17 -05:00
  • d5ef9ee06b CPA: Add m5ops for critical path annotation work. Ali Saidi 2009-02-26 19:29:16 -05:00
  • 894925f135 Trace: fix the --trace-start option Ali Saidi 2009-02-26 19:29:16 -05:00
  • 4a64493158 Devices: Make the RTC device reflect the use of BCD in its status registers. Gabe Black 2009-02-25 10:22:49 -08:00
  • 7400769768 X86: Implement IST stack switching. Gabe Black 2009-02-25 10:22:43 -08:00
  • 5c546e3504 CPU: Only look up the nearest symbol in the kernel if you're actually in kernel code. Gabe Black 2009-02-25 10:22:36 -08:00
  • 437b02884d ISA: Get rid of the get*RegName functions. Gabe Black 2009-02-25 10:22:31 -08:00
  • 3b01535ec1 SPARC: Get rid of the state keeping track of register frames. Gabe Black 2009-02-25 10:22:25 -08:00