All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011
@ 2011-06-02  6:51 Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 01/13] s390x: update zipl rom Alexander Graf
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

Hi,

This is my current patch queue for s390x related work. It contains:

  * compile fixes
  * add temp_frees where missing
  * fix LMH, CKSM instructions
  * update bootloader for increased bootup speed
  * implement LRVGR instruction

With these patches, networking finally works for emulated s390x guests.

Please pull.

Alex

The following changes since commit 578c7b2ca8ee9e97fa8693b1a83d517e8e3f962e:
  Juha Riihim?ki (1):
        audio: fix integer overflow expression

are available in the git repository at:

  git://repo.or.cz/qemu/agraf.git s390-next

Alexander Graf (4):
  s390x: update zipl rom
  s390x: free tmp explicitly in every opcode for disas_a5()
  s390x: fix cksm instruction
  s390x: implement lrvgr

Stefan Weil (9):
  target-s390x: Fix build for non-linux hosts
  target-s390x: Fix wrong argument in call of tcg_gen_shl_i64()
  target-s390x: Fix duplicate call of tcg_temp_new_i64
  target-s390x: Add missing tcg_temp_free_i64() in gen_jcc()
  target-s390x: Add missing tcg_temp_free_i64() in do_mh()
  target-s390x: Add missing tcg_temp_free_i64() in disas_b2()
  target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(),
    opc == 0x8e
  target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(),
    opc == 0x90
  target-s390x: Add missing tcg_temp_free_i32()

 pc-bios/s390-zipl.rom    |  Bin 3336 -> 3304 bytes
 target-s390x/helper.c    |    5 -----
 target-s390x/op_helper.c |   28 ++++++++--------------------
 target-s390x/translate.c |   31 +++++++++++++++++++++++++++----
 4 files changed, 35 insertions(+), 29 deletions(-)

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

* [Qemu-devel] [PATCH 01/13] s390x: update zipl rom
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 02/13] target-s390x: Fix build for non-linux hosts Alexander Graf
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

The zipl bootloader rom we have has seen some dramatic speedups upstream,
so let's update it to improve the experience when booting a guest image.

This binary is based on commit id 9a0842dd9823d529f721b418d554f17c72e009e3.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 pc-bios/s390-zipl.rom |  Bin 3336 -> 3304 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/pc-bios/s390-zipl.rom b/pc-bios/s390-zipl.rom
index f7af9b155dc27500d4619ea6c9eb530d27a79f5d..3115128efe465a024b2deb780573358ae1b829a4 100644
GIT binary patch
literal 3304
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

literal 3336
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

-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 02/13] target-s390x: Fix build for non-linux hosts
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 01/13] s390x: update zipl rom Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 03/13] target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() Alexander Graf
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

linux/kvm.h is not always available for compilation.

Neither linux/kvm.h nor kvm.h are needed, so remove both
which also fixes the build problem for non-linux hosts.

Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/helper.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index c79af46..745d8c5 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -28,11 +28,6 @@
 #include "qemu-common.h"
 #include "qemu-timer.h"
 
-#if !defined(CONFIG_USER_ONLY)
-#include <linux/kvm.h>
-#include "kvm.h"
-#endif
-
 //#define DEBUG_S390
 //#define DEBUG_S390_PTE
 //#define DEBUG_S390_STDOUT
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 03/13] target-s390x: Fix wrong argument in call of tcg_gen_shl_i64()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 01/13] s390x: update zipl rom Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 02/13] target-s390x: Fix build for non-linux hosts Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 04/13] target-s390x: Fix duplicate call of tcg_temp_new_i64 Alexander Graf
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

tcg_gen_shl_i64 needs a 3rd argument of type TCGv_i64.
Set tmp4 so it can be used here.

v2:
Don't call tcg_const_i64() inside of the loop
because it creates additional code.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 8e71df3..865a9df 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -2056,7 +2056,7 @@ do_mh:
            even for very long ones... */
         tmp = get_address(s, 0, b2, d2);
         tmp3 = tcg_const_i64(stm_len);
