summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/decoder
AgeCommit message (Collapse)Author
2009-02-25X86: Implement the sysret instruction in long mode.Gabe Black
2009-02-25X86: Implement the longmode versions of the syscall instruction.Gabe Black
2009-02-25X86: Implement the LTR instruction.Gabe Black
2009-01-25X86: Implement the xadd instruction.Gabe Black
2009-01-25X86: Implement the bswap instruction.Gabe Black
2009-01-06X86: Hook in the M5 pseudo insts.Gabe Black
2008-10-12X86: Implement the swapgs instruction.Gabe Black
2008-10-12X86: Implement CPUID with a magical function instead of microcode.Gabe Black
2008-06-12X86: Implement and hook up STI and CLI instructions.Gabe Black
2008-06-12X86: Implement a partial, sort of correct version of the protected mode ↵Gabe Black
variant of iret.
2008-06-12X86: Flesh out 3dnow instruction decoding a bit and grab the byte immediate.Gabe Black
2008-06-12X86: Add in some support for the tsc register.Gabe Black
2008-02-26X86: Implement the INVLPG instruction and the TIA microop.Gabe Black
--HG-- extra : convert_revision : 31db1ee082f6c3ca5443cba1eb335e408661ead2
2008-01-22X86: Implement and attach the BSR and BSF instructions.Gabe Black
--HG-- extra : convert_revision : be7e11980092e5d1baff0e05d4ec910305966908
2008-01-21X86: Fill out group17 in the decoder.Gabe Black
--HG-- extra : convert_revision : 66ab9c0fc3086f66e3d6d82d47964ecf406c3a8a
2007-12-01X86: Implement mov from control register.Gabe Black
--HG-- extra : convert_revision : c8280f0686a3ae6d5c405327540ad15a3a5531f9
2007-12-01X86: First crack at far returns. This is grossly approximate.Gabe Black
--HG-- extra : convert_revision : 23da0338af1f7663ae5ddf2289fb45dd32f37c42
2007-12-01X86: Reorganize segmentation and implement segment selector movs.Gabe Black
--HG-- extra : convert_revision : 553c3ffeda1f5312cf02493f602e7d4ba2fe66e8
2007-12-01X86: Implement the LIDT instruction.Gabe Black
--HG-- extra : convert_revision : 380515e985318311632e00b13000585afb052e3b
2007-12-01X86: Implement the lgdt instruction.Gabe Black
--HG-- extra : convert_revision : d1698a82df3c57cc9bbf8d5d190f271bfc7cb2e4
2007-11-12X86: Implement the wrcr microop which writes a control register, and some ↵Gabe Black
control register work. --HG-- extra : convert_revision : 3e9daef9cdd0665c033420e5b4f981649e9908ab
2007-11-12X86: Implement some bit testing instructions.Gabe Black
--HG-- extra : convert_revision : 54585e276e44322be9c56af0b2eabfe8d4b3e430
2007-11-12X86: Flesh out the opcode groups for two byte opcodes.Gabe Black
--HG-- extra : convert_revision : 4d51befd6dae4035c0eb685d33e1f5e38467c766
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 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 "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-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-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: 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-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: 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: Implement idiv and propogate the mul corner case fix.Gabe Black
--HG-- extra : convert_revision : 348aa081067728afa14dc5b609fc7e26dbc5fad5