[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 043b93: target/m68k: fix V flag for CC_OP_SUBx,
GitHub <=