summaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2007-09-04X86: Add tracing to the floating point register file.Gabe Black
--HG-- extra : convert_revision : f452d9179b929b980cf9e2d1e3de0431c51c5f4a
2007-09-04X86: Hook in the fp arithmetic instructions. Stale python made it work before.Gabe Black
--HG-- extra : convert_revision : af27f26ae810ebaae13faa572c5b4eb074620d91
2007-09-04X86: Implement some SSE fp microops and instructions.Gabe Black
--HG-- extra : convert_revision : 7e0595ef542fbfb701bfac7e9ac4648349a92b26
2007-09-04X86: Add some SSE floating point/integer conversion microops.Gabe Black
--HG-- extra : convert_revision : 2a1aa16709db940f5f40bbd84ca082f26b03b9c5
2007-09-04X86: Add floating point micro registers.Gabe Black
--HG-- extra : convert_revision : 442a5f8b9216638e4e6898f89eacb8695719e20f
2007-09-04X86: Fix a typo in the microassembly for the cqo instruction.Gabe Black
--HG-- extra : convert_revision : ddf739e591e4414ade37b806a88f3c11292627e2
2007-09-04X86: Implement idiv and propogate the mul corner case fix.Gabe Black
--HG-- extra : convert_revision : 348aa081067728afa14dc5b609fc7e26dbc5fad5
2007-09-04X86: Fix a corner case where mul would overwrite an original register value ↵Gabe Black
it still needed. --HG-- extra : convert_revision : 86ee0e2bf716d52c34ee731727d6366935f103ed
2007-09-04X86: Add in a file with floating point indexing which -should- have been in ↵Gabe Black
an earlier changeset. --HG-- extra : convert_revision : bf05f81df5e5b1de1ecd8ab7a6ef751922418987
2007-08-31X86: Major rework of how regop microops are generated.Gabe Black
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. --HG-- extra : convert_revision : 712e3ec6de7a5a038da083f79635fd7a687d56e5
2007-08-31Microassembler: Pass the actual mnemonic used to the macroop add_micro functionGabe Black
--HG-- extra : convert_revision : acaee747ab30747d602c1f4ac5f0c2b2573a2a9b
2007-08-31X86: Get x86 to compile again after the simobject constructor change.Gabe Black
--HG-- extra : convert_revision : 17a3e16e849bee88892223f0c993b19c15daa554
2007-08-30params: Deprecate old-style constructors; update most SimObject constructors.Miles Kaufmann
SimObjects not yet updated: - Process and subclasses - BaseCPU and subclasses The SimObject(const std::string &name) constructor was removed. Subclasses that still rely on that behavior must call the parent initializer as : SimObject(makeParams(name)) --HG-- extra : convert_revision : d6faddde76e7c3361ebdbd0a7b372a40941c12ed
2007-08-29X86: Fix the sra microop to get the sign bit from the right operand.Gabe Black
--HG-- extra : convert_revision : 71e58dd6dd6918ee403f2e332c47e29acdace464
2007-08-29X86: Implement the movaps instruction.Gabe Black
--HG-- extra : convert_revision : 2aeb1c05205f8ea8f7484e8bacf3fbbc581defd2
2007-08-29X86: Implement the movsd instruction.Gabe Black
--HG-- extra : convert_revision : a5a73e0ddd39144d2aeeb9cc6a299516752fd4c2
2007-08-29X86: Implement the movlpd instruction.Gabe Black
--HG-- extra : convert_revision : dddb20fe48c0ae9de7cd0ba1a1467ecb690056c1
2007-08-29X86: Add an fp move microop.Gabe Black
--HG-- extra : convert_revision : a9d6d3568cd2c6a65df91bf56ee1e43523f04630
2007-08-29X86: Add load and store microops that use the fp registers.Gabe Black
--HG-- extra : convert_revision : 153a055e888d8c47d59758a599dbd38f63008137
2007-08-29X86: Add operands to handle floating point registers.Gabe Black
--HG-- extra : convert_revision : 2e8289dbd3f5dda1221014d4ed0e9450f60de0cf
2007-08-29X86: Flesh out register indexing constants.Gabe Black
--HG-- extra : convert_revision : 56eedc076bbb7962c3976599a15ed93c7cb154c0
2007-08-29X86: Make the fp accessors not panic.Gabe Black
--HG-- extra : convert_revision : c6d08863049a3f8755c53e1f49ce19ad6a2dedc7
2007-08-29X86: Make x86 syscall return just stuff the return value in eax.Gabe Black
--HG-- extra : convert_revision : 800d8a2398d5750c03c642264577c9c772684266
2007-08-28X86: More two byte opcode decoding. I missed two groups in the last changeset.Gabe Black
--HG-- extra : convert_revision : 1a2813b2e7d3e0e02c8f1474f372de5cf16e7d7b
2007-08-28X86: Hook in an implementation for lseek.Gabe Black
--HG-- extra : convert_revision : d2424e73fa8ce56248c4edbda9db2714c4b0a92e
2007-08-28X86: More fully decode two byte opcodes.Gabe Black
This includes the most of the SSE stuff, but not some of the "groups" of instructions. --HG-- extra : convert_revision : 4725c34f3d73971ae1763611685c5877b6c51412
2007-08-28Address translation: De-templatize the GenericTLB class.Gabe Black
--HG-- extra : convert_revision : b605a90a4a1071e39f49085a839fdcd175e09fdb
2007-08-27Alpha: Fixes to get alpha to compile again.Gabe Black
--HG-- extra : convert_revision : 9541cf6dae1fb1a1c6025898692b2e04fcf55c6d
2007-08-27MIPS: Fixes to get mips to compile.Gabe Black
--HG-- extra : convert_revision : 23561eda853a51046ae56c23a88466230c3e83f2
2007-08-27SPARC: Fixes to get SPARC to compile again.Gabe Black
--HG-- extra : convert_revision : dab20c49fec9c2d385ca59b9ab627c2d3dddfe76
2007-08-26X86: Make the Ruflag microop work correctly, and make the code a little clearer.Gabe Black
--HG-- extra : convert_revision : c551f51cdda46df99370363ed2d70916db8413eb
2007-08-26X86: Return values for some cpuid functions that match what my development ↵Gabe Black
machine returns. --HG-- extra : convert_revision : e6619da11f43bbe025ceabd06387dd24e1cd883b
2007-08-26X86: Make the microassembler accept lines which are just labels.Gabe Black
The labels on these lines will be associated with whatever the next microop is. --HG-- extra : convert_revision : 80c260e48ec1c16e6325061608e37c95a0610cfa
2007-08-26X86: Make cpuid actually consider the eax parameter and return different values.Gabe Black
--HG-- extra : convert_revision : 527c1cacdd20ab162859bba7f9a6bed33afa2d4f
2007-08-26X86: Fix the sign extension microop so it extends zeros correctly.Gabe Black
--HG-- extra : convert_revision : 9d7ca286ba7709175fa75226320601acce4ced98
2007-08-26X86: Implement cmps (string compare)Gabe Black
--HG-- extra : convert_revision : 0d6b783b2246b8ad8d91e4c63e407307ee11c651
2007-08-26X86: Make shift instructions set some of the flags they're supposed to.Gabe Black
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. --HG-- extra : convert_revision : 91981a00c1efd05db702fffa9cea51f912583013
2007-08-26Address translation: Make the page table more flexible.Gabe Black
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. --HG-- extra : convert_revision : 804dcc6320414c2b3ab76a74a15295bd24e1d13d
2007-08-26X86: Remove x86 code that attempted to fix misaligned accesses.Gabe Black
--HG-- extra : convert_revision : 42f68010e6498aceb7ed25da278093e99150e4df
2007-08-26Address Translation: Make SE mode use an actual TLB/MMU for translation like FS.Gabe Black
--HG-- extra : convert_revision : a04a30df0b6246e877a1cea35420dbac94b506b1
2007-08-26SPARC: Make sure unaligned access are caught on cached translations as well.Gabe Black
--HG-- extra : convert_revision : 5c1f3f585817a19a771164f809dfc2fdc1ab3fb2
2007-08-13SPARC: Make nops have the IsNop flag set.Gabe Black
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. --HG-- extra : convert_revision : 54d99002b550ca0e1cf14603f588dc1038e3e535
2007-08-13SPARC: Move tlb state into the tlb.Gabe Black
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. --HG-- extra : convert_revision : fa7fba812d7f76564ef4a23818e60f536710d557
2007-08-13SPARC: Make the spill and fill handlers use the correct ASI, and let ↵Gabe Black
No_Fault ASI accesses work. --HG-- extra : convert_revision : 3321bb91da02c1bec27fa34d0ba945cc976b6491
2007-08-08alpha: Quick fix for things related to TLB MRU cache.Vincentius Robby
simple-timing test for ALPHA_FS breaks. --HG-- extra : convert_revision : 5a1b05cddd480849913da81a3b3931fec16485a8
2007-08-08alpha: Make the TLB cache to actually work.Vincentius Robby
Improve MRU checking for StaticInst, Bus, TLB --HG-- extra : convert_revision : 9116b5655cd2986aeb4205438aad4a0f5a440006
2007-08-07Alpha: Fix an off by one error with the tlb caching mechanism.Gabe Black
--HG-- extra : convert_revision : e17f7a0d58a2e59b2e270f0827db33d0a29365e0
2007-08-07Merge with head.Gabe Black
--HG-- extra : convert_revision : ae7b3df573368c29a66d5b027ecad9ffb3a99104
2007-08-07X86: Added some missing parenthesis in the condition code calculation function.Gabe Black
--HG-- extra : convert_revision : 663021070a4bcc795bb44e1839b8bcec686a42f0
2007-08-07X86: Implemented and hooked in SCAS (scan string)Gabe Black
Fixed the asz assembler symbol. Adjusted the condion checks to have appropriate options. Implemented the SCAS microcode. Attached SCAS into the decoder. --HG-- extra : convert_revision : 17bf9ddae6bc2069e43b076f8f83c4e54fb7966c