qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] m68k: fix subx mem, mem instruction
@ 2018-04-18  6:41 Pavel Dovgalyuk
  2018-04-18 10:19 ` Laurent Vivier
  0 siblings, 1 reply; 2+ messages in thread
From: Pavel Dovgalyuk @ 2018-04-18  6:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: maria.klimushenkova, dovgaluk, laurent, pavel.dovgaluk

This patch fixes decrement of the pointers for subx mem, mem instructions.
Without the patch pointers are decremented by OS_* constant value instead of
retrieving the corresponding data size and using it as a decrement.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
---
 target/m68k/translate.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 6beaf9e..e407ba2 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -3166,11 +3166,11 @@ DISAS_INSN(subx_mem)
     opsize = insn_opsize(insn);
 
     addr_src = AREG(insn, 0);
-    tcg_gen_subi_i32(addr_src, addr_src, opsize);
+    tcg_gen_subi_i32(addr_src, addr_src, opsize_bytes(opsize));
     src = gen_load(s, opsize, addr_src, 1, IS_USER(s));
 
     addr_dest = AREG(insn, 9);
-    tcg_gen_subi_i32(addr_dest, addr_dest, opsize);
+    tcg_gen_subi_i32(addr_dest, addr_dest, opsize_bytes(opsize));
     dest = gen_load(s, opsize, addr_dest, 1, IS_USER(s));
 
     gen_subx(s, src, dest, opsize);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] m68k: fix subx mem, mem instruction
  2018-04-18  6:41 [Qemu-devel] [PATCH] m68k: fix subx mem, mem instruction Pavel Dovgalyuk
@ 2018-04-18 10:19 ` Laurent Vivier
  0 siblings, 0 replies; 2+ messages in thread
From: Laurent Vivier @ 2018-04-18 10:19 UTC (permalink / raw)
  To: Pavel Dovgalyuk, qemu-devel; +Cc: maria.klimushenkova, dovgaluk

Le 18/04/2018 à 08:41, Pavel Dovgalyuk a écrit :
> This patch fixes decrement of the pointers for subx mem, mem instructions.
> Without the patch pointers are decremented by OS_* constant value instead of
> retrieving the corresponding data size and using it as a decrement.
> 
> Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
> ---
>  target/m68k/translate.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
> index 6beaf9e..e407ba2 100644
> --- a/target/m68k/translate.c
> +++ b/target/m68k/translate.c
> @@ -3166,11 +3166,11 @@ DISAS_INSN(subx_mem)
>      opsize = insn_opsize(insn);
>  
>      addr_src = AREG(insn, 0);
> -    tcg_gen_subi_i32(addr_src, addr_src, opsize);
> +    tcg_gen_subi_i32(addr_src, addr_src, opsize_bytes(opsize));
>      src = gen_load(s, opsize, addr_src, 1, IS_USER(s));
>  
>      addr_dest = AREG(insn, 9);
> -    tcg_gen_subi_i32(addr_dest, addr_dest, opsize);
> +    tcg_gen_subi_i32(addr_dest, addr_dest, opsize_bytes(opsize));
>      dest = gen_load(s, opsize, addr_dest, 1, IS_USER(s));
>  
>      gen_subx(s, src, dest, opsize);
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-04-18 10:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-18  6:41 [Qemu-devel] [PATCH] m68k: fix subx mem, mem instruction Pavel Dovgalyuk
2018-04-18 10:19 ` Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).