qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] fix various compiler warnings
@ 2008-06-23  6:48 Jan Kiszka
  2008-07-13 12:37 ` [Qemu-devel] [RESEND][PATCH] " Jan Kiszka
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kiszka @ 2008-06-23  6:48 UTC (permalink / raw)
  To: qemu-devel

This belongs into the category "mostly harmless", but it is still
annoying when you change core headers and look out for build
regressions. Some spots still remain (namely in slirp), but it is a
start. Please cross-check if all the silencing is actually valid and not
papering over a real issue (but it doesn't appear to me)!

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
---
 hw/pc.c                           |    7 ++++---
 hw/sh7750.c                       |    4 ++--
 linux-user/arm/nwfpe/fpa11_cpdt.c |   16 ++++++++--------
 linux-user/flatload.c             |    6 +++---
 linux-user/m68k-sim.c             |   12 ++++++------
 linux-user/signal.c               |    6 +++---
 linux-user/syscall.c              |    1 +
 target-i386/helper.c              |    6 +++---
 target-mips/op_helper.c           |    4 ++--
 target-sparc/cpu.h                |    2 ++
 10 files changed, 34 insertions(+), 30 deletions(-)

Index: b/hw/sh7750.c
===================================================================
--- a/hw/sh7750.c
+++ b/hw/sh7750.c
@@ -182,13 +182,13 @@ static void portb_changed(SH7750State * 
 
 static void error_access(const char *kind, target_phys_addr_t addr)
 {
-    fprintf(stderr, "%s to %s (0x%08x) not supported\n",
+    fprintf(stderr, "%s to %s (0x" TARGET_FMT_plx ") not supported\n",
 	    kind, regname(addr), addr);
 }
 
 static void ignore_access(const char *kind, target_phys_addr_t addr)
 {
-    fprintf(stderr, "%s to %s (0x%08x) ignored\n",
+    fprintf(stderr, "%s to %s (0x" TARGET_FMT_plx ") ignored\n",
 	    kind, regname(addr), addr);
 }
 
Index: b/linux-user/flatload.c
===================================================================
--- a/linux-user/flatload.c
+++ b/linux-user/flatload.c
@@ -349,9 +349,9 @@ void old_reloc(struct lib_info *libinfo,
         reloc_type = rl >> 30;
         /* ??? How to handle this?  */
 #if defined(CONFIG_COLDFIRE)
-	ptr = (uint32_t *) (libinfo->start_code + offset);
+	ptr = (uint32_t *)(unsigned long) (libinfo->start_code + offset);
 #else
-	ptr = (uint32_t *) (libinfo->start_data + offset);
+	ptr = (uint32_t *)(unsigned long) (libinfo->start_data + offset);
 #endif
 
 #ifdef DEBUG
@@ -670,7 +670,7 @@ static int load_flat_file(struct linux_b
     }
 
     /* zero the BSS.  */
-    memset((void*)(datapos + data_len), 0, bss_len);
+    memset((void *)(unsigned long)(datapos + data_len), 0, bss_len);
 
     return 0;
 }
Index: b/linux-user/m68k-sim.c
===================================================================
--- a/linux-user/m68k-sim.c
+++ b/linux-user/m68k-sim.c
@@ -101,19 +101,19 @@ void do_m68k_simcall(CPUM68KState *env, 
 {
     uint32_t *args;
 
-    args = (uint32_t *)(env->aregs[7] + 4);
+    args = (uint32_t *)(unsigned long)(env->aregs[7] + 4);
     switch (nr) {
     case SYS_EXIT:
         exit(ARG(0));
     case SYS_READ:
-        check_err(env, read(ARG(0), (void *)ARG(1), ARG(2)));
+        check_err(env, read(ARG(0), (void *)(unsigned long)ARG(1), ARG(2)));
         break;
     case SYS_WRITE:
-        check_err(env, write(ARG(0), (void *)ARG(1), ARG(2)));
+        check_err(env, write(ARG(0), (void *)(unsigned long)ARG(1), ARG(2)));
         break;
     case SYS_OPEN:
-        check_err(env, open((char *)ARG(0), translate_openflags(ARG(1)),
-                            ARG(2)));
+        check_err(env, open((char *)(unsigned long)ARG(0),
+                            translate_openflags(ARG(1)), ARG(2)));
         break;
     case SYS_CLOSE:
         {
@@ -142,7 +142,7 @@ void do_m68k_simcall(CPUM68KState *env, 
             struct m86k_sim_stat *p;
             rc = check_err(env, fstat(ARG(0), &s));
             if (rc == 0) {
-                p = (struct m86k_sim_stat *)ARG(1);
+                p = (struct m86k_sim_stat *)(unsigned long)ARG(1);
                 p->sim_st_dev = tswap16(s.st_dev);
                 p->sim_st_ino = tswap16(s.st_ino);
                 p->sim_st_mode = tswap32(s.st_mode);
Index: b/linux-user/syscall.c
===================================================================
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -72,6 +72,7 @@
 #include "linux_loop.h"
 
 #include "qemu.h"
+#include "qemu-common.h"
 
 #if defined(USE_NPTL)
 #include <linux/futex.h>
Index: b/target-sparc/cpu.h
===================================================================
--- a/target-sparc/cpu.h
+++ b/target-sparc/cpu.h
@@ -366,12 +366,14 @@ static inline int cpu_cwp_dec(CPUSPARCSt
     } while (0)
 #define GET_CWP64(env) (env->nwindows - 1 - (env)->cwp)
 
+#ifndef NO_CPU_IO_DEFS
 static inline void PUT_CWP64(CPUSPARCState *env1, int cwp)
 {
     if (unlikely(cwp >= env1->nwindows || cwp < 0))
         cwp = 0;
     cpu_set_cwp(env1, env1->nwindows - 1 - cwp);
 }
+#endif
 
 #endif
 
Index: b/linux-user/signal.c
===================================================================
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2755,7 +2755,7 @@ static void setup_rt_frame(int sig, stru
     /* Create the ucontext.  */
     err |= __put_user(0, &frame->uc.uc_flags);
     err |= __put_user(0, (unsigned long *)&frame->uc.uc_link);
-    err |= __put_user((void *)target_sigaltstack_used.ss_sp,
+    err |= __put_user((unsigned long)target_sigaltstack_used.ss_sp,
 		      &frame->uc.uc_stack.ss_sp);
     err |= __put_user(sas_ss_flags(regs->gregs[15]),
 		      &frame->uc.uc_stack.ss_flags);
@@ -2982,11 +2982,11 @@ static void setup_frame(int sig, struct 
 	setup_sigcontext(&frame->sc, env);
 
 	/* Move the stack and setup the arguments for the handler.  */
-	env->regs[R_SP] = (uint32_t) frame;
+	env->regs[R_SP] = (uint32_t)(unsigned long) frame;
 	env->regs[10] = sig;
 	env->pc = (unsigned long) ka->_sa_handler;
 	/* Link SRP so the guest returns through the trampoline.  */
-	env->pregs[PR_SRP] = (uint32_t) &frame->retcode[0];
+	env->pregs[PR_SRP] = (uint32_t)(unsigned long) &frame->retcode[0];
 
 	unlock_user_struct(frame, frame_addr, 1);
 	return;
Index: b/linux-user/arm/nwfpe/fpa11_cpdt.c
===================================================================
--- a/linux-user/arm/nwfpe/fpa11_cpdt.c
+++ b/linux-user/arm/nwfpe/fpa11_cpdt.c
@@ -227,7 +227,7 @@ unsigned int PerformLDF(const unsigned i
 
    //printk("PerformLDF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -250,7 +250,7 @@ unsigned int PerformLDF(const unsigned i
       default: nRc = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return nRc;
 }
 
@@ -262,7 +262,7 @@ unsigned int PerformSTF(const unsigned i
    //printk("PerformSTF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
    SetRoundingMode(ROUND_TO_NEAREST);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -285,7 +285,7 @@ unsigned int PerformSTF(const unsigned i
       default: nRc = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode),(unsigned long)pFinal);
    return nRc;
 }
 
@@ -294,7 +294,7 @@ unsigned int PerformLFM(const unsigned i
    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
      write_back = WRITE_BACK(opcode);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -317,7 +317,7 @@ unsigned int PerformLFM(const unsigned i
      if (Fd == 8) Fd = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return 1;
 }
 
@@ -326,7 +326,7 @@ unsigned int PerformSFM(const unsigned i
    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
      write_back = WRITE_BACK(opcode);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -349,7 +349,7 @@ unsigned int PerformSFM(const unsigned i
      if (Fd == 8) Fd = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return 1;
 }
 
Index: b/target-mips/op_helper.c
===================================================================
--- a/target-mips/op_helper.c
+++ b/target-mips/op_helper.c
@@ -461,7 +461,7 @@ void do_ldl(int mem_idx)
 #ifdef CONFIG_USER_ONLY
 #define ldfun ldub_raw
 #else
-    target_ulong (*ldfun)(target_ulong);
+    int (*ldfun)(target_ulong);
 
     switch (mem_idx)
     {
@@ -517,7 +517,7 @@ void do_ldr(int mem_idx)
 #ifdef CONFIG_USER_ONLY
 #define ldfun ldub_raw
 #else
-    target_ulong (*ldfun)(target_ulong);
+    int (*ldfun)(target_ulong);
 
     switch (mem_idx)
     {
Index: b/hw/pc.c
===================================================================
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -607,8 +607,8 @@ static void load_linux(const char *kerne
 	initrd_size = get_file_size(fi);
 	initrd_addr = (initrd_max-initrd_size) & ~4095;
 
-	fprintf(stderr, "qemu: loading initrd (%#x bytes) at %#zx\n",
-		initrd_size, initrd_addr);
+	fprintf(stderr, "qemu: loading initrd (%#x bytes) at " TARGET_FMT_plx
+		"\n", initrd_size, initrd_addr);
 
 	if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) {
 	    fprintf(stderr, "qemu: read error on initial ram disk '%s'\n",
@@ -779,7 +779,8 @@ static void pc_init1(ram_addr_t ram_size
 
     /* above 4giga memory allocation */
     if (above_4g_mem_size > 0) {
-        cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size,
+        cpu_register_physical_memory((target_phys_addr_t)0x100000000ULL,
+                                     above_4g_mem_size,
                                      ram_addr + below_4g_mem_size);
     }
 
Index: b/target-i386/helper.c
===================================================================
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -827,12 +827,12 @@ target_phys_addr_t cpu_get_phys_page_deb
 /* XXX: This value should match the one returned by CPUID
  * and in exec.c */
 #if defined(USE_KQEMU)
-#define PHYS_ADDR_MASK 0xfffff000L
+#define PHYS_ADDR_MASK 0xfffff000LL
 #else
 # if defined(TARGET_X86_64)
-# define PHYS_ADDR_MASK 0xfffffff000L
+# define PHYS_ADDR_MASK 0xfffffff000LL
 # else
-# define PHYS_ADDR_MASK 0xffffff000L
+# define PHYS_ADDR_MASK 0xffffff000LL
 # endif
 #endif
 

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

* [Qemu-devel] [RESEND][PATCH] fix various compiler warnings
  2008-06-23  6:48 [Qemu-devel] [PATCH] fix various compiler warnings Jan Kiszka
@ 2008-07-13 12:37 ` Jan Kiszka
  2008-07-16 12:18   ` andrzej zaborowski
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kiszka @ 2008-07-13 12:37 UTC (permalink / raw)
  To: qemu-devel

Here are those bits from the original patch which are still unfixed.
Please apply what fits, fix differently where required or desired, or
let me know how you would like to see it being addressed.

Signed-off-by: Jan Kiszka <jan.kiszka@web.de>
---
 hw/pc.c                           |    7 ++++---
 hw/sh7750.c                       |    4 ++--
 linux-user/arm/nwfpe/fpa11_cpdt.c |   16 ++++++++--------
 linux-user/flatload.c             |    6 +++---
 linux-user/m68k-sim.c             |   12 ++++++------
 linux-user/signal.c               |    6 +++---
 linux-user/syscall.c              |    1 +
 target-arm/translate.c            |    2 ++
 target-i386/helper.c              |    6 +++---
 9 files changed, 32 insertions(+), 28 deletions(-)

Index: b/hw/sh7750.c
===================================================================
--- a/hw/sh7750.c
+++ b/hw/sh7750.c
@@ -182,13 +182,13 @@ static void portb_changed(SH7750State *
 
 static void error_access(const char *kind, target_phys_addr_t addr)
 {
-    fprintf(stderr, "%s to %s (0x%08x) not supported\n",
+    fprintf(stderr, "%s to %s (0x" TARGET_FMT_plx ") not supported\n",
 	    kind, regname(addr), addr);
 }
 
 static void ignore_access(const char *kind, target_phys_addr_t addr)
 {
-    fprintf(stderr, "%s to %s (0x%08x) ignored\n",
+    fprintf(stderr, "%s to %s (0x" TARGET_FMT_plx ") ignored\n",
 	    kind, regname(addr), addr);
 }
 
Index: b/linux-user/flatload.c
===================================================================
--- a/linux-user/flatload.c
+++ b/linux-user/flatload.c
@@ -349,9 +349,9 @@ void old_reloc(struct lib_info *libinfo,
         reloc_type = rl >> 30;
         /* ??? How to handle this?  */
 #if defined(CONFIG_COLDFIRE)
-	ptr = (uint32_t *) (libinfo->start_code + offset);
+	ptr = (uint32_t *)(unsigned long) (libinfo->start_code + offset);
 #else
-	ptr = (uint32_t *) (libinfo->start_data + offset);
+	ptr = (uint32_t *)(unsigned long) (libinfo->start_data + offset);
 #endif
 
 #ifdef DEBUG
@@ -670,7 +670,7 @@ static int load_flat_file(struct linux_b
     }
 
     /* zero the BSS.  */
-    memset((void*)(datapos + data_len), 0, bss_len);
+    memset((void *)(unsigned long)(datapos + data_len), 0, bss_len);
 
     return 0;
 }
Index: b/linux-user/m68k-sim.c
===================================================================
--- a/linux-user/m68k-sim.c
+++ b/linux-user/m68k-sim.c
@@ -101,19 +101,19 @@ void do_m68k_simcall(CPUM68KState *env,
 {
     uint32_t *args;
 
-    args = (uint32_t *)(env->aregs[7] + 4);
+    args = (uint32_t *)(unsigned long)(env->aregs[7] + 4);
     switch (nr) {
     case SYS_EXIT:
         exit(ARG(0));
     case SYS_READ:
-        check_err(env, read(ARG(0), (void *)ARG(1), ARG(2)));
+        check_err(env, read(ARG(0), (void *)(unsigned long)ARG(1), ARG(2)));
         break;
     case SYS_WRITE:
-        check_err(env, write(ARG(0), (void *)ARG(1), ARG(2)));
+        check_err(env, write(ARG(0), (void *)(unsigned long)ARG(1), ARG(2)));
         break;
     case SYS_OPEN:
-        check_err(env, open((char *)ARG(0), translate_openflags(ARG(1)),
-                            ARG(2)));
+        check_err(env, open((char *)(unsigned long)ARG(0),
+                            translate_openflags(ARG(1)), ARG(2)));
         break;
     case SYS_CLOSE:
         {
@@ -142,7 +142,7 @@ void do_m68k_simcall(CPUM68KState *env,
             struct m86k_sim_stat *p;
             rc = check_err(env, fstat(ARG(0), &s));
             if (rc == 0) {
-                p = (struct m86k_sim_stat *)ARG(1);
+                p = (struct m86k_sim_stat *)(unsigned long)ARG(1);
                 p->sim_st_dev = tswap16(s.st_dev);
                 p->sim_st_ino = tswap16(s.st_ino);
                 p->sim_st_mode = tswap32(s.st_mode);
Index: b/linux-user/syscall.c
===================================================================
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -72,6 +72,7 @@
 #include "linux_loop.h"
 
 #include "qemu.h"
+#include "qemu-common.h"
 
 #if defined(USE_NPTL)
 #include <linux/futex.h>
Index: b/linux-user/signal.c
===================================================================
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2755,7 +2755,7 @@ static void setup_rt_frame(int sig, stru
     /* Create the ucontext.  */
     err |= __put_user(0, &frame->uc.uc_flags);
     err |= __put_user(0, (unsigned long *)&frame->uc.uc_link);
-    err |= __put_user((void *)target_sigaltstack_used.ss_sp,
+    err |= __put_user((unsigned long)target_sigaltstack_used.ss_sp,
 		      &frame->uc.uc_stack.ss_sp);
     err |= __put_user(sas_ss_flags(regs->gregs[15]),
 		      &frame->uc.uc_stack.ss_flags);
@@ -2982,11 +2982,11 @@ static void setup_frame(int sig, struct
 	setup_sigcontext(&frame->sc, env);
 
 	/* Move the stack and setup the arguments for the handler.  */
-	env->regs[R_SP] = (uint32_t) frame;
+	env->regs[R_SP] = (uint32_t)(unsigned long) frame;
 	env->regs[10] = sig;
 	env->pc = (unsigned long) ka->_sa_handler;
 	/* Link SRP so the guest returns through the trampoline.  */
-	env->pregs[PR_SRP] = (uint32_t) &frame->retcode[0];
+	env->pregs[PR_SRP] = (uint32_t)(unsigned long) &frame->retcode[0];
 
 	unlock_user_struct(frame, frame_addr, 1);
 	return;
Index: b/linux-user/arm/nwfpe/fpa11_cpdt.c
===================================================================
--- a/linux-user/arm/nwfpe/fpa11_cpdt.c
+++ b/linux-user/arm/nwfpe/fpa11_cpdt.c
@@ -227,7 +227,7 @@ unsigned int PerformLDF(const unsigned i
 
    //printk("PerformLDF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -250,7 +250,7 @@ unsigned int PerformLDF(const unsigned i
       default: nRc = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return nRc;
 }
 
@@ -262,7 +262,7 @@ unsigned int PerformSTF(const unsigned i
    //printk("PerformSTF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
    SetRoundingMode(ROUND_TO_NEAREST);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -285,7 +285,7 @@ unsigned int PerformSTF(const unsigned i
       default: nRc = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode),(unsigned long)pFinal);
    return nRc;
 }
 
@@ -294,7 +294,7 @@ unsigned int PerformLFM(const unsigned i
    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
      write_back = WRITE_BACK(opcode);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -317,7 +317,7 @@ unsigned int PerformLFM(const unsigned i
      if (Fd == 8) Fd = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return 1;
 }
 
@@ -326,7 +326,7 @@ unsigned int PerformSFM(const unsigned i
    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
      write_back = WRITE_BACK(opcode);
 
-   pBase = (unsigned int*)readRegister(getRn(opcode));
+   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
    if (REG_PC == getRn(opcode))
    {
      pBase += 2;
@@ -349,7 +349,7 @@ unsigned int PerformSFM(const unsigned i
      if (Fd == 8) Fd = 0;
    }
 
-   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
+   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
    return 1;
 }
 
Index: b/hw/pc.c
===================================================================
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -607,8 +607,8 @@ static void load_linux(const char *kerne
 	initrd_size = get_file_size(fi);
 	initrd_addr = (initrd_max-initrd_size) & ~4095;
 
-	fprintf(stderr, "qemu: loading initrd (%#x bytes) at %#zx\n",
-		initrd_size, initrd_addr);
+	fprintf(stderr, "qemu: loading initrd (%#x bytes) at " TARGET_FMT_plx
+		"\n", initrd_size, initrd_addr);
 
 	if (!fread_targphys_ok(initrd_addr, initrd_size, fi)) {
 	    fprintf(stderr, "qemu: read error on initial ram disk '%s'\n",
@@ -778,7 +778,8 @@ static void pc_init1(ram_addr_t ram_size
 
     /* above 4giga memory allocation */
     if (above_4g_mem_size > 0) {
-        cpu_register_physical_memory(0x100000000ULL, above_4g_mem_size,
+        cpu_register_physical_memory((target_phys_addr_t)0x100000000ULL,
+                                     above_4g_mem_size,
                                      ram_addr + below_4g_mem_size);
     }
 

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

* Re: [Qemu-devel] [RESEND][PATCH] fix various compiler warnings
  2008-07-13 12:37 ` [Qemu-devel] [RESEND][PATCH] " Jan Kiszka
