qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 043b93: target/m68k: fix V flag for CC_OP_SUB


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 043b93: target/m68k: fix V flag for CC_OP_SUBx
Date: Tue, 20 Jun 2017 03:54:47 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 043b936ef6fe53396b3c6b8f5562ea3e238a071d
      
https://github.com/qemu/qemu/commit/043b936ef6fe53396b3c6b8f5562ea3e238a071d
  Author: Laurent Vivier <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M target/m68k/translate.c

  Log Message:
  -----------
  target/m68k: fix V flag for CC_OP_SUBx

V flag for subtraction is:

   v = (res ^ src1) & (src1 ^ src2)

(see COMPUTE_CCR() in target/m68k/helper.c)

But gen_flush_flags() uses:

   v = (res ^ src2) & (src1 ^ src2)

The problem has been found with the following program:
   .global _start
_start:
  move.l  #-2147483648,%d0
  subq.l  #1,%d0
  jvc     1f
  move.l #1,%d1
  move.l #1,%d0
  trap #0
1:
  move.l #0,%d1
  move.l #1,%d0
  trap #0

It works fine (exit(1)) on real hardware, and with "-singlestep".

"-singlestep" uses gen_helper_flush_flags(), whereas
without "-singlestep", V flag is computed directly in
gen_flush_flags().

This patch updates gen_flush_flags() to have the same result
as with gen_helper_flush_flags().

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: e5b0cbe8e8744b57faf0c62d023525cd466f5ab8
      
https://github.com/qemu/qemu/commit/e5b0cbe8e8744b57faf0c62d023525cd466f5ab8
  Author: Laurent Vivier <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M fpu/softfloat-specialize.h

  Log Message:
  -----------
  softfloat: define 680x0 specific values

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: c88f8107b14456d514b00571b0675cb532e82cad
      
https://github.com/qemu/qemu/commit/c88f8107b14456d514b00571b0675cb532e82cad
  Author: Laurent Vivier <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M target/m68k/Makefile.objs
    A target/m68k/fpu_helper.c
    M target/m68k/helper.c

  Log Message:
  -----------
  target-m68k: move FPU helpers to fpu_helper.c

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 69e698220f68a17ce9584b068f68ed09e527a6ad
      
https://github.com/qemu/qemu/commit/69e698220f68a17ce9584b068f68ed09e527a6ad
  Author: Laurent Vivier <address@hidden>
  Date:   2017-06-15 (Thu, 15 Jun 2017)

  Changed paths:
    M target/m68k/translate.c

  Log Message:
  -----------
  target-m68k: define ext_opsize

Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>


  Commit: 5135a1056d913186cc44ce78f2f6994ff23838f7
      
https://github.com/qemu/qemu/commit/5135a1056d913186cc44ce78f2f6994ff23838f7
  Author: Peter Maydell <address@hidden>
  Date:   2017-06-20 (Tue, 20 Jun 2017)

  Changed paths:
    M fpu/softfloat-specialize.h
    M target/m68k/Makefile.objs
    A target/m68k/fpu_helper.c
    M target/m68k/helper.c
    M target/m68k/translate.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/vivier/tags/m68k-for-2.10-pull-request' 
into staging

# gpg: Signature made Thu 15 Jun 2017 09:16:31 BST
# gpg:                using RSA key 0xF30C38BD3F2FBE3C
# gpg: Good signature from "Laurent Vivier <address@hidden>"
# gpg:                 aka "Laurent Vivier <address@hidden>"
# gpg:                 aka "Laurent Vivier (Red Hat) <address@hidden>"
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier/tags/m68k-for-2.10-pull-request:
  target-m68k: define ext_opsize
  target-m68k: move FPU helpers to fpu_helper.c
  softfloat: define 680x0 specific values
  target/m68k: fix V flag for CC_OP_SUBx

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/5837aaac25e0...5135a1056d91

reply via email to

[Prev in Thread] Current Thread [Next in Thread]