Commit Graph

  • f6e5b92d63 ELF Loader: Use physical addresses instead of virtual ones. This works in SE mode because the virtual and physical addresses specified for segments are the same. In Alpha, the LoadAddrMask is still necessary because the virtual and physical addresses are the same and apparently rely on the super page mechanism. All of the regressions pass. Gabe Black 2007-10-09 13:12:04 -07:00
  • a630d77ec5 Configuration: Move iocache outside of processors loop so it works for MP systems Ali Saidi 2007-10-08 15:19:58 -04:00
  • 8858b0b667 X86: Make x86 initialize more state. Gabe Black 2007-10-07 18:20:51 -07:00
  • a19c212757 X86: Work on the x86 tlb. Gabe Black 2007-10-07 18:18:39 -07:00
  • cd36c69a4d X86: Make faults maintain an error code which gets pushed on the stack. Gabe Black 2007-10-07 18:17:52 -07:00
  • efbff349a9 X86: Significantly filled out misc regs. Gabe Black 2007-10-07 18:16:00 -07:00
  • 999328f5ad X86: Make sure there are fewer spurious differences between instructions for caching purposes. Gabe Black 2007-10-07 18:14:48 -07:00
  • d53552355b BitUnion: Fix some types in the bitunion classes. Gabe Black 2007-10-07 18:12:10 -07:00
  • 63a6d7376b X86: Make initCPU and startupCPU do something basic. Gabe Black 2007-10-07 18:10:42 -07:00
  • 304e4c932a X86: Make the Interrupts class complain less. Gabe Black 2007-10-07 18:08:17 -07:00
  • 847a18ad48 X86: Adjust the config scripts for x86 fs. Gabe Black 2007-10-07 17:52:36 -07:00
  • e540c37282 X86: Make an x86 system object. Gabe Black 2007-10-07 17:48:36 -07:00
  • 8fe672551e X86: Make an x86 platform object. Gabe Black 2007-10-07 17:48:06 -07:00
  • 22196f8885 X86: X86 FS compile fix. Gabe Black 2007-10-07 17:46:56 -07:00
  • bd5a88ba43 Merge with head. Gabe Black 2007-10-04 12:35:35 -07:00
  • e1516aefbb X86: Fix the PageShift constant in isa_traits.hh (I thought I alread did this?) Gabe Black 2007-10-04 12:34:29 -07:00
  • 2848ef6696 SPARC: Make software trap 3 flush the register windows like the ABI specifies. Gabe Black 2007-10-04 12:24:16 -07:00
  • 50e2d20cb8 Merge with head. Gabe Black 2007-10-02 23:03:38 -07:00
  • c2d60abf52 X86: Distinguish between the rep and repe prefixes. STOS and MOVS only accept the rep prefix which always loops until rcx becomes 0. The other string instructions accept repe (same encoding as rep) and repne which also check the condition code flags each iteration. Gabe Black 2007-10-02 23:02:18 -07:00
  • 504f90f763 X86: Start implementing the x86 tlb which will handle segmentation permission and limit checks and paging. Gabe Black 2007-10-02 23:00:37 -07:00
  • f4a932a6b3 X86: Fix places where movfp was used incorrectly. Gabe Black 2007-10-02 22:58:48 -07:00
  • 06d2d54b57 X86: Fix the movfp microop. Gabe Black 2007-10-02 22:58:04 -07:00
  • 3e644b48bb X86: Fix x87 floating point stack register indexing. Gabe Black 2007-10-02 22:57:33 -07:00
  • a56c651980 Predecoder: Clear out predecoder state on an ITLB fault. Gabe Black 2007-10-02 22:21:38 -07:00
  • 4049c9f76a X86: Put ldst into the microcode (the earlier changeset didn't really). Also clean things up as much as possible so that faulting won't break an instruction. More microops which verify addresses are needed. Gabe Black 2007-10-02 22:19:53 -07:00
  • 7c521db9de X86: Implement the ldst microop and put it in existing microcode where appropriate. Gabe Black 2007-10-02 22:08:09 -07:00
  • 683d6d46f6 X86: Fix up the microcode for the FST and FSTP instructions. Gabe Black 2007-10-02 22:06:59 -07:00
  • b831f7409b X86: Get rid of a hack for ruflag which is no longer necessary. Gabe Black 2007-10-02 22:05:50 -07:00
  • efb309525a X86: Allow logic instructions to set ECF as well as CF. Gabe Black 2007-10-02 22:05:10 -07:00
  • 65c247f21f X86: Add classes for the actual x86 faults. Gabe Black 2007-10-02 22:04:20 -07:00
  • 7d78f1b41c X86: Hook in another version of the XCHG instruction. Gabe Black 2007-10-02 22:03:38 -07:00
  • 66a08f7ba4 X86: Implement MOVS Gabe Black 2007-10-02 22:02:58 -07:00
  • fea7165b55 X86: Implement STOS. Gabe Black 2007-10-02 22:02:30 -07:00
  • 7571e8346d CPU: Make the cpuid parameter get set in SE mode as well. Gabe Black 2007-10-02 18:33:57 -07:00
  • 8ca7feb726 Remote GDB: Turn on remote gdb in SE mode. Gabe Black 2007-10-02 18:26:27 -07:00
  • 988cdb49f2 CPU: Make the cpus check the pc event queues in SE mode. Gabe Black 2007-10-02 18:25:37 -07:00
  • 48041fdc53 SPARC,Remote GDB: Flesh out the acc function for SE mode. Gabe Black 2007-10-02 18:25:10 -07:00
  • 1c83418b14 SPARC,Remote GDB: Fix an accounting bug in the remote gdb stuff. Gabe Black 2007-10-02 18:24:24 -07:00
  • 5db7125317 Remote GDB: Get rid of an unwanted delete in SE. Gabe Black 2007-10-02 18:23:11 -07:00
  • 3eeda8008d CPU: Make sure the system parameter gets set in the cpu builders. Other parameters need to be fixed as well. Gabe Black 2007-10-02 18:22:36 -07:00
  • 0acf891c32 CPU: fix sparc_fs booting with SimpleTimingCPU. Ali Saidi 2007-10-01 02:55:27 -04:00
  • 272d867402 Update statistics for the last three revisions Ali Saidi 2007-09-28 13:22:34 -04:00
  • d2a4f595d6 Update stats for quiesced cycles Ali Saidi 2007-09-28 13:22:14 -04:00
  • d325f49b70 Rename cycles() function to ticks() Ali Saidi 2007-09-28 13:21:52 -04:00
  • 887cd6a273 Update statistics to use cycles properly instead of ticks Ali Saidi 2007-09-28 13:21:30 -04:00
  • 58c448ced5 Condition Codes: Fix the findParity function. Gabe Black 2007-09-25 20:26:10 -07:00
  • 2dd65dc254 Merge with head. Gabe Black 2007-09-25 20:11:41 -07:00
  • 25a9b6ea5e SPARC: Remove parameter that was only ever set to one value. Gabe Black 2007-09-25 20:11:03 -07:00
  • e735001d54 SPARC: Remove some redundant code from some of the fp instructions. Gabe Black 2007-09-25 20:10:04 -07:00
  • 306b5c6b5b SPARC: Clean up of privileged instructions. Gabe Black 2007-09-25 20:09:25 -07:00
  • b896ad584b SPARC: Long overdue cleanup of the condition code handlers. Gabe Black 2007-09-25 20:08:34 -07:00
  • 25b4874664 Condition Codes: Fix type error. Gabe Black 2007-09-25 20:07:06 -07:00
  • 8d53fea210 SPARC: Clean up the branch instructions a bit. Gabe Black 2007-09-25 20:05:11 -07:00
  • 9ef0f6a7f1 Loader: Load all segments of an elf, rather than just the "text" and "data". Gabe Black 2007-09-25 20:03:51 -07:00
  • 85d46ce470 Loader: Only complain about TLS sections if you're using Alpha. Gabe Black 2007-09-25 20:02:30 -07:00
  • 032a30f345 SPARC: Fix a stupid mistake which was breaking the SPARC regressions. Gabe Black 2007-09-25 20:00:46 -07:00
  • b3c6f32543 X86: Fix for uninitialized variables in stacktrace code. Gabe Black 2007-09-25 14:44:12 -07:00
  • 418ddf43e6 X86: Get X86_FS to compile. Gabe Black 2007-09-24 17:39:56 -07:00
  • dd277e0d8f SPARC: Fix linking error from new flattenFloatIndex function. Gabe Black 2007-09-19 19:08:42 -07:00
  • 3cd95a2748 X86: Implement the fld, fst, and fstp instructions. Gabe Black 2007-09-19 18:28:34 -07:00
  • a75b6f5106 X86: Move the fp microops to their own file with their own base classes in C++ and python. Gabe Black 2007-09-19 18:27:55 -07:00
  • f3f3747431 X86: Put in the foundation for x87 stack based fp registers. Gabe Black 2007-09-19 18:26:42 -07:00
  • a54ae9f92b X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode. Gabe Black 2007-09-19 18:25:17 -07:00
  • a1912df360 X86: Enable the rename system call. Gabe Black 2007-09-19 18:24:11 -07:00
  • bdc0261eb5 X86: Enable the unlink system call. Gabe Black 2007-09-19 18:23:35 -07:00
  • 76c4c5fabc mem: clean up bus/cache DPRINTFs a bit Not so much noise on failed sends, and more complete info when grepping a trace using an address. Steve Reinhardt 2007-09-16 16:46:38 -07:00
  • 4a4aa59632 Merge with head. Gabe Black 2007-09-13 16:36:25 -07:00
  • bbc8a40857 X86: Fix how ECF is computed in genFlags, and get rid of some duplicate code. Gabe Black 2007-09-13 16:35:41 -07:00
  • 534c6a800a X86: Make the shift and rotate instructions set the carry flag(s) and overflow flags like they're supposed to. Gabe Black 2007-09-13 16:35:20 -07:00
  • f7b6230d99 X86: Total overhaul of the division instructions and microops. Gabe Black 2007-09-13 16:34:46 -07:00
  • e282d9601c Syscall Emulation: Add stat64 syscall. Ali Saidi 2007-09-13 12:30:12 -04:00
  • 136cb057d4 Checkpointing: Fix directory regex Ali Saidi 2007-09-12 15:27:15 -04:00
  • 6f9ad931cc Checkpointing: Force drain/resume when switching a CPU Ali Saidi 2007-09-12 15:24:24 -04:00
  • 5f187e592e Devices: More fixes to Intel NIC Model. Ali Saidi 2007-09-12 15:24:23 -04:00
  • 19fbdcd30b Loader: Error if a TLS section is found in the binary. Ali Saidi 2007-09-11 00:01:24 -04:00
  • 0f57b407a3 X86: Make the isa parser run if any of the microcode files change. Gabe Black 2007-09-10 16:49:07 -07:00
  • 87408d5ad2 Fix for leaving EXTRAS blank Apparently env['EXTRAS'] will return an empty string if not set. split will then split it into an empty string, and normalize will turn "" into ".". Gabe Black 2007-09-10 16:42:41 -07:00
  • 8f724a8b96 Normalize the path pathed in through EXTRAS so it won't break with a trailing slash. Gabe Black 2007-09-10 12:48:06 -07:00
  • 22a57562cd Remove redundant endian.hh and use byteswap.hh in its place. Gabe Black 2007-09-10 11:02:50 -07:00
  • 8e7bca8b36 X86: Move a comment to be next to the code it describes. Gabe Black 2007-09-10 11:01:52 -07:00
  • 3e65e1d0e0 Merge with head. Gabe Black 2007-09-06 16:32:03 -07:00
  • e4c0171356 X86: Rework the multiplication microops so that they work like they would in the patent. Gabe Black 2007-09-06 16:27:28 -07:00
  • 7f079149f1 X86: Make signed multiplication do something different from unsigned. Gabe Black 2007-09-06 16:25:29 -07:00
  • 5052e2cb10 X86: Make signed versions of partial register values available to microops. Gabe Black 2007-09-06 16:22:08 -07:00
  • 832ef7412b X86: Correct how the hi portion of a product is computed. Gabe Black 2007-09-06 16:20:12 -07:00
  • 389abade01 X86: Add a square root microop and the SSE sqrt instruction. Gabe Black 2007-09-06 16:18:34 -07:00
  • 4478487c37 X86: Add SSE comparison instructions and microops and move some FP microops to be with the other ones. Gabe Black 2007-09-06 16:09:28 -07:00
  • bf7c01d43d Bus: Fix drain code; old method could return 1 in atomic mode and never call de->process(). Ali Saidi 2007-09-05 17:12:41 -04:00
  • dd6a21190e Configuration: Fix example script to only create one L2 if --l2cache and -nX are given as parameters. Ali Saidi 2007-09-05 14:57:50 -04:00
  • 57da059415 Merge with head. Gabe Black 2007-09-04 23:46:08 -07:00
  • fea46ee6e3 X86: Implement an SSE xor microop and instruction. Gabe Black 2007-09-04 23:44:37 -07:00
  • 6c689a3b4b X86: Make the movfp microop use FloatRegBits instead of FloatRegs. This fixes a problem where interpreting arbitrary bits as floating point would change what the value was. These values are legitimate because the fp registers could be used to move around arbitrary data. Gabe Black 2007-09-04 23:42:55 -07:00
  • 26ba7cc3b2 X86: Add tracing to the floating point register file. Gabe Black 2007-09-04 23:40:47 -07:00
  • 26044dca33 X86/StateTrace: Make m5 and statetrace track mmx and xmm registers, and actually compare xmm. Gabe Black 2007-09-04 23:39:57 -07:00
  • 760240176a X86: Hook in the fp arithmetic instructions. Stale python made it work before. Gabe Black 2007-09-04 23:38:34 -07:00
  • d2fc4ee625 X86: Implement some SSE fp microops and instructions. Gabe Black 2007-09-04 23:33:50 -07:00
  • 8e3b199cb8 X86: Add some SSE floating point/integer conversion microops. Gabe Black 2007-09-04 23:32:18 -07:00
  • af4c04c426 X86: Add floating point micro registers. Gabe Black 2007-09-04 23:31:40 -07:00
  • 310912cf2c X86: Fix a typo in the microassembly for the cqo instruction. Gabe Black 2007-09-04 23:23:51 -07:00
  • aaee21afdb X86: Implement idiv and propogate the mul corner case fix. Gabe Black 2007-09-04 23:23:13 -07:00