All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1
@ 2019-07-15 19:53 Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 1/5] target/mips: Add 'fall through' comments for handling nanoMips' SHXS, SWXS Aleksandar Markovic
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

At the moment, this includes fixes for problems in switch statements
found by GCC 8.3 improved code analysis features, and one big endian
host fix.

v2->v3:

  - fix handling of MSA pack instructions on big endian host

v1->v2:

  - excluded the patch on "ucontext" that will go into linux user queue

Aleksandar Markovic (5):
  target/mips: Add 'fall through' comments for handling nanoMips' SHXS,
    SWXS
  target/mips: Add missing 'break' for a case of MTHC0 handling
  target/mips: Add missing 'break' for certain cases of MFTR handling
  target/mips: Add missing 'break' for certain cases of MTTR handling
  target/mips: Fix emulation of MSA pack instructions on big endian
    hosts

 target/mips/msa_helper.c | 66 ------------------------------------------------
 target/mips/translate.c  |  7 +++++
 2 files changed, 7 insertions(+), 66 deletions(-)

-- 
2.7.4



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

* [Qemu-devel] [PATCH for 4.1 v3 1/5] target/mips: Add 'fall through' comments for handling nanoMips' SHXS, SWXS
  2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
@ 2019-07-15 19:53 ` Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 2/5] target/mips: Add missing 'break' for a case of MTHC0 handling Aleksandar Markovic
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

This was found by GCC 8.3 static analysis.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/translate.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/mips/translate.c b/target/mips/translate.c
index f96f141..2be5e2d 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -20136,12 +20136,14 @@ static void gen_p_lsx(DisasContext *ctx, int rd, int rs, int rt)
         switch (extract32(ctx->opcode, 7, 4)) {
         case NM_SHXS:
             check_nms(ctx);
+            /* fall through */
         case NM_LHXS:
         case NM_LHUXS:
             tcg_gen_shli_tl(t0, t0, 1);
             break;
         case NM_SWXS:
             check_nms(ctx);
+            /* fall through */
         case NM_LWXS:
         case NM_LWC1XS:
         case NM_SWC1XS:
-- 
2.7.4



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

* [Qemu-devel] [PATCH for 4.1 v3 2/5] target/mips: Add missing 'break' for a case of MTHC0 handling
  2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 1/5] target/mips: Add 'fall through' comments for handling nanoMips' SHXS, SWXS Aleksandar Markovic
@ 2019-07-15 19:53 ` Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 3/5] target/mips: Add missing 'break' for certain cases of MFTR handling Aleksandar Markovic
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

This was found by GCC 8.3 static analysis.

Fixes: 5fb2dcd1792

Reported-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/translate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/target/mips/translate.c b/target/mips/translate.c
index 2be5e2d..59d4acd 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -6745,6 +6745,7 @@ static void gen_mthc0(DisasContext *ctx, TCGv arg, int reg, int sel)
         default:
             goto cp0_unimplemented;
         }
+        break;
     case CP0_REGISTER_17:
         switch (sel) {
         case 0:
-- 
2.7.4



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

* [Qemu-devel] [PATCH for 4.1 v3 3/5] target/mips: Add missing 'break' for certain cases of MFTR handling
  2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 1/5] target/mips: Add 'fall through' comments for handling nanoMips' SHXS, SWXS Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 2/5] target/mips: Add missing 'break' for a case of MTHC0 handling Aleksandar Markovic
@ 2019-07-15 19:53 ` Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 4/5] target/mips: Add missing 'break' for certain cases of MTTR handling Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 5/5] target/mips: Fix emulation of MSA pack instructions on big endian hosts Aleksandar Markovic
  4 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

This was found by GCC 8.3 static analysis.

Fixes: ead9360e2fb

Reported-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/translate.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/mips/translate.c b/target/mips/translate.c
index 59d4acd..b1cf5f0 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -9826,6 +9826,7 @@ static void gen_mftr(CPUMIPSState *env, DisasContext *ctx, int rt, int rd,
                 gen_mfc0(ctx, t0, rt, sel);
                 break;
             }
+            break;
         case 12:
             switch (sel) {
             case 0:
@@ -9835,6 +9836,7 @@ static void gen_mftr(CPUMIPSState *env, DisasContext *ctx, int rt, int rd,
                 gen_mfc0(ctx, t0, rt, sel);
                 break;
             }
+            break;
         case 13:
             switch (sel) {
             case 0:
-- 
2.7.4



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

* [Qemu-devel] [PATCH for 4.1 v3 4/5] target/mips: Add missing 'break' for certain cases of MTTR handling
  2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
                   ` (2 preceding siblings ...)
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 3/5] target/mips: Add missing 'break' for certain cases of MFTR handling Aleksandar Markovic
@ 2019-07-15 19:53 ` Aleksandar Markovic
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 5/5] target/mips: Fix emulation of MSA pack instructions on big endian hosts Aleksandar Markovic
  4 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

This was found by GCC 8.3 static analysis.

Fixes: ead9360e2fb

Reported-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/translate.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/mips/translate.c b/target/mips/translate.c
index b1cf5f0..ca62800 100644
--- a/target/mips/translate.c
+++ b/target/mips/translate.c
@@ -10055,6 +10055,7 @@ static void gen_mttr(CPUMIPSState *env, DisasContext *ctx, int rd, int rt,
                 gen_mtc0(ctx, t0, rd, sel);
                 break;
             }
+            break;
         case 12:
             switch (sel) {
             case 0:
@@ -10064,6 +10065,7 @@ static void gen_mttr(CPUMIPSState *env, DisasContext *ctx, int rd, int rt,
                 gen_mtc0(ctx, t0, rd, sel);
                 break;
             }
+            break;
         case 13:
             switch (sel) {
             case 0:
-- 
2.7.4



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

* [Qemu-devel] [PATCH for 4.1 v3 5/5] target/mips: Fix emulation of MSA pack instructions on big endian hosts
  2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
                   ` (3 preceding siblings ...)
  2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 4/5] target/mips: Add missing 'break' for certain cases of MTTR handling Aleksandar Markovic
@ 2019-07-15 19:53 ` Aleksandar Markovic
  4 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-07-15 19:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: arikalo, sw, amarkovic

From: Aleksandar Markovic <amarkovic@wavecomp.com>

Fix emulation of MSA pack instructions on big endian hosts.

Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com>
---
 target/mips/msa_helper.c | 66 ------------------------------------------------
 1 file changed, 66 deletions(-)

diff --git a/target/mips/msa_helper.c b/target/mips/msa_helper.c
index a383c40..4098842 100644
--- a/target/mips/msa_helper.c
+++ b/target/mips/msa_helper.c
@@ -2113,39 +2113,6 @@ void helper_msa_pckev_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
 
     switch (df) {
     case DF_BYTE:
-        pwd->b[15] = pws->b[14];
-        pwd->b[13] = pws->b[10];
-        pwd->b[11] = pws->b[6];
-        pwd->b[9]  = pws->b[2];
-        pwd->b[7]  = pwt->b[14];
-        pwd->b[5]  = pwt->b[10];
-        pwd->b[3]  = pwt->b[6];
-        pwd->b[1]  = pwt->b[2];
-        pwd->b[14] = pws->b[12];
-        pwd->b[10] = pws->b[4];
-        pwd->b[6]  = pwt->b[12];
-        pwd->b[2]  = pwt->b[4];
-        pwd->b[12] = pws->b[8];
-        pwd->b[4]  = pwt->b[8];
-        pwd->b[8]  = pws->b[0];
-        pwd->b[0]  = pwt->b[0];
-        break;
-    case DF_HALF:
-        pwd->h[7] = pws->h[6];
-        pwd->h[5] = pws->h[2];
-        pwd->h[3] = pwt->h[6];
-        pwd->h[1] = pwt->h[2];
-        pwd->h[6] = pws->h[4];
-        pwd->h[2] = pwt->h[4];
-        pwd->h[4] = pws->h[0];
-        pwd->h[0] = pwt->h[0];
-        break;
-    case DF_WORD:
-        pwd->w[3] = pws->w[2];
-        pwd->w[1] = pwt->w[2];
-        pwd->w[2] = pws->w[0];
-        pwd->w[0] = pwt->w[0];
-        break;
     case DF_DOUBLE:
         pwd->d[1] = pws->d[0];
         pwd->d[0] = pwt->d[0];
@@ -2164,39 +2131,6 @@ void helper_msa_pckod_df(CPUMIPSState *env, uint32_t df, uint32_t wd,
 
     switch (df) {
     case DF_BYTE:
-        pwd->b[0]  = pwt->b[1];
-        pwd->b[2]  = pwt->b[5];
-        pwd->b[4]  = pwt->b[9];
-        pwd->b[6]  = pwt->b[13];
-        pwd->b[8]  = pws->b[1];
-        pwd->b[10] = pws->b[5];
-        pwd->b[12] = pws->b[9];
-        pwd->b[14] = pws->b[13];
-        pwd->b[1]  = pwt->b[3];
-        pwd->b[5]  = pwt->b[11];
-        pwd->b[9]  = pws->b[3];
-        pwd->b[13] = pws->b[11];
-        pwd->b[3]  = pwt->b[7];
-        pwd->b[11] = pws->b[7];
-        pwd->b[7]  = pwt->b[15];
-        pwd->b[15] = pws->b[15];
-        break;
-    case DF_HALF:
-        pwd->h[0] = pwt->h[1];
-        pwd->h[2] = pwt->h[5];
-        pwd->h[4] = pws->h[1];
-        pwd->h[6] = pws->h[5];
-        pwd->h[1] = pwt->h[3];
-        pwd->h[5] = pws->h[3];
-        pwd->h[3] = pwt->h[7];
-        pwd->h[7] = pws->h[7];
-        break;
-    case DF_WORD:
-        pwd->w[0] = pwt->w[1];
-        pwd->w[2] = pws->w[1];
-        pwd->w[1] = pwt->w[3];
-        pwd->w[3] = pws->w[3];
-        break;
     case DF_DOUBLE:
         pwd->d[0] = pwt->d[1];
         pwd->d[1] = pws->d[1];
-- 
2.7.4



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

end of thread, other threads:[~2019-07-15 19:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-15 19:53 [Qemu-devel] [PATCH for 4.1 v3 0/5] target/mips: Fixes for 4.1 rc1 Aleksandar Markovic
2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 1/5] target/mips: Add 'fall through' comments for handling nanoMips' SHXS, SWXS Aleksandar Markovic
2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 2/5] target/mips: Add missing 'break' for a case of MTHC0 handling Aleksandar Markovic
2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 3/5] target/mips: Add missing 'break' for certain cases of MFTR handling Aleksandar Markovic
2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 4/5] target/mips: Add missing 'break' for certain cases of MTTR handling Aleksandar Markovic
2019-07-15 19:53 ` [Qemu-devel] [PATCH for 4.1 v3 5/5] target/mips: Fix emulation of MSA pack instructions on big endian hosts Aleksandar Markovic

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.