-        tmp4 = tcg_const_i64(32);
+        tmp4 = tcg_const_i64(op == 0x26 ? 32 : 4);
         for (i = r1;; i = (i + 1) % 16) {
             switch (op) {
             case 0x4:
@@ -2070,7 +2070,7 @@ do_mh:
 #else
                 tmp2 = tcg_temp_new_i64();
                 tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
-                tcg_gen_shl_i64(tmp2, tmp2, 4);
+                tcg_gen_shl_i64(tmp2, tmp2, tmp4);
                 tcg_gen_ext32u_i64(regs[i], regs[i]);
                 tcg_gen_or_i64(regs[i], regs[i], tmp2);
 #endif
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 04/13] target-s390x: Fix duplicate call of tcg_temp_new_i64
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (2 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 03/13] target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 05/13] target-s390x: Add missing tcg_temp_free_i64() in gen_jcc() Alexander Graf
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

tmp2 = tcg_temp_new_i64() is already executed unconditionally,
so there is no need to call it a second time for 64 bit hosts.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 865a9df..141a72f 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -2068,7 +2068,6 @@ do_mh:
                 tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
                 tcg_gen_trunc_i64_i32(TCGV_HIGH(regs[i]), tmp2);
 #else
-                tmp2 = tcg_temp_new_i64();
                 tcg_gen_qemu_ld32u(tmp2, tmp, get_mem_index(s));
                 tcg_gen_shl_i64(tmp2, tmp2, tmp4);
                 tcg_gen_ext32u_i64(regs[i], regs[i]);
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 05/13] target-s390x: Add missing tcg_temp_free_i64() in gen_jcc()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (3 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 04/13] target-s390x: Fix duplicate call of tcg_temp_new_i64 Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 06/13] target-s390x: Add missing tcg_temp_free_i64() in do_mh() Alexander Graf
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 141a72f..6ec77ec 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -1095,6 +1095,7 @@ static void gen_jcc(DisasContext *s, uint32_t mask, int skip)
             tcg_gen_brcondi_i64(TCG_COND_EQ, tmp64, 0, skip);
             break;
         default:
+            tcg_temp_free_i64(tmp64);
             goto do_dynamic;
         }
         tcg_temp_free_i64(tmp64);
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 06/13] target-s390x: Add missing tcg_temp_free_i64() in do_mh()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (4 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 05/13] target-s390x: Add missing tcg_temp_free_i64() in gen_jcc() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 07/13] target-s390x: Add missing tcg_temp_free_i64() in disas_b2() Alexander Graf
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 6ec77ec..a11cb19 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -2094,6 +2094,7 @@ do_mh:
             tcg_gen_add_i64(tmp, tmp, tmp3);
         }
         tcg_temp_free_i64(tmp);
+        tcg_temp_free_i64(tmp3);
         tcg_temp_free_i64(tmp4);
         break;
     case 0x2c: /* STCMH R1,M3,D2(B2) [RSY] */
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 07/13] target-s390x: Add missing tcg_temp_free_i64() in disas_b2()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (5 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 06/13] target-s390x: Add missing tcg_temp_free_i64() in do_mh() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 08/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x8e Alexander Graf
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index a11cb19..f3f42a9 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -2964,6 +2964,8 @@ static void disas_b2(DisasContext *s, int op, uint32_t insn)
         /* we need to keep cc_op intact */
         s->is_jmp = DISAS_JUMP;
         tcg_temp_free_i64(tmp);
+        tcg_temp_free_i64(tmp2);
+        tcg_temp_free_i64(tmp3);
         break;
     case 0x20: /* SERVC     R1,R2     [RRE] */
         /* SCLP Service call (PV hypercall) */
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 08/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x8e
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (6 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 07/13] target-s390x: Add missing tcg_temp_free_i64() in disas_b2() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 09/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x90 Alexander Graf
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index f3f42a9..c5a3930 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -4596,6 +4596,8 @@ static void disas_s390_insn(DisasContext *s)
         store_reg32(r1, tmp32_1);
         tcg_gen_trunc_i64_i32(tmp32_2, tmp2);
         store_reg32(r1 + 1, tmp32_2);
+        tcg_temp_free_i64(tmp);
+        tcg_temp_free_i64(tmp2);
         break;
     case 0x98: /* LM     R1,R3,D2(B2)     [RS] */
     case 0x90: /* STM    R1,R3,D2(B2)     [RS] */
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 09/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x90
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (7 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 08/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x8e Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 10/13] target-s390x: Add missing tcg_temp_free_i32() Alexander Graf
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index c5a3930..81b8c5b 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -4621,6 +4621,7 @@ static void disas_s390_insn(DisasContext *s)
             }
             tcg_gen_add_i64(tmp, tmp, tmp3);
         }
