Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/amd64/amd64 fix misinterpretation of REX prefixes w...



details:   https://anonhg.NetBSD.org/src/rev/01727669ef4c
branches:  trunk
changeset: 762280:01727669ef4c
user:      drochner <drochner%NetBSD.org@localhost>
date:      Fri Feb 18 18:00:52 2011 +0000

description:
fix misinterpretation of REX prefixes where use of the accumulator
as operand is hardwired into the instruction code,
mostly from Wolfgang Stukenbrock per PR port-amd64/44405

diffstat:

 sys/arch/amd64/amd64/db_disasm.c |  10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diffs (32 lines):

diff -r 02bcf13af136 -r 01727669ef4c sys/arch/amd64/amd64/db_disasm.c
--- a/sys/arch/amd64/amd64/db_disasm.c  Fri Feb 18 17:34:22 2011 +0000
+++ b/sys/arch/amd64/amd64/db_disasm.c  Fri Feb 18 18:00:52 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: db_disasm.c,v 1.13 2009/03/14 21:04:03 dsl Exp $       */
+/*     $NetBSD: db_disasm.c,v 1.14 2011/02/18 18:00:52 drochner Exp $  */
 
 /* 
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.13 2009/03/14 21:04:03 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.14 2011/02/18 18:00:52 drochner Exp $");
 
 #ifndef _KERNEL
 #include "stubs.h"
@@ -1393,11 +1393,9 @@
                    case Si:
                        db_printf("%s", db_seg_reg[f_reg(inst)]);
                        break;
-                   case A: {
-                       int ext = ((rex & REX_w) != 0);
-                       db_printf("%s", db_reg[ext][size][0]);  /* acc */
+                   case A:
+                       db_printf("%s", db_reg[0][size][0]);    /* acc */
                        break;
-                   }
                    case BX:
                        if (seg)
                                db_printf("%s:", seg);



Home | Main Index | Thread Index | Old Index