summaryrefslogtreecommitdiff
path: root/src/arch/x86
AgeCommit message (Collapse)Author
2007-07-21Implement rotate with carry microops.Gabe Black
--HG-- extra : convert_revision : 1d7ff6611e5b4766a5257c1e73681fabbe5f6d76
2007-07-20Fixed the distinction between far and near versions of jmp, call and ret. ↵Gabe Black
Implemented some shifts, rotates, and pushes. --HG-- extra : convert_revision : fcb06189ff213e82da16ac43231feb308cb3a285
2007-07-20Implement UD2 and replace the place holder in the decoder.Gabe Black
--HG-- extra : convert_revision : 16d0d2b2ddad8759698fa4aa668c22063307c72b
2007-07-20Make the "name" function const.Gabe Black
--HG-- extra : convert_revision : eb71bc3edd92a544a5333786635fce550aaef233
2007-07-20Implement adc and sbb instructions and microops.Gabe Black
--HG-- extra : convert_revision : a2d3068c5b487f4fa7bf5c9cebba7753bc390bfa
2007-07-20Implement the rest of the conditional jump instructions and hook them into ↵Gabe Black
the decoder. --HG-- extra : convert_revision : 8d1d6abce29371def560e1c3f31dabb4de01366f
2007-07-20Make the decoder take advantage of the new "B" operand format which takes a ↵Gabe Black
register index from the opcode itself. --HG-- extra : convert_revision : 35f9be6559ee9833049eda1817982efdde7082be
2007-07-20Define and fill out a lot of different instructions and instruction ↵Gabe Black
versions. Added two of the shift microops. --HG-- extra : convert_revision : 0b76953dbb1dc3366242d4d209cccebde86bbe4e
2007-07-20Hook in newly implemented instructions.Gabe Black
--HG-- extra : convert_revision : 53319d2363211af407dabaa2b63ad8a4df09c369
2007-07-20Comment, implement, fix, and trim the move microassembly.Gabe Black
--HG-- extra : convert_revision : aa5ee7270e740bfbe42e70c4dfccc4c91ecacb33
2007-07-20Implement jnbe.Gabe Black
--HG-- extra : convert_revision : cdbf1ff5ed3a63787cbd2187a8a3455a41cc5085
2007-07-20Appended _NEAR to the near version of call and return.Gabe Black
--HG-- extra : convert_revision : 70adb38d59ff7b5d103e58a9f0773dfb911fec6d
2007-07-20Make load and store ops use the appropriate sized data access.Gabe Black
--HG-- extra : convert_revision : 6b808586fab10ca433ef04b062bf701b906634b9
2007-07-20Implement the increment and decrement instructions, and the two operand form ↵Gabe Black
of signed multiplication. --HG-- extra : convert_revision : d87df4b1b5470bed1d963dfe8e2ffa1403718342
2007-07-20Fix code that computes displacement size.Gabe Black
--HG-- extra : convert_revision : a9be3eb2b90b88086936aeb4dcf87ec7b58a48cb
2007-07-20Add a bitfield to decode based on what prefixes are used.Gabe Black
--HG-- extra : convert_revision : 7ff4998b3249ccfe86ae9cbcc63fb910683707f5
2007-07-20Add a parameter type to read a register index from the opcode itself.Gabe Black
--HG-- extra : convert_revision : d2b5468ebf5df5a6ccadb57a30c52c8d16417b9a
2007-07-20Fix carry flag for subtracts, and clean up code slightly.Gabe Black
--HG-- extra : convert_revision : 668f5d5aeba888488b41284de6c72a0d055c4ef4
2007-07-20Fixed width parameter and provided a parameter to flip the carry bit on ↵Gabe Black
subtract. --HG-- extra : convert_revision : d01bb791b000a2fdfc8600f8fb2f8aadd52b0b63
2007-07-19x86 fixesGabe Black
Make the emulation environment consider the rex prefix. Implement and hook in forms of j, jmp, cmp, syscall, movzx Added a format for an instruction to carry a call to the SE mode syscalls system Made memory instructions which refer to the rip do so directly Made the operand size overridable in the microassembly Made the "ext" field of register operations 16 bits to hold a sparse encoding of flags to set or conditions to predicate on Added an explicit "rax" operand for the syscall format Implemented syscall returns. --HG-- extra : convert_revision : ae84bd8c6a1d400906e17e8b8c4185f2ebd4c5f2
2007-07-18Check for the two opcode prefix correctly and add in some instructions.Gabe Black
--HG-- extra : convert_revision : 751e54843f5c81b81529050a1ae9d46d07c36e97
2007-07-18Hook near returns into the decoder.Gabe Black
--HG-- extra : convert_revision : b38d4417552991e44f5d1de1f35d5d1ad8f32340
2007-07-18Implement near returns.Gabe Black
--HG-- extra : convert_revision : 3d6e8a976d31cb016a4b78200716b0ece155137a
2007-07-18Make instructions that conditionally set registers set them to their old ↵Gabe Black
value if they don't actually execute. --HG-- extra : convert_revision : 36e63dd0c6ac1a3e1133c7985cf5507b83e9ee45
2007-07-18Fix the overload which prints ExtMachInst in X86.Gabe Black
--HG-- extra : convert_revision : 2ef8ee71999f36b09270ba9526c2846beda65051
2007-07-18Make store microops actually store instead of load.Gabe Black
--HG-- extra : convert_revision : fe90f8adc96dd0e680cfa45e4c510a906046ae3d
2007-07-18Fix a comment to refer to the right type of instruction.Gabe Black
--HG-- extra : convert_revision : dd441d8fbaed1ed8b2b66e3ad0275009bd4dcef4
2007-07-18Fix the panic in the "error" format for x86,Gabe Black
--HG-- extra : convert_revision : bd0715b5b63665f9160082d67c5b5d90d2405c5c
2007-07-18Implement some forms of add.Gabe Black
--HG-- extra : convert_revision : adbff2e9b9952ec09853cc43d40243e7262410a7
2007-07-18Fix the operand types in a section of the decoder.Gabe Black
--HG-- extra : convert_revision : c37600fd65b44817eed2ba653f9d4f08a9869874
2007-07-18Make the data size used by regops overridable in the microassembly.Gabe Black
--HG-- extra : convert_revision : 84d850aa5340c9d02d03502704b063215f6e2140
2007-07-18Fill out the miscreg file and add types to miscregs.hhGabe Black
--HG-- extra : convert_revision : 865432256518c4340d9f319bdd9b7d160dc656a0
2007-07-18Hook x86 nop into the decoder.Gabe Black
--HG-- extra : convert_revision : 26f765ecf74a0bb6a1ec89816f1d630a1a8e4553
2007-07-18Implement the x86 nop to be a "fault" microop which returns "NoFault".Gabe Black
--HG-- extra : convert_revision : 1b446def756f1d0f80631db944d1cc41be95efbd
2007-07-18Add a generateDisassembly function to the MicroFault StaticInst.Gabe Black
--HG-- extra : convert_revision : 73811bf99b26fad413c9b84a54f44e3763ff1835
2007-07-17Calculate the correct address size.Gabe Black
--HG-- extra : convert_revision : 6bd9d5a01ba6600781e3678e0403dca524fb2cba
2007-07-17Make disassembled x86 register indices reflect their size.Gabe Black
This doesn't handle high byte register accesses. It also highlights the fact that address size isn't actually being calculated, and that the size a microop uses needs to be overridable from the microassembly. --HG-- extra : convert_revision : d495ac4f5756dc55a5f71953ff6963b3c030e6cb
2007-07-17Implemented jnz.Gabe Black
--HG-- extra : convert_revision : ea169ad68acbb3383443586b783b831b3a9eecf9
2007-07-17Use limm to set up immediate value for subtract instruction.Gabe Black
--HG-- extra : convert_revision : f94e391e36a47c2f5222f30d7e28f48f7875db58
2007-07-17Implement the jz instruction.Gabe Black
--HG-- extra : convert_revision : 7c0bd7ce244f724ac03bbb5fdf770c7a3eba78b4
2007-07-17Make "test" set some condition codes.Gabe Black
It still needs to zero the overflow and carry flags to be correct. --HG-- extra : convert_revision : 73cb3a55f7b4234389d9355f5ad45da6aaaa6c60
2007-07-17Add in support for condition code flags.Gabe Black
Some microops can set the condition codes, and some of them can be predicated on them. Some of the codes aren't implemented because it was unclear from the AMD patent what they actually did. They are used with string instructions, but they use variables IP, DTF, and SSTF which don't appear to be documented. --HG-- extra : convert_revision : 2236cccd07d0091762b50148975f301bb1d2da3f
2007-07-17Add in operand which holds the condition code bits of the flag register.Gabe Black
--HG-- extra : convert_revision : 416052f41fccc8286b3bdbe8d559512a761224f2
2007-07-17Add symbols for each of the flags a microop could set and each condition it ↵Gabe Black
could check. --HG-- extra : convert_revision : 1f542b8aadfd5146539cadef631b49d77f578472
2007-07-17Actually include miscregs.hhGabe Black
--HG-- extra : convert_revision : 6ebf906d2211b94f28c173f0d2da91bd446fcb2c
2007-07-17Create a file to describe misc registers.Gabe Black
Define bitfields, indices, etc. --HG-- extra : convert_revision : 8fffdc4cf796d304b12b317d8bddf5685bd50cf4
2007-07-17Add a spot for the condition code portion of the flag register.Gabe Black
This is stored in the integer register file so that it can be renamed, but it should be a misc reg. --HG-- extra : convert_revision : eee48f24dd80b145f14427482047c4d8af2521ab
2007-07-14Move bitunion code into it's own file.Gabe Black
--HG-- extra : convert_revision : 8d55ca9645ee4e357b7f4595435542eb72490331
2007-07-14Pull some hard coded base classes out of the isa description.Gabe Black
--HG-- rename : src/arch/x86/isa/base.isa => src/arch/x86/isa/outputblock.isa extra : convert_revision : 7954e7d5eea3b5966c9e273a08bcd169a39f380c
2007-06-21Make symbols for regular registers.Gabe Black
--HG-- extra : convert_revision : 28a6df1efe4298877dc2b20179caeb25dfdc4622