+        tcg_temp_free_i64(tmp);
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i64(tmp3);
         tcg_temp_free_i64(tmp4);
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 10/13] target-s390x: Add missing tcg_temp_free_i32()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (8 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 09/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x90 Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 11/13] s390x: free tmp explicitly in every opcode for disas_a5() Alexander Graf
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

From: Stefan Weil <weil@mail.berlios.de>

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 81b8c5b..5828b5f 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -1078,9 +1078,12 @@ static void gen_jcc(DisasContext *s, uint32_t mask, int skip)
             tcg_gen_brcondi_i32(TCG_COND_EQ, tmp, 0, skip);
             break;
         default:
+            tcg_temp_free_i32(tmp);
+            tcg_temp_free_i32(tmp2);
             goto do_dynamic;
         }
         tcg_temp_free_i32(tmp);
+        tcg_temp_free_i32(tmp2);
         account_inline_branch(s);
         break;
     case CC_OP_TM_64:
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 11/13] s390x: free tmp explicitly in every opcode for disas_a5()
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (9 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 10/13] target-s390x: Add missing tcg_temp_free_i32() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 12/13] s390x: fix cksm instruction Alexander Graf
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

The disas_a5() function provided a TCG tmp variable which was populated
by the respective opcode implementations, but freed at the end of the
function in generic code.

That makes it really hard for code review, so let's move the freeing
to the same scope as the actual allocation.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index 5828b5f..afeb5e6 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -2334,18 +2334,22 @@ static void disas_a5(DisasContext *s, int op, int r1, int i2)
     case 0x0: /* IIHH     R1,I2     [RI] */
         tmp = tcg_const_i64(i2);
         tcg_gen_deposit_i64(regs[r1], regs[r1], tmp, 48, 16);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x1: /* IIHL     R1,I2     [RI] */
         tmp = tcg_const_i64(i2);
         tcg_gen_deposit_i64(regs[r1], regs[r1], tmp, 32, 16);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x2: /* IILH     R1,I2     [RI] */
         tmp = tcg_const_i64(i2);
         tcg_gen_deposit_i64(regs[r1], regs[r1], tmp, 16, 16);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x3: /* IILL     R1,I2     [RI] */
         tmp = tcg_const_i64(i2);
         tcg_gen_deposit_i64(regs[r1], regs[r1], tmp, 0, 16);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x4: /* NIHH     R1,I2     [RI] */
     case 0x8: /* OIHH     R1,I2     [RI] */
@@ -2370,6 +2374,7 @@ static void disas_a5(DisasContext *s, int op, int r1, int i2)
         set_cc_nz_u32(s, tmp32);
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i32(tmp32);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x5: /* NIHL     R1,I2     [RI] */
     case 0x9: /* OIHL     R1,I2     [RI] */
@@ -2395,6 +2400,7 @@ static void disas_a5(DisasContext *s, int op, int r1, int i2)
         set_cc_nz_u32(s, tmp32);
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i32(tmp32);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x6: /* NILH     R1,I2     [RI] */
     case 0xa: /* OILH     R1,I2     [RI] */
@@ -2420,6 +2426,7 @@ static void disas_a5(DisasContext *s, int op, int r1, int i2)
         set_cc_nz_u32(s, tmp32);
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i32(tmp32);
+        tcg_temp_free_i64(tmp);
         break;
     case 0x7: /* NILL     R1,I2     [RI] */
     case 0xb: /* OILL     R1,I2     [RI] */
@@ -2443,29 +2450,33 @@ static void disas_a5(DisasContext *s, int op, int r1, int i2)
         set_cc_nz_u32(s, tmp32);        /* signedness should not matter here */
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i32(tmp32);
+        tcg_temp_free_i64(tmp);
         break;
     case 0xc: /* LLIHH     R1,I2     [RI] */
         tmp = tcg_const_i64( ((uint64_t)i2) << 48 );
         store_reg(r1, tmp);
+        tcg_temp_free_i64(tmp);
         break;
     case 0xd: /* LLIHL     R1,I2     [RI] */
         tmp = tcg_const_i64( ((uint64_t)i2) << 32 );
         store_reg(r1, tmp);
+        tcg_temp_free_i64(tmp);
         break;
     case 0xe: /* LLILH     R1,I2     [RI] */
         tmp = tcg_const_i64( ((uint64_t)i2) << 16 );
         store_reg(r1, tmp);