@ 2008-07-16 12:18   ` andrzej zaborowski
  0 siblings, 0 replies; 3+ messages in thread
From: andrzej zaborowski @ 2008-07-16 12:18 UTC (permalink / raw)
  To: qemu-devel

2008/7/13 Jan Kiszka <jan.kiszka@web.de>:
> Here are those bits from the original patch which are still unfixed.
> Please apply what fits, fix differently where required or desired, or
> let me know how you would like to see it being addressed.

I applied this with small changes, please check because I already got
these things wrong on occasions.

> Index: b/linux-user/arm/nwfpe/fpa11_cpdt.c
> ===================================================================
> --- a/linux-user/arm/nwfpe/fpa11_cpdt.c
> +++ b/linux-user/arm/nwfpe/fpa11_cpdt.c
> @@ -227,7 +227,7 @@ unsigned int PerformLDF(const unsigned i
>
>    //printk("PerformLDF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
>
> -   pBase = (unsigned int*)readRegister(getRn(opcode));
> +   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
>    if (REG_PC == getRn(opcode))
>    {
>      pBase += 2;
> @@ -250,7 +250,7 @@ unsigned int PerformLDF(const unsigned i
>       default: nRc = 0;
>    }
>
> -   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
> +   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
>    return nRc;
>  }
>
> @@ -262,7 +262,7 @@ unsigned int PerformSTF(const unsigned i
>    //printk("PerformSTF(0x%08x), Fd = 0x%08x\n",opcode,getFd(opcode));
>    SetRoundingMode(ROUND_TO_NEAREST);
>
> -   pBase = (unsigned int*)readRegister(getRn(opcode));
> +   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
>    if (REG_PC == getRn(opcode))
>    {
>      pBase += 2;
> @@ -285,7 +285,7 @@ unsigned int PerformSTF(const unsigned i
>       default: nRc = 0;
>    }
>
> -   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
> +   if (write_back) writeRegister(getRn(opcode),(unsigned long)pFinal);
>    return nRc;
>  }
>
> @@ -294,7 +294,7 @@ unsigned int PerformLFM(const unsigned i
>    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
>      write_back = WRITE_BACK(opcode);
>
> -   pBase = (unsigned int*)readRegister(getRn(opcode));
> +   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
>    if (REG_PC == getRn(opcode))
>    {
>      pBase += 2;
> @@ -317,7 +317,7 @@ unsigned int PerformLFM(const unsigned i
>      if (Fd == 8) Fd = 0;
>    }
>
> -   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
> +   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
>    return 1;
>  }
>
> @@ -326,7 +326,7 @@ unsigned int PerformSFM(const unsigned i
>    unsigned int i, Fd, *pBase, *pAddress, *pFinal,
>      write_back = WRITE_BACK(opcode);
>
> -   pBase = (unsigned int*)readRegister(getRn(opcode));
> +   pBase = (unsigned int *)(unsigned long)readRegister(getRn(opcode));
>    if (REG_PC == getRn(opcode))
>    {
>      pBase += 2;
> @@ -349,7 +349,7 @@ unsigned int PerformSFM(const unsigned i
>      if (Fd == 8) Fd = 0;
>    }
>
> -   if (write_back) writeRegister(getRn(opcode),(unsigned int)pFinal);
> +   if (write_back) writeRegister(getRn(opcode), (unsigned long)pFinal);
>    return 1;
>  }

I skipped all these casts because these do seem to be papering over
the real issue, perhaps pFinal and pBase shouldn't be pointers at all,
but if the are, they should be uint32_t * as far as I can tell.

Regards

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

end of thread, other threads:[~2008-07-16 12:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-23  6:48 [Qemu-devel] [PATCH] fix various compiler warnings Jan Kiszka
2008-07-13 12:37 ` [Qemu-devel] [RESEND][PATCH] " Jan Kiszka
2008-07-16 12:18   ` andrzej zaborowski

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).