summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts
AgeCommit message (Collapse)Author
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: Change how segment loading is performed.Gabe Black
2008-06-12X86: Make pushes and pops use the stack size instead of the data size.Gabe Black
2008-06-12X86: Add microops and supporting code to manipulate the whole rflags register.Gabe Black
2008-06-12X86: Redo BSF.Gabe Black
2008-06-12X86: Make string instructions work when rcx=0.Gabe Black
2008-06-12X86: Bypass unaligned access support for register addressed MSRs.Gabe Black
2008-06-12X86: Fix the implementation of BSF.Gabe Black
2008-06-12X86: Bit scan forward/reverse were accidentally transposed.Gabe Black
2008-06-12X86: Fix a byte register indexing issue in the sign extending move from ↵Gabe Black
memory microcode.
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-23X86: Optomize the bit scanning instruction microassembly a little. More can ↵Gabe Black
be done. --HG-- extra : convert_revision : 3cf6e972f0e41e3529a633ecbb31289e1bd17f0f
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
2008-01-12X86: Redo the bit test instructions.Gabe Black
--HG-- extra : convert_revision : 433c2a9f3675ed02f3be5ce759a440f2686d2ccd
2008-01-12X86: Fix the wrmsr instruction.Gabe Black
--HG-- extra : convert_revision : 12bc7e71226ebafb8eedadf6a3db82929e15e722
2008-01-12X86: Fix the general IO instructions dataSize.Gabe Black
--HG-- extra : convert_revision : 9774a52cb6a8e7632d1b1dc0706e5791cc18d238
2007-12-03X86: Please excuse my dear Aunt Sally. (precedence bug)Gabe Black
--HG-- extra : convert_revision : 9ad4f31e7a962c3177896bcbfb93e2e54720d117
2007-12-02X86: Make sure the memory index is calculated using the address size for bit ↵Gabe Black
test instructions. --HG-- extra : convert_revision : 9634675857dae53b5e79e49267c864a0265afde1
2007-12-02X86: Fix a copy/paste mistake where the bit test instructions were using an ↵Gabe Black
immediate where they should use a register. --HG-- extra : convert_revision : b0ee80e4c7fdb58a1eb85b3bcc82a0cdaa93330a
2007-12-02X86: Make the 0xA0-0xA3 versions of mov use the right sized immediates.Gabe Black
--HG-- extra : convert_revision : a702403de29772618abb5bd5c5555279d91bdd59
2007-12-01X86: Fix a copy paste error in the bts microcode.Gabe Black
--HG-- extra : convert_revision : c4ac007d35ac13211f9816f1104c84f2b447ddba
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: Fix a stupid typo where WRMSR and RDMSR were switched, and add a debug ↵Gabe Black
statement. --HG-- extra : convert_revision : f1eb17291f4c01f3c0fa8f99650bc1edf09d21de
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: Change the meaning of the sext and zext width operand, and make sext ↵Gabe Black
set zext if the sign bit is 0. --HG-- extra : convert_revision : 08bd7b4ff183038c016612d04ac73b20a255d141
2007-10-22X86: Use the cda microop where appropriate. The ENTER instruction still ↵Gabe Black
needs these. --HG-- extra : convert_revision : c5a1a6d66c454f252d3b798c38a6798e7dd486f0
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 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: 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: 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: 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