+        tcg_temp_free_i64(tmp);
         break;
     case 0xf: /* LLILL     R1,I2     [RI] */
         tmp = tcg_const_i64(i2);
         store_reg(r1, tmp);
+        tcg_temp_free_i64(tmp);
         break;
     default:
         LOG_DISAS("illegal a5 operation 0x%x\n", op);
         gen_illegal_opcode(s, 2);
         return;
     }
-    tcg_temp_free_i64(tmp);
 }
 
 static void disas_a7(DisasContext *s, int op, int r1, int i2)
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 12/13] s390x: fix cksm instruction
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (10 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 11/13] s390x: free tmp explicitly in every opcode for disas_a5() Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 13/13] s390x: implement lrvgr Alexander Graf
  2011-06-03 16:22 ` [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Aurelien Jarno
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

The cksm instruction was implemented incorrectly, rendering UDP and TCP
checksum calculation wrong, making an emulated s390x Linux guest break
in most networking operations.

This patch fixes odd end checksum calculation, takes the input register
as input for the checksum and optimizes the overflow pieces by a bit.

Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/op_helper.c |   28 ++++++++--------------------
 1 files changed, 8 insertions(+), 20 deletions(-)

diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
index 49760a4..db03a79 100644
--- a/target-s390x/op_helper.c
+++ b/target-s390x/op_helper.c
@@ -1731,25 +1731,15 @@ void HELPER(sqdbr)(uint32_t f1, uint32_t f2)
     env->fregs[f1].d = float64_sqrt(env->fregs[f2].d, &env->fpu_status);
 }
 
-static inline uint64_t cksm_overflow(uint64_t cksm)
-{
-    if (cksm > 0xffffffffULL) {
-        cksm &= 0xffffffffULL;
-        cksm++;
-    }
-    return cksm;
-}
-
 /* checksum */
 void HELPER(cksm)(uint32_t r1, uint32_t r2)
 {
     uint64_t src = get_address_31fix(r2);
     uint64_t src_len = env->regs[(r2 + 1) & 15];
-    uint64_t cksm = 0;
+    uint64_t cksm = (uint32_t)env->regs[r1];
 
     while (src_len >= 4) {
         cksm += ldl(src);
-        cksm = cksm_overflow(cksm);
 
         /* move to next word */
         src_len -= 4;
@@ -1760,26 +1750,24 @@ void HELPER(cksm)(uint32_t r1, uint32_t r2)
     case 0:
         break;
     case 1:
-        cksm += ldub(src);
-        cksm = cksm_overflow(cksm);
+        cksm += ldub(src) << 24;
         break;
     case 2:
-        cksm += lduw(src);
-        cksm = cksm_overflow(cksm);
+        cksm += lduw(src) << 16;
         break;
     case 3:
-        /* XXX check if this really is correct */
-        cksm += lduw(src) << 8;
-        cksm += ldub(src + 2);
-        cksm = cksm_overflow(cksm);
+        cksm += lduw(src) << 16;
+        cksm += ldub(src + 2) << 8;
         break;
     }
 
     /* indicate we've processed everything */
+    env->regs[r2] = src + src_len;
     env->regs[(r2 + 1) & 15] = 0;
 
     /* store result */
-    env->regs[r1] = (env->regs[r1] & 0xffffffff00000000ULL) | (uint32_t)cksm;
+    env->regs[r1] = (env->regs[r1] & 0xffffffff00000000ULL) |
+                    ((uint32_t)cksm + (cksm >> 32));
 }
 
 static inline uint32_t cc_calc_ltgt_32(CPUState *env, int32_t src,
-- 
1.6.0.2

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

* [Qemu-devel] [PATCH 13/13] s390x: implement lrvgr
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (11 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 12/13] s390x: fix cksm instruction Alexander Graf
@ 2011-06-02  6:51 ` Alexander Graf
  2011-06-03 16:22 ` [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Aurelien Jarno
  13 siblings, 0 replies; 15+ messages in thread
From: Alexander Graf @ 2011-06-02  6:51 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers; +Cc: Aurelien Jarno

The LRVGR instruction was missing. Implement it, so everyone's happy.

Reported-by: Balazs Kutil <bkutil@novell.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-s390x/translate.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/target-s390x/translate.c b/target-s390x/translate.c
index afeb5e6..eda4624 100644
--- a/target-s390x/translate.c
+++ b/target-s390x/translate.c
@@ -3473,6 +3473,9 @@ static void disas_b9(DisasContext *s, int op, int r1, int r2)
         tcg_temp_free_i64(tmp2);
         tcg_temp_free_i64(tmp3);
         break;
+    case 0x0f: /* LRVGR    R1,R2     [RRE] */
+        tcg_gen_bswap64_i64(regs[r1], regs[r2]);
+        break;
     case 0x1f: /* LRVR     R1,R2     [RRE] */
         tmp32_1 = load_reg32(r2);
         tcg_gen_bswap32_i32(tmp32_1, tmp32_1);
-- 
1.6.0.2

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

* Re: [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011
  2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
                   ` (12 preceding siblings ...)
  2011-06-02  6:51 ` [Qemu-devel] [PATCH 13/13] s390x: implement lrvgr Alexander Graf
@ 2011-06-03 16:22 ` Aurelien Jarno
  13 siblings, 0 replies; 15+ messages in thread
