Commit Graph

  • b0b4038ee9 X86: Fix a corner case where mul would overwrite an original register value it still needed. Gabe Black 2007-09-04 23:22:08 -07:00
  • e1e7605213 X86: Add in a file with floating point indexing which -should- have been in an earlier changeset. Gabe Black 2007-09-04 23:21:41 -07:00
  • 276a382557 Serialization: Fix unserialization of object pointers Ali Saidi 2007-09-04 13:12:58 -04:00
  • 021421d663 Config: Remove some ini file code that no longer works Ali Saidi 2007-09-04 13:12:58 -04:00
  • 9da070ce8a X86: Major rework of how regop microops are generated. The new implementation uses metaclass, and gives a lot more precise control with a lot less verbosity. The flags/no flags reg/imm variants are all handled by the same python class now which supplies a constructor to the right C++ class based on context. Gabe Black 2007-08-31 22:28:07 -07:00
  • 9277545ba6 Microassembler: Pass the actual mnemonic used to the macroop add_micro function Gabe Black 2007-08-31 22:26:02 -07:00
  • 941675690c X86: Get x86 to compile again after the simobject constructor change. Gabe Black 2007-08-31 13:02:58 -07:00
  • eddf6f1637 python: Write configuration file without reassigning sys.stdout. Miles Kaufmann 2007-08-30 15:16:59 -04:00
  • e4eea9ee04 Fix miscellaneous small typos. Miles Kaufmann 2007-08-30 15:16:59 -04:00
  • cd890576bb devices: Avoid using assert() to catch misconfiguration Miles Kaufmann 2007-08-30 15:16:59 -04:00
  • 54cc0053f0 params: Deprecate old-style constructors; update most SimObject constructors. Miles Kaufmann 2007-08-30 15:16:59 -04:00
  • 9cb49ab9e0 python: Eliminate the Python use of eval() and frame manipulation Miles Kaufmann 2007-08-30 15:16:58 -04:00
  • f67cd04673 X86: Fix the sra microop to get the sign bit from the right operand. Gabe Black 2007-08-29 20:39:41 -07:00
  • c1a776de8a X86: Implement the movaps instruction. Gabe Black 2007-08-29 20:38:22 -07:00
  • 3da3190f07 X86: Implement the movsd instruction. Gabe Black 2007-08-29 20:37:44 -07:00
  • f0b20ff970 X86: Implement the movlpd instruction. Gabe Black 2007-08-29 20:37:16 -07:00
  • 3b97b6e0e2 X86: Add an fp move microop. Gabe Black 2007-08-29 20:36:44 -07:00
  • 22830c0747 X86: Add load and store microops that use the fp registers. Gabe Black 2007-08-29 20:36:12 -07:00
  • 34f3c9d196 X86: Add operands to handle floating point registers. Gabe Black 2007-08-29 20:35:30 -07:00
  • bc3635a110 X86: Flesh out register indexing constants. Gabe Black 2007-08-29 20:34:52 -07:00
  • 6204d00940 X86: Make the fp accessors not panic. Gabe Black 2007-08-29 20:34:00 -07:00
  • 61b1c53a2a X86: Make x86 syscall return just stuff the return value in eax. Gabe Black 2007-08-29 20:29:18 -07:00
  • c593cfbdeb X86: More two byte opcode decoding. I missed two groups in the last changeset. Gabe Black 2007-08-28 19:36:51 -07:00
  • fbab5c9bd3 X86: Hook in an implementation for lseek. Gabe Black 2007-08-28 17:34:15 -07:00
  • 37f1ff95e0 X86: More fully decode two byte opcodes. This includes the most of the SSE stuff, but not some of the "groups" of instructions. Gabe Black 2007-08-28 17:18:13 -07:00
  • a3367adaff Address translation: De-templatize the GenericTLB class. Gabe Black 2007-08-28 14:30:50 -07:00
  • 3ab1913077 Merge with head. Gabe Black 2007-08-27 18:33:47 -07:00
  • b84704173e SPARC: Update the statistics for the SPARC gzip benchmark in o3. Gabe Black 2007-08-27 18:31:36 -07:00
  • 13b1f7231c Address Translation: Make the Generic TLB only compile in SE mode. Gabe Black 2007-08-27 18:30:58 -07:00
  • 703d10705c Alpha: Fixes to get alpha to compile again. Gabe Black 2007-08-27 18:30:02 -07:00
  • 8253ff2ba9 MIPS: Fixes to get mips to compile. Gabe Black 2007-08-27 18:29:15 -07:00
  • 25ad253643 SPARC: Fixes to get SPARC to compile again. Gabe Black 2007-08-27 18:26:36 -07:00
  • 7227ab5f22 Merge with head Gabe Black 2007-08-26 21:45:40 -07:00
  • 8d1c7a83d7 X86: Make the Ruflag microop work correctly, and make the code a little clearer. Gabe Black 2007-08-26 20:41:36 -07:00
  • ac5ec1542e X86: Return values for some cpuid functions that match what my development machine returns. Gabe Black 2007-08-26 20:40:42 -07:00
  • 8b738f7f12 X86: Make the microassembler accept lines which are just labels. The labels on these lines will be associated with whatever the next microop is. Gabe Black 2007-08-26 20:39:55 -07:00
  • 03880cf828 X86: Make cpuid actually consider the eax parameter and return different values. Gabe Black 2007-08-26 20:38:42 -07:00
  • 9c99f5f825 X86: Fix the sign extension microop so it extends zeros correctly. Gabe Black 2007-08-26 20:37:41 -07:00
  • 506bf83595 X86: Implement cmps (string compare) Gabe Black 2007-08-26 20:36:46 -07:00
  • 00d9036c62 X86: Make shift instructions set some of the flags they're supposed to. The flag mechanism for microops needs to be fleshd out a little more to allow for custom flag calculation methods for certain microops. Shift is an example where the rules for calculating OF and CF are unique. Gabe Black 2007-08-26 20:35:48 -07:00
  • 9b49a78cfd Address translation: Make the page table more flexible. The page table now stores actual page table entries. It is still a templated class here, but this will be corrected in the near future. Gabe Black 2007-08-26 20:33:57 -07:00
  • 80d51650c8 O3 CPU: Remove alignment check from dynamic instruction read/write functions. Gabe Black 2007-08-26 20:31:30 -07:00
  • fcd04f953c X86: Remove x86 code that attempted to fix misaligned accesses. Gabe Black 2007-08-26 20:30:36 -07:00
  • 24bfda0fdf Simple CPU: Don't trace instructions that fault. Otherwise they show up twice. Gabe Black 2007-08-26 20:29:09 -07:00
  • a51e2fd8bd Stats: Update the stats. Gabe Black 2007-08-26 20:27:53 -07:00
  • e7e2d5ce90 Simple CPU: Added code that will split requests that cross block boundaries into multiple memory access. Gabe Black 2007-08-26 20:27:11 -07:00
  • e056e49c45 Simple CPU: Make sure only instructions which complete without faulting are counted. Gabe Black 2007-08-26 20:25:42 -07:00
  • 537239b278 Address Translation: Make SE mode use an actual TLB/MMU for translation like FS. Gabe Black 2007-08-26 20:24:18 -07:00
  • f738afb865 SPARC: Make sure unaligned access are caught on cached translations as well. Gabe Black 2007-08-26 20:15:29 -07:00
  • 9791b0f927 IGbE: Some fixes to the intel nic model. Ali Saidi 2007-08-25 01:38:01 -04:00
  • 4e89518817 Mem: Make errors in the memory system be responses, not requests. Fixes cache handling of error responses. Ali Saidi 2007-08-24 16:39:24 -04:00
  • 20e0a3792a Merge with head. Gabe Black 2007-08-21 16:19:46 -07:00
  • e1054170b5 o3: Fix for retry ID bug. It should be cleared prior to the call to recvRetry. Add extra DPRINTF statement for clearer debugging output. Kevin Lim 2007-08-21 16:16:56 -07:00
  • 3555b2aecc style: fix style hook when run from a repo subdir. Before this fix, the style hook would blow up when you did a qrefresh to add a new file, but executed the qrefresh from a repository sub directory. Nathan Binkert 2007-08-21 16:15:14 -07:00
  • a874cb40ab Merge with head. Gabe Black 2007-08-18 19:41:08 -07:00
  • 464a51e29e Ports: Only try to do EthPort stuff in full system. Ali Saidi 2007-08-17 04:20:02 -04:00
  • bba265ccd8 PCI: Move PCI Configuration data into devices now that we can inherit parameters. Ali Saidi 2007-08-16 16:49:05 -04:00
  • 773cb77656 Devices: Make EtherInts connect in the same way memory ports currently do. Ali Saidi 2007-08-16 16:49:02 -04:00
  • a9e4daf574 style: Don't try to fix files that should be ignored. The style hook was ignoring new files, but processing all modified files. Nathan Binkert 2007-08-14 18:21:23 -07:00
  • 4bce50340f Merge with head. Gabe Black 2007-08-14 16:12:11 -07:00
  • 0cb32aadb1 Regression: Update EIO simple-timing test for new cache. Ali Saidi 2007-08-14 14:02:22 -04:00
  • b634e81496 Regression: Update insttest regressions for new cache. Ali Saidi 2007-08-14 00:16:08 -04:00
  • 51ac4d1fb5 Regression: Use test-progs in /dist instead of tests/test-progs since they all aren't there. Ali Saidi 2007-08-14 00:14:03 -04:00
  • 546fbfb47c fixup bad hand merge Ali Saidi 2007-08-13 23:45:07 -04:00
  • 27ddf0b40e Merge IGNORE_STYLE change and my change. Ali Saidi 2007-08-13 23:44:26 -04:00
  • b069b81acf Regression: See if using subprocess instead of os.system and erroring immediately will stop regression randomly hanging. Ali Saidi 2007-08-13 23:40:43 -04:00
  • ca84d953b9 SPARC: Make nops have the IsNop flag set. In O3, a nop is used to carry faults down the pipeline that didn't originate from an instruction. If the instruction doesn't do anything, that is just returns NoFault, but doesn't have IsNop set, the NoFault will overwrite the fault that's being sent down and nothing will happen. Gabe Black 2007-08-13 16:11:27 -07:00
  • 92a57edff1 O3: Set up the predicted npc and nnpc for a fault carrying noop so that it doesn't cause a false branch mispredict. Gabe Black 2007-08-13 16:08:58 -07:00
  • e99c56f971 SPARC: Move tlb state into the tlb. Each "strand" may need to have a private copy of this state, but I couldn't find anywhere in the spec that said that after looking briefly. This prevents writes to the thread context in o3 which was causing the pipeline to be flushed and stopping any forward progress. The other ASI accessible state will probably need to be accessed differently if/when we get O3 full system up and running. Gabe Black 2007-08-13 16:06:50 -07:00
  • 26853e11c0 SPARC: Make the spill and fill handlers use the correct ASI, and let No_Fault ASI accesses work. Gabe Black 2007-08-13 16:02:47 -07:00
  • 82f78ebd39 Move the "translate" member functions back into the base o3 class. Gabe Black 2007-08-13 16:01:09 -07:00
  • 9b4be65327 python: make the DictImporter's unload() work in any context. import sys since sys may not be defined in whatever context the DictImporter is used. Also reset self.installed after an unload since the same DictImporter could be used again Nathan Binkert 2007-08-13 13:39:22 -07:00
  • ce219738b9 Style: fix IGNORE_STYLE so it isn't required on the command line. Ali Saidi 2007-08-12 22:44:14 -04:00
  • e9ddc7fbca Regression: fix configuration for SPARC_FS Ali Saidi 2007-08-12 19:44:04 -04:00
  • d114e5fae6 Regression: Update stats for cache changes. Ali Saidi 2007-08-12 19:43:55 -04:00
  • 02353a60ee MemorySystem: Fix the use of ?: to produce correct results. Ali Saidi 2007-08-12 19:43:54 -04:00
  • 64295b800f merge Nathan Binkert 2007-08-12 09:56:37 -07:00
  • b92594dd90 style: If IGNORE_STYLE=True is set on the scons command line, ignore style. Use this in the regress script to avoid issues with the checker. Nathan Binkert 2007-08-12 09:56:05 -07:00
  • ec4000e0e2 Added fastmem option. Lets CPU accesses to physical memory bypass Bus. Vincentius Robby 2007-08-08 18:43:12 -04:00
  • 1caed14654 alpha: Quick fix for things related to TLB MRU cache. simple-timing test for ALPHA_FS breaks. Vincentius Robby 2007-08-08 18:38:19 -04:00
  • 9493501fdb Regression: Add an I/O Cache to the full system regressions that have a cache. Ali Saidi 2007-08-10 16:14:02 -04:00
  • 06a9f58c68 DMA: Add IOCache and fix bus bridge to optionally only send requests one way so a cache can handle partial block requests for i/o devices. Ali Saidi 2007-08-10 16:14:01 -04:00
  • 5c38668ed6 Bus: Only call end() on an stl object once in a loop Ali Saidi 2007-08-10 16:14:01 -04:00
  • 3d40cba8d4 Port, StaticInst: Revert unnecessary changes. Vincentius Robby 2007-08-08 14:54:02 -04:00
  • 13d10e844c alpha: Make the TLB cache to actually work. Improve MRU checking for StaticInst, Bus, TLB Vincentius Robby 2007-08-08 14:18:09 -04:00
  • ef32494e72 Alpha: Fix an off by one error with the tlb caching mechanism. Gabe Black 2007-08-07 21:51:12 -07:00
  • 0fd999ca40 Merge with head. Gabe Black 2007-08-07 15:31:36 -07:00
  • e85144bff2 Statetrace: Make statetrace do string instructions all at once like m5 does. Gabe Black 2007-08-07 15:27:54 -07:00
  • cd3f0646ca X86: Added some missing parenthesis in the condition code calculation function. Gabe Black 2007-08-07 15:26:50 -07:00
  • 24541780c6 X86: Implemented and hooked in SCAS (scan string) Fixed the asz assembler symbol. Adjusted the condion checks to have appropriate options. Implemented the SCAS microcode. Attached SCAS into the decoder. Gabe Black 2007-08-07 15:25:41 -07:00
  • d79a591608 X86: Add a format to handle string instructions which can use the repe and repne prefixes. Gabe Black 2007-08-07 15:23:01 -07:00
  • 60c61cb2b1 X86: Overhaul of ruflags to get it to work correctly. Gabe Black 2007-08-07 15:21:13 -07:00
  • fb6cdf09cb X86: Make a microcode branch microop. Also some touch up for ruflag. Gabe Black 2007-08-07 15:19:26 -07:00
  • 1db9e1fb8f port: Implement cache for port interfaces and ranges Vincentius Robby 2007-08-04 16:05:55 -04:00
  • 2898d76827 alpha: Implement a cache for recently used page table entries Vincentius Robby 2007-08-04 14:25:35 -04:00
  • acac5580f2 StaticInst: Fix decode cache initialization. Cache functionality was negated. Vincentius Robby 2007-08-04 14:25:17 -04:00
  • cae8d20633 Merge with head. Gabe Black 2007-08-04 20:27:23 -07:00
  • 30e777a5d3 X86: Implement microops and instructions that manipulate the flags register. Gabe Black 2007-08-04 20:24:18 -07:00
  • 802f13e6bd X86: Make 64 bit unaligned accesses work as well as the other sizes. There is a fundemental flaw in how unaligned accesses are supported, but this is still an improvement. Gabe Black 2007-08-04 20:22:20 -07:00
  • b9793c2506 X86: Make the open flags correct. Gabe Black 2007-08-04 20:18:20 -07:00