svn commit: r237748 - in head/sys/cddl/dev/dtrace: amd64 i386

Andriy Gapon avg at FreeBSD.org
Fri Jun 29 07:35:38 UTC 2012


Author: avg
Date: Fri Jun 29 07:35:37 2012
New Revision: 237748
URL: http://svn.freebsd.org/changeset/base/237748

Log:
  dtrace instruction decoder: add 0x0f 0x1f NOP opcode support
  
  According to the AMD manual the whole range from 0x09 to 0x1f are NOPs.
  Intel manual mentions only 0x1f.  Use only Intel one for now, it seems
  to be the one actually generated by compilers.
  Use gdb mnemonic for the operation: "nopw".
  
  [1] AMD64 Architecture Programmer's Manual
      Volume 3: General-Purpose and System Instructions
  [2] Software Optimization Guide for AMD Family 10h Processors
  [3] Intel(R) 64 and IA-32 Architectures Software Developer’s Manual
      Volume 2 (2A, 2B & 2C): Instruction Set Reference, A-Z
  
  Tested by:	Fabian Keil <freebsd-listen at fabiankeil.de> (earlier version)
  MFC after:	3 days

Modified:
  head/sys/cddl/dev/dtrace/amd64/dis_tables.c
  head/sys/cddl/dev/dtrace/i386/dis_tables.c

Modified: head/sys/cddl/dev/dtrace/amd64/dis_tables.c
==============================================================================
--- head/sys/cddl/dev/dtrace/amd64/dis_tables.c	Fri Jun 29 06:41:19 2012	(r237747)
+++ head/sys/cddl/dev/dtrace/amd64/dis_tables.c	Fri Jun 29 07:35:37 2012	(r237748)
@@ -815,7 +815,7 @@ const instable_t dis_op0F[16][16] = {
 /*  [10]  */	TNSZ("movups",XMMO,16),	TNSZ("movups",XMMOS,16),TNSZ("movlps",XMMO,8),	TNSZ("movlps",XMMOS,8),
 /*  [14]  */	TNSZ("unpcklps",XMMO,16),TNSZ("unpckhps",XMMO,16),TNSZ("movhps",XMMOM,8),TNSZ("movhps",XMMOMS,8),
 /*  [18]  */	IND(dis_op0F18),	INVALID,		INVALID,		INVALID,
-/*  [1C]  */	INVALID,		INVALID,		INVALID,		INVALID,
+/*  [1C]  */	INVALID,		INVALID,		INVALID,		TNS("nopw", M),
 }, {
 /*  [20]  */	TSy("mov",SREG),	TSy("mov",SREG),	TSy("mov",SREG),	TSy("mov",SREG),
 /*  [24]  */	TSx("mov",SREG),	INVALID,		TSx("mov",SREG),	INVALID,

Modified: head/sys/cddl/dev/dtrace/i386/dis_tables.c
==============================================================================
--- head/sys/cddl/dev/dtrace/i386/dis_tables.c	Fri Jun 29 06:41:19 2012	(r237747)
+++ head/sys/cddl/dev/dtrace/i386/dis_tables.c	Fri Jun 29 07:35:37 2012	(r237748)
@@ -815,7 +815,7 @@ const instable_t dis_op0F[16][16] = {
 /*  [10]  */	TNSZ("movups",XMMO,16),	TNSZ("movups",XMMOS,16),TNSZ("movlps",XMMO,8),	TNSZ("movlps",XMMOS,8),
 /*  [14]  */	TNSZ("unpcklps",XMMO,16),TNSZ("unpckhps",XMMO,16),TNSZ("movhps",XMMOM,8),TNSZ("movhps",XMMOMS,8),
 /*  [18]  */	IND(dis_op0F18),	INVALID,		INVALID,		INVALID,
-/*  [1C]  */	INVALID,		INVALID,		INVALID,		INVALID,
+/*  [1C]  */	INVALID,		INVALID,		INVALID,		TNS("nopw", M),
 }, {
 /*  [20]  */	TSy("mov",SREG),	TSy("mov",SREG),	TSy("mov",SREG),	TSy("mov",SREG),
 /*  [24]  */	TSx("mov",SREG),	INVALID,		TSx("mov",SREG),	INVALID,


More information about the svn-src-all mailing list