From: Aurelien Jarno @ 2011-06-03 16:22 UTC (permalink / raw)
  To: Alexander Graf; +Cc: qemu-devel@nongnu.org Developers

On Thu, Jun 02, 2011 at 08:51:30AM +0200, Alexander Graf wrote:
> Hi,
> 
> This is my current patch queue for s390x related work. It contains:
> 
>   * compile fixes
>   * add temp_frees where missing
>   * fix LMH, CKSM instructions
>   * update bootloader for increased bootup speed
>   * implement LRVGR instruction
> 
> With these patches, networking finally works for emulated s390x guests.
> 
> Please pull.
> 
> Alex

Thanks, pulled.

> The following changes since commit 578c7b2ca8ee9e97fa8693b1a83d517e8e3f962e:
>   Juha Riihim?ki (1):
>         audio: fix integer overflow expression
> 
> are available in the git repository at:
> 
>   git://repo.or.cz/qemu/agraf.git s390-next
> 
> Alexander Graf (4):
>   s390x: update zipl rom
>   s390x: free tmp explicitly in every opcode for disas_a5()
>   s390x: fix cksm instruction
>   s390x: implement lrvgr
> 
> Stefan Weil (9):
>   target-s390x: Fix build for non-linux hosts
>   target-s390x: Fix wrong argument in call of tcg_gen_shl_i64()
>   target-s390x: Fix duplicate call of tcg_temp_new_i64
>   target-s390x: Add missing tcg_temp_free_i64() in gen_jcc()
>   target-s390x: Add missing tcg_temp_free_i64() in do_mh()
>   target-s390x: Add missing tcg_temp_free_i64() in disas_b2()
>   target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(),
>     opc == 0x8e
>   target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(),
>     opc == 0x90
>   target-s390x: Add missing tcg_temp_free_i32()
> 
>  pc-bios/s390-zipl.rom    |  Bin 3336 -> 3304 bytes
>  target-s390x/helper.c    |    5 -----
>  target-s390x/op_helper.c |   28 ++++++++--------------------
>  target-s390x/translate.c |   31 +++++++++++++++++++++++++++----
>  4 files changed, 35 insertions(+), 29 deletions(-)
> 
> 

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

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

end of thread, other threads:[~2011-06-03 16:22 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-02  6:51 [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 01/13] s390x: update zipl rom Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 02/13] target-s390x: Fix build for non-linux hosts Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 03/13] target-s390x: Fix wrong argument in call of tcg_gen_shl_i64() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 04/13] target-s390x: Fix duplicate call of tcg_temp_new_i64 Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 05/13] target-s390x: Add missing tcg_temp_free_i64() in gen_jcc() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 06/13] target-s390x: Add missing tcg_temp_free_i64() in do_mh() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 07/13] target-s390x: Add missing tcg_temp_free_i64() in disas_b2() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 08/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x8e Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 09/13] target-s390x: Add missing tcg_temp_free_i64() in disas_s390_insn(), opc == 0x90 Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 10/13] target-s390x: Add missing tcg_temp_free_i32() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 11/13] s390x: free tmp explicitly in every opcode for disas_a5() Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 12/13] s390x: fix cksm instruction Alexander Graf
2011-06-02  6:51 ` [Qemu-devel] [PATCH 13/13] s390x: implement lrvgr Alexander Graf
2011-06-03 16:22 ` [Qemu-devel] [PULL 00/13] s390x patch queue June 03 2011 Aurelien Jarno

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.