summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-07-02 13:43:10 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-07-02 13:43:10 +0100
commit2d58e33ec1b76990f09bc1e3412e0b36e1ac4634 (patch)
tree70bc5d872cbdffd8b6337d4e713922ff3d7fa1c4
parent646f34fa5482e495483de230b4cf0f2ae4fd2781 (diff)
parentd9345f1e1b1936b9ed7026b83091cf701f7ce07e (diff)
downloadfocaccia-qemu-2d58e33ec1b76990f09bc1e3412e0b36e1ac4634.tar.gz
focaccia-qemu-2d58e33ec1b76990f09bc1e3412e0b36e1ac4634.zip
Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-3.0-pull-request' into staging
Fix move16 instruction disassembly

# gpg: Signature made Mon 02 Jul 2018 11:25:51 BST
# gpg:                using RSA key F30C38BD3F2FBE3C
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>"
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>"
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>"
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier/tags/m68k-for-3.0-pull-request:
  target/m68k: correctly disassemble move16

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--disas/m68k.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/disas/m68k.c b/disas/m68k.c
index 61b689ef3e..a687df437c 100644
--- a/disas/m68k.c
+++ b/disas/m68k.c
@@ -2017,6 +2017,20 @@ print_insn_m68k (bfd_vma memaddr, disassemble_info *info)
 		}
 	    }
 
+          /* Don't match FPU insns with non-default coprocessor ID.  */
+          if (*d == '\0')
+            {
+              for (d = opc->args; *d; d += 2)
+                {
+                  if (d[0] == 'I')
+                    {
+                      val = fetch_arg (buffer, 'd', 3, info);
+                      if (val != 1)
+                        break;
+                    }
+                }
+            }
+
 	  if (*d == '\0')
 	    if ((val = match_insn_m68k (memaddr, info, opc, & priv)))
 	      return val;