History log of /gem5/src/arch/x86/isa/formats/formats.isa
Revision Date Author Comments
# 12169:6d567ca2553b 24-Aug-2017 Gabe Black <gabeblack@google.com>

x86: Add a "CondInst" format for conditionally decoded instructions.

A condition can be specified which will tell the decoder whether to return
the instruction being requested, or, if the condition fails, UD2.

Change-Id: I0f1c075deb10754ce1dd88be1726a196294e41fd
Reviewed-on: https://gem5-review.googlesource.com/4580
Reviewed-by: Michael LeBeane <Michael.Lebeane@amd.com>
Maintainer: Gabe Black <gabeblack@google.com>


# 10529:05b5a6cf3521 06-Nov-2014 Marc Orr <morr@cs.wisc.edu>

x86 isa: This patch attempts an implementation at mwait.

Mwait works as follows:
1. A cpu monitors an address of interest (monitor instruction)
2. A cpu calls mwait - this loads the cache line into that cpu's cache.
3. The cpu goes to sleep.
4. When another processor requests write permission for the line, it is
evicted from the sleeping cpu's cache. This eviction is forwarded to the
sleeping cpu, which then wakes up.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>


# 7715:5581d0cd2bdb 22-Oct-2010 Gabe Black <gblack@eecs.umich.edu>

X86: Make nop a regular, non-microcoded instruction.

Code in the CPUs that need a nop to carry a fault can't easily deal with a
microcoded nop. This instruction format provides for one that isn't.


# 7087:fb8d5786ff30 24-May-2010 Nathan Binkert <nate@binkert.org>

copyright: Change HP copyright on x86 code to be more friendly


# 5659:f4b9c344d1ca 12-Oct-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Implement CPUID with a magical function instead of microcode.


# 4952:2d7c40dd10bd 07-Aug-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Add a format to handle string instructions which can use the repe and repne prefixes.


# 4712:79b4c64296ce 19-Jul-2007 Gabe Black <gblack@eecs.umich.edu>

x86 fixes
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.


# 4343:3f11bcf873b3 06-Apr-2007 Gabe Black <gblack@eecs.umich.edu>

Refactored the x86 isa description some more. There should be more seperation between x86 specific parts, and those parts which are implemented in the isa description but could eventually be moved elsewhere.


# 4323:13ca4002d2ac 03-Apr-2007 Gabe Black <gblack@eecs.umich.edu>

A batch of changes and fixes. Macroops are now generated automatically, multiops do alot more of what they're supposed to (excluding memory operands), and microops are slightly more implemented.


# 4278:4233cadbe3c3 21-Mar-2007 Gabe Black <gblack@eecs.umich.edu>

Start implementing groups of instructions which do the same thing on different sets of inputs.


# 4276:f0030662ee2a 21-Mar-2007 Gabe Black <gblack@eecs.umich.edu>

Break out the one and two byte opcodes into different files. Also change what bits decode is done on to reflect where clumps of instructions are.


# 4158:a3fb9e29c6ce 05-Mar-2007 Gabe Black <gblack@eecs.umich.edu>

Stub decoder. This is probably even farther from finished than it looks...