summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa
AgeCommit message (Collapse)Author
2007-10-30X86: Compile fixes for 32 bit/debug/opt.Gabe Black
--HG-- extra : convert_revision : 591fffb316830fca5792666c8df12abd4e7c551b
2007-10-22X86: Use the cda microop where appropriate. The ENTER instruction still ↵Gabe Black
needs these. --HG-- extra : convert_revision : c5a1a6d66c454f252d3b798c38a6798e7dd486f0
2007-10-22X86: Implement the cda microop which checks if an address is legal to write to.Gabe Black
--HG-- extra : convert_revision : afe20649180dd59ad0702b98f7293be6c9226359
2007-10-21X86: Start using the stupd microop, and update statistics accordingly.Gabe Black
--HG-- extra : convert_revision : 4aa9daa4e19acfb3e6840ce5d83cf199e30c2f19
2007-10-21X86: Implement the stupd microop ("store with update", not "stupid") and use ↵Gabe Black
it in ENTER. --HG-- extra : convert_revision : 9151f701162d31ef26298497467c42b7b0ed85d5
2007-10-19X86: Implement the PUSHF, POPF, SAHF, and LAHF instructions.Gabe Black
--HG-- extra : convert_revision : 37c63b1133022fa3432888592f8c84785fb95091
2007-10-19X86: Impelement the HLT instruction and fix the "halt" microop.Gabe Black
--HG-- extra : convert_revision : 932e5bb5bf3644f8468dba92177fb87cc54b891a
2007-10-19X86: Implement a "halt" microop.Gabe Black
--HG-- extra : convert_revision : 53a846a157e4dce42343b81901df1207738f62cd
2007-10-19X86: Implement the ENTER instruction. This could probably be optimized by ↵Gabe Black
cleaning up the indexing in the main loop. --HG-- extra : convert_revision : ad2d560f2a6f36176b22b8510c58cd6fe5a2c9c2
2007-10-18X86: Replace "group10" placeholder with the corresponding instructions in ↵Gabe Black
the decoder. --HG-- extra : convert_revision : ffa8f7c4f8d1e381eefd29247ebd705863d385ad
2007-10-18X86: Implement the string IO instructions, ins and outs.Gabe Black
--HG-- extra : convert_revision : b021e70390d289b22a8e693cd8a99d6e7bd7d2b4
2007-10-18X86: Implement the undocumented SALC instruction which sets AL to 0xFF if ↵Gabe Black
CF=1 and 0x00 otherwise. --HG-- extra : convert_revision : 845d43c544e296d7595f54054906055a9f21ad9f
2007-10-18X86: Implement the XLAT instruction.Gabe Black
--HG-- extra : convert_revision : 22d7d9e79e722293b4dc1e66d8610301dc04c5fa
2007-10-18X86: Implement the BOUND instruction.Gabe Black
--HG-- extra : convert_revision : 7bcfa5b4a47d342bee267cc593a1bd4b4f31abe0
2007-10-18X86: Make the "fault" microop predicated.Gabe Black
--HG-- extra : convert_revision : 48dae1f3c680636833c137fe6b95b37ae84e188c
2007-10-18X86: Make "Inst" the default format instead of WarnUnimpl for one byte opcodes.Gabe Black
--HG-- extra : convert_revision : 591e67fc21f5b72977c5876e39f488494fda77c2
2007-10-18X86: Implement the in/out instructions. These will still need support from ↵Gabe Black
the TLB and memory system. --HG-- extra : convert_revision : a9503248ea9efca7e5247e4f2830967f428b8215
2007-10-18X86: Implement the LOOP instructions.Gabe Black
--HG-- extra : convert_revision : 3ccd0565c83b6d9c9b63f9f7ac2b67839a2c714f
2007-10-18X86: Attach the CMC instruction to the decoder.Gabe Black
--HG-- extra : convert_revision : 909661062017c7640c343e80431eaf365e8fcf53
2007-10-18X86: Implemented the jrcx instruction.Gabe Black
--HG-- extra : convert_revision : d738015ff33449e55d8f1624c8467c1bba193e16
2007-10-18X86: Make wrip sign extend its second operand.Gabe Black
--HG-- extra : convert_revision : 2531af8b442ea5aaefccd7a7999c7720489edc36
2007-10-12X86: Added some new versions of MOV and a new argument type tag.Gabe Black
--HG-- extra : convert_revision : e21b2062d68baa983c7c631b3e1fe3149de56427
2007-10-12X86: Implemented LODS.Gabe Black
--HG-- extra : convert_revision : 4bd8f15bbc25f5dce16ea0504ad6dd21805fa56a
2007-10-12X86: Implement MSR reads and writes and the wrsmr and rdmsr instructions.Gabe Black
There are no priviledge checks, so these instructions will all work in all modes. --HG-- extra : convert_revision : ff893eb569313d8aecbfffb47bcbd1c2d65cd393
2007-10-09X86: Get rid of BasicOperate format which wasn't used and referred to ↵Gabe Black
SparcStaticInst --HG-- extra : convert_revision : 5d2eac9a4b3f0fe5e3c3554d91acf8fee368c9dc
2007-10-07X86: Significantly filled out misc regs.Gabe Black
--HG-- extra : convert_revision : 4c53be6568134d65e57f5411df986fd9a89e82c9
2007-10-02X86: Distinguish between the rep and repe prefixes.Gabe Black
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. --HG-- extra : convert_revision : 544149f640302070810fb53e53bfeb0e87160ffc
2007-10-02X86: Fix places where movfp was used incorrectly.Gabe Black
--HG-- extra : convert_revision : a6b5688eaa53d2f6675df1be193726641e558d37
2007-10-02X86: Fix the movfp microop.Gabe Black
--HG-- extra : convert_revision : 23829782a2802a97a05e4dfdb5dd38fbe4165a90
2007-10-02X86: Fix x87 floating point stack register indexing.Gabe Black
--HG-- extra : convert_revision : b515ec20cbfc50b38aa7da6cf4d465acf9054c08
2007-10-02X86: Put ldst into the microcode (the earlier changeset didn't really).Gabe Black
Also clean things up as much as possible so that faulting won't break an instruction. More microops which verify addresses are needed. --HG-- extra : convert_revision : 7c6050cb4798d287fe7d3cc4bb8c20dfa40ad2be
2007-10-02X86: Implement the ldst microop and put it in existing microcode where ↵Gabe Black
appropriate. --HG-- extra : convert_revision : f08bd725d07a501bb7a0ce91590b5d37db99c6f3
2007-10-02X86: Fix up the microcode for the FST and FSTP instructions.Gabe Black
--HG-- extra : convert_revision : ad68633e9b7eab425593acb20cf242bf98c2b642
2007-10-02X86: Get rid of a hack for ruflag which is no longer necessary.Gabe Black
--HG-- extra : convert_revision : 1bb60c9ddb483aead2af0201bbda938cc6d3f7cb
2007-10-02X86: Allow logic instructions to set ECF as well as CF.Gabe Black
--HG-- extra : convert_revision : 6ac20f069c86c23a8d443a7127afd6015166c00d
2007-10-02X86: Add classes for the actual x86 faults.Gabe Black
--HG-- extra : convert_revision : bc060a01b5415551b335ca68ccbf126333ae20b0
2007-10-02X86: Hook in another version of the XCHG instruction.Gabe Black
--HG-- extra : convert_revision : 7b6f9cd2f59443622f6963dfee454175322c0ef5
2007-10-02X86: Implement MOVSGabe Black
--HG-- extra : convert_revision : 29147e1b86f7c54ce9b5ff68001725802c665fc0
2007-10-02X86: Implement STOS.Gabe Black
--HG-- extra : convert_revision : 95f3bf185f07fe644d6ab96bbb6e598e406b92f4
2007-09-19X86: Implement the fld, fst, and fstp instructions.Gabe Black
--HG-- extra : convert_revision : 7dd274bdc3c34839c17d9012a745d7c95dfcfdd8
2007-09-19X86: Move the fp microops to their own file with their own base classes in ↵Gabe Black
C++ and python. --HG-- extra : convert_revision : 9cd223f2005adb36fea2bb56fa39793a58ec958c
2007-09-19X86: Put in the foundation for x87 stack based fp registers.Gabe Black
--HG-- extra : convert_revision : 940f92efd4a9dc59106e991cc6d9836861ab69de
2007-09-19X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.Gabe Black
--HG-- rename : src/arch/x86/isa/insts/sse/__init__.py => src/arch/x86/isa/insts/simd128/__init__.py extra : convert_revision : efb4405aebaa4a04f33572e7d078ceca45872d9c
2007-09-13X86: Fix how ECF is computed in genFlags, and get rid of some duplicate code.Gabe Black
--HG-- extra : convert_revision : f86330a5a9fea782ee63aaa18ca964fb6f9cef0b
2007-09-13X86: Make the shift and rotate instructions set the carry flag(s) and ↵Gabe Black
overflow flags like they're supposed to. --HG-- extra : convert_revision : c0523a5bbf53375ce979ca7d98a95e465be66fbe
2007-09-13X86: Total overhaul of the division instructions and microops.Gabe Black
--HG-- extra : convert_revision : 303ea45f69f7805361ad877fe6bb43fbc3dfd7a6
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