summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microasm.isa
AgeCommit message (Collapse)Author
2017-12-14x86: Use operand size 4 when it would be 2 for cmpxchg8b.Gabe Black
This means the instruction is treated as cmpxchg8b when the effective operand size is 16 bits. Change-Id: I4d9bb295f96097e1746a9bbccb2c579d14738fab Reviewed-on: https://gem5-review.googlesource.com/6603 Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Gabe Black <gabeblack@google.com>
2013-01-15x86: implements emms instructionNilay Vaish
2012-12-30x86: implement x87 fp instruction fnstswNilay Vaish
This patch implements the fnstsw instruction. The code was originally written by Vince Weaver. Gabe had made some comments about the code, but those were never addressed. This patch addresses those comments.
2010-05-23copyright: Change HP copyright on x86 code to be more friendlyNathan Binkert
2009-12-19X86: Add a common named flag for signed media operations.Gabe Black
2009-12-19X86: Create a common flag with a name to indicate high multiplies.Gabe Black
2009-12-19X86: Create a common flag with a name to indicate scalar media instructions.Gabe Black
2009-08-20X86: Add microassembler symbols for floating point stack register operands.Gabe Black
2009-08-17X86: Add microcode assembler symbols for mmx registers.Gabe Black
2009-08-05X86: Let microops force folding an index into the high byte of a register.Gabe Black
2009-07-16X86: Take limitted advantage of the compilers type checking for microop ↵Gabe Black
operands.
2009-02-25X86: Add segmentation checks for ldt related descriptors and selectors.Gabe Black
2009-02-25X86: Rename oszForPseudoDesc maxOsz to reflect its more general use.Gabe Black
2009-02-25X86: Make the microcode assembler recognize r8-r15.Gabe Black
2009-02-25X86: Add a check to chks to verify a task state segment descriptor.Gabe Black
2009-02-25X86: Add a check to chks which raises #GP(selector) if selector is NULL or ↵Gabe Black
not in the GDT.
2009-02-01X86: Distinguish between hardware and software interrupts/exceptionsGabe Black
2009-02-01X86: Fix the upper bound on some ranges that were setting up the micro code ↵Gabe Black
assembler.
2008-10-12X86: Add wrval/rdval microops for reading significant miscregs.Gabe Black
2008-10-12X86: Implement local labels for the ROM that actually refer into the ROM.Gabe Black
2008-10-12X86: Add a check type for interrupt gates.Gabe Black
2008-10-12X86: Let the microassembler know about the microcode only H segment.Gabe Black
2008-10-12X86: Create a handy way to access labels from the ROM in microcode.Gabe Black
2008-10-12X86: Make X86's microcode ROM actually do something.Gabe Black
2008-06-12X86: Change what the microop chks does.Gabe Black
Instead of computing the segment descriptor address, this now checks if a selector value/descriptor are legal for a particular purpose.
2008-06-12X86: Add microops and supporting code to manipulate the whole rflags register.Gabe Black
2008-01-12X86: Redo the bit test instructions.Gabe Black
--HG-- extra : convert_revision : 433c2a9f3675ed02f3be5ce759a440f2686d2ccd
2007-12-01X86: Reorganize segmentation and implement segment selector movs.Gabe Black
--HG-- extra : convert_revision : 553c3ffeda1f5312cf02493f602e7d4ba2fe66e8
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: Various fixes to indexing segmentation related registersGabe Black
--HG-- extra : convert_revision : 3d45da3a3fb38327582cfdfb72cfc4ce1b1d31af
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-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: Fix x87 floating point stack register indexing.Gabe Black
--HG-- extra : convert_revision : b515ec20cbfc50b38aa7da6cf4d465acf9054c08
2007-09-19X86: Put in the foundation for x87 stack based fp registers.Gabe Black
--HG-- extra : convert_revision : 940f92efd4a9dc59106e991cc6d9836861ab69de
2007-09-04X86: Add floating point micro registers.Gabe Black
--HG-- extra : convert_revision : 442a5f8b9216638e4e6898f89eacb8695719e20f
2007-08-29X86: Implement the movlpd instruction.Gabe Black
--HG-- extra : convert_revision : dddb20fe48c0ae9de7cd0ba1a1467ecb690056c1
2007-08-26X86: Make cpuid actually consider the eax parameter and return different values.Gabe Black
--HG-- extra : convert_revision : 527c1cacdd20ab162859bba7f9a6bed33afa2d4f
2007-08-07X86: Implemented and hooked in SCAS (scan string)Gabe Black
Fixed the asz assembler symbol. Adjusted the condion checks to have appropriate options. Implemented the SCAS microcode. Attached SCAS into the decoder. --HG-- extra : convert_revision : 17bf9ddae6bc2069e43b076f8f83c4e54fb7966c
2007-08-04X86: Start implementing segmentation support.Gabe Black
Make instructions observe segment prefixes, default segment rules, segment base addresses. Also fix some microcode and add sib and riprel "keywords" to the x86 specialization of the microassembler. --HG-- extra : convert_revision : be5a3b33d33f243ed6e1ad63faea8495e46d0ac9
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-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
2007-06-21Define symbols for the x86 specialization of the microassembler.Gabe Black
--HG-- extra : convert_revision : 1fd66ba519d211fec18641b6df94b7640c56080c
2007-06-20Comment out some unnecessary debug output.Gabe Black
--HG-- extra : convert_revision : 9df17841d970a7995d8ed1d51ee66e2c5457e5e3
2007-06-08Adjust a few more comments.Gabe Black
--HG-- extra : convert_revision : 9b79ce72acf8932ce26e1744a149f2fd2435ea96
2007-06-08Clean up where files are included, and get rid of some cruft.Gabe Black
src/arch/x86/isa/main.isa: Clean up where files are included. --HG-- extra : convert_revision : 0528359432bf0fb9198b63de9611176bc78e07c7
2007-06-08Big changes to use the new microcode assembler.Gabe Black
--HG-- extra : convert_revision : 7d1a43c5791a2e7e30533746da3dd7036a5b8799
2007-06-04Reworking x86's microcode system. This is a work in progress, and X86 ↵Gabe Black
doesn't compile. src/arch/x86/isa/decoder/one_byte_opcodes.isa: src/arch/x86/isa/macroop.isa: src/arch/x86/isa/main.isa: src/arch/x86/isa/microasm.isa: src/arch/x86/isa/microops/base.isa: src/arch/x86/isa/microops/microops.isa: src/arch/x86/isa/operands.isa: src/arch/x86/isa/microops/regop.isa: src/arch/x86/isa/microops/specop.isa: Reworking x86's microcode system --HG-- extra : convert_revision : cab66be59ed758b192226af17eddd5a86aa190f3
2007-04-10Reworked x86 a bitGabe Black
--HG-- extra : convert_revision : def1a30e54b59c718c451a631a1be6f8e787e843