summaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2007-09-13Syscall Emulation: Add stat64 syscall.Ali Saidi
Patch submitted by: Jonas Diemer [diemer (a) ida.ing.tu-bs.de] --HG-- extra : convert_revision : 07638c05bb3f79aacce49457bbb8c17d0a3a7238
2007-09-10X86: Make the isa parser run if any of the microcode files change.Gabe Black
--HG-- extra : convert_revision : 7f6d07de7e0d728a9333fb46c953dbe6cb04e600
2007-09-10X86: Move a comment to be next to the code it describes.Gabe Black
--HG-- extra : convert_revision : c384391175babb7cfdd3885ae9d9f1a9405ea44f
2007-09-06X86: Rework the multiplication microops so that they work like they would in ↵Gabe Black
the patent. --HG-- extra : convert_revision : 6fcf5dee440288d8bf92f6c5c2f97ef019975536
2007-09-06X86: Make signed multiplication do something different from unsigned.Gabe Black
--HG-- extra : convert_revision : 333c4a3464d708d4d8cea88931259ab96c2f75ed
2007-09-06X86: Make signed versions of partial register values available to microops.Gabe Black
--HG-- extra : convert_revision : c820d1250f505911a341ced42d4f73796ea77f87
2007-09-06X86: Correct how the hi portion of a product is computed.Gabe Black
--HG-- extra : convert_revision : 1f503e1cae0374e62e6254e8073e903adc29d067
2007-09-06X86: Add a square root microop and the SSE sqrt instruction.Gabe Black
--HG-- extra : convert_revision : ddc6e7e95111189d43f75bf84cd3d82433d982b3
2007-09-06X86: Add SSE comparison instructions and microops and move some FP microops ↵Gabe Black
to be with the other ones. --HG-- extra : convert_revision : ee0b5acde08d12c51a5282efb58d1ac72e0779af
2007-09-04X86: Implement an SSE xor microop and instruction.Gabe Black
--HG-- extra : convert_revision : 949737d0f5d6fe4aa77cc4680d0c88caab3e8174
2007-09-04X86: Make the movfp microop use FloatRegBits instead of FloatRegs.Gabe Black
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. --HG-- extra : convert_revision : f1d7159ba137702b5722cc7c1b64ed7dd06c21de
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