[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] fix CRIS-related warnings
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH] fix CRIS-related warnings |
Date: |
Mon, 23 Jun 2008 08:41:06 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
This addresses all warnings CRIS code currently generates for me. Feel
free to adapt it according to your preferences, but please fix them so
that it becomes easier to spot real build regressions.
Signed-off-by: Jan Kiszka <address@hidden>
---
hw/etraxfs_dma.c | 52 +++++++++++++++++++++++++-----------------------
hw/etraxfs_eth.c | 10 +++++----
hw/etraxfs_timer.c | 10 ++++-----
target-cris/mmu.c | 6 +++++
target-cris/translate.c | 9 ++++----
5 files changed, 50 insertions(+), 37 deletions(-)
Index: b/hw/etraxfs_dma.c
===================================================================
--- a/hw/etraxfs_dma.c
+++ b/hw/etraxfs_dma.c
@@ -214,6 +214,7 @@ static inline int fs_channel(target_phys
return (addr - base) >> 13;
}
+#ifdef USE_THIS_DEAD_CODE
static void channel_load_g(struct fs_dma_ctrl *ctrl, int c)
{
target_phys_addr_t addr = channel_reg(ctrl, c, RW_GROUP);
@@ -227,23 +228,24 @@ static void channel_load_g(struct fs_dma
static void dump_c(int ch, struct dma_descr_context *c)
{
printf("%s ch=%d\n", __func__, ch);
- printf("next=%x\n", (uint32_t) c->next);
- printf("saved_data=%x\n", (uint32_t) c->saved_data);
- printf("saved_data_buf=%x\n", (uint32_t) c->saved_data_buf);
+ printf("next=%p\n", c->next);
+ printf("saved_data=%p\n", c->saved_data);
+ printf("saved_data_buf=%p\n", c->saved_data_buf);
printf("eol=%x\n", (uint32_t) c->eol);
}
static void dump_d(int ch, struct dma_descr_data *d)
{
printf("%s ch=%d\n", __func__, ch);
- printf("next=%x\n", (uint32_t) d->next);
- printf("buf=%x\n", (uint32_t) d->buf);
- printf("after=%x\n", (uint32_t) d->after);
+ printf("next=%p\n", d->next);
+ printf("buf=%p\n", d->buf);
+ printf("after=%p\n", d->after);
printf("intr=%x\n", (uint32_t) d->intr);
printf("out_eop=%x\n", (uint32_t) d->out_eop);
printf("in_eop=%x\n", (uint32_t) d->in_eop);
printf("eol=%x\n", (uint32_t) d->eol);
}
+#endif
static void channel_load_c(struct fs_dma_ctrl *ctrl, int c)
{
@@ -256,10 +258,10 @@ static void channel_load_c(struct fs_dma
D(dump_c(c, &ctrl->channels[c].current_c));
/* I guess this should update the current pos. */
- ctrl->channels[c].regs[RW_SAVED_DATA] =
- (uint32_t)ctrl->channels[c].current_c.saved_data;
+ ctrl->channels[c].regs[RW_SAVED_DATA] =
+ (uint32_t)(unsigned long)ctrl->channels[c].current_c.saved_data;
ctrl->channels[c].regs[RW_SAVED_DATA_BUF] =
- (uint32_t)ctrl->channels[c].current_c.saved_data_buf;
+ (uint32_t)(unsigned
long)ctrl->channels[c].current_c.saved_data_buf;
}
static void channel_load_d(struct fs_dma_ctrl *ctrl, int c)
@@ -339,12 +341,12 @@ static void channel_continue(struct fs_d
D(printf("continue %d ok %p\n", c,
ctrl->channels[c].current_d.next));
ctrl->channels[c].regs[RW_SAVED_DATA] =
- (uint32_t) ctrl->channels[c].current_d.next;
+ (uint32_t)(unsigned
long)ctrl->channels[c].current_d.next;
channel_load_d(ctrl, c);
channel_start(ctrl, c);
}
ctrl->channels[c].regs[RW_SAVED_DATA_BUF] =
- (uint32_t) ctrl->channels[c].current_d.buf;
+ (uint32_t)(unsigned long)ctrl->channels[c].current_d.buf;
}
static void channel_stream_cmd(struct fs_dma_ctrl *ctrl, int c, uint32_t v)
@@ -402,7 +404,7 @@ static void channel_out_run(struct fs_dm
(uint32_t)ctrl->channels[c].current_d.after,
saved_data_buf));
- len = (uint32_t) ctrl->channels[c].current_d.after;
+ len = (uint32_t)(unsigned long) ctrl->channels[c].current_d.after;
len -= saved_data_buf;
if (len > sizeof buf)
@@ -420,7 +422,8 @@ static void channel_out_run(struct fs_dm
saved_data_buf += len;
- if (saved_data_buf == (uint32_t)ctrl->channels[c].current_d.after) {
+ if (saved_data_buf ==
+ (uint32_t)(unsigned long)ctrl->channels[c].current_d.after) {
/* Done. Step to next. */
if (ctrl->channels[c].current_d.out_eop) {
/* TODO: signal eop to the client. */
@@ -444,10 +447,10 @@ static void channel_out_run(struct fs_dm
channel_stop(ctrl, c);
} else {
ctrl->channels[c].regs[RW_SAVED_DATA] =
- (uint32_t) ctrl->channels[c].current_d.next;
+ (uint32_t)(unsigned long)
ctrl->channels[c].current_d.next;
/* Load new descriptor. */
channel_load_d(ctrl, c);
- saved_data_buf = (uint32_t)
+ saved_data_buf = (uint32_t)(unsigned long)
ctrl->channels[c].current_d.buf;
}
@@ -468,7 +471,7 @@ static int channel_in_process(struct fs_
return 0;
saved_data_buf = channel_reg(ctrl, c, RW_SAVED_DATA_BUF);
- len = (uint32_t) ctrl->channels[c].current_d.after;
+ len = (uint32_t)(unsigned long) ctrl->channels[c].current_d.after;
len -= saved_data_buf;
if (len > buflen)
@@ -477,7 +480,8 @@ static int channel_in_process(struct fs_
cpu_physical_memory_write (saved_data_buf, buf, len);
saved_data_buf += len;
- if (saved_data_buf == (uint32_t)ctrl->channels[c].current_d.after
+ if (saved_data_buf ==
+ (uint32_t)(unsigned long)ctrl->channels[c].current_d.after
|| eop) {
uint32_t r_intr = ctrl->channels[c].regs[R_INTR];
@@ -485,7 +489,7 @@ static int channel_in_process(struct fs_
ctrl->channels[c].current_d.after
- ctrl->channels[c].current_d.buf));
ctrl->channels[c].current_d.after =
- (void *) saved_data_buf;
+ (void *)(unsigned long) saved_data_buf;
/* Done. Step to next. */
if (ctrl->channels[c].current_d.intr) {
@@ -514,10 +518,10 @@ static int channel_in_process(struct fs_
channel_stop(ctrl, c);
} else {
ctrl->channels[c].regs[RW_SAVED_DATA] =
- (uint32_t) ctrl->channels[c].current_d.next;
+ (uint32_t)(unsigned long)
ctrl->channels[c].current_d.next;
/* Load new descriptor. */
channel_load_d(ctrl, c);
- saved_data_buf = (uint32_t)
+ saved_data_buf = (uint32_t)(unsigned long)
ctrl->channels[c].current_d.buf;
}
}
@@ -537,8 +541,8 @@ static uint32_t dma_rinvalid (void *opaq
{
struct fs_dma_ctrl *ctrl = opaque;
CPUState *env = ctrl->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
return 0;
}
@@ -574,8 +578,8 @@ dma_winvalid (void *opaque, target_phys_
{
struct fs_dma_ctrl *ctrl = opaque;
CPUState *env = ctrl->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
}
static void
Index: b/hw/etraxfs_eth.c
===================================================================
--- a/hw/etraxfs_eth.c
+++ b/hw/etraxfs_eth.c
@@ -154,11 +154,13 @@ mdio_attach(struct qemu_mdio *bus, struc
bus->devs[addr & 0x1f] = phy;
}
+#ifdef USE_THIS_DEAD_CODE
static void
mdio_detach(struct qemu_mdio *bus, struct qemu_phy *phy, unsigned int addr)
{
bus->devs[addr & 0x1f] = NULL;
}
+#endif
static void mdio_read_req(struct qemu_mdio *bus)
{
@@ -328,8 +330,8 @@ static uint32_t eth_rinvalid (void *opaq
{
struct fs_eth *eth = opaque;
CPUState *env = eth->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
return 0;
}
@@ -359,8 +361,8 @@ eth_winvalid (void *opaque, target_phys_
{
struct fs_eth *eth = opaque;
CPUState *env = eth->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
}
static void eth_update_ma(struct fs_eth *eth, int ma)
Index: b/hw/etraxfs_timer.c
===================================================================
--- a/hw/etraxfs_timer.c
+++ b/hw/etraxfs_timer.c
@@ -80,8 +80,8 @@ static uint32_t timer_rinvalid (void *op
{
struct fs_timer_t *t = opaque;
CPUState *env = t->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
return 0;
}
@@ -120,8 +120,8 @@ timer_winvalid (void *opaque, target_phy
{
struct fs_timer_t *t = opaque;
CPUState *env = t->env;
- cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n",
- addr, env->pc);
+ cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+ " pc=%x.\n", addr, env->pc);
}
#define TIMER_SLOWDOWN 1
@@ -309,7 +309,7 @@ timer_writel (void *opaque, target_phys_
t->rw_ack_intr = 0;
break;
default:
- printf ("%s %x %x pc=%x\n",
+ printf ("%s " TARGET_FMT_plx " %x pc=%x\n",
__func__, addr, value, env->pc);
break;
}
Index: b/target-cris/translate.c
===================================================================
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -3071,14 +3071,15 @@ gen_intermediate_code_internal(CPUState
if (loglevel & CPU_LOG_TB_IN_ASM) {
fprintf(logfile,
- "srch=%d pc=%x %x flg=%llx bt=%x ds=%lld ccs=%x\n"
+ "srch=%d pc=%x %x flg=%llx bt=%x ds=%u ccs=%x\n"
"pid=%x usp=%x\n"
"%x.%x.%x.%x\n"
"%x.%x.%x.%x\n"
"%x.%x.%x.%x\n"
"%x.%x.%x.%x\n",
- search_pc, dc->pc, dc->ppc, tb->flags,
- env->btarget, tb->flags & 7,
+ search_pc, dc->pc, dc->ppc,
+ (unsigned long long)tb->flags,
+ env->btarget, (unsigned)tb->flags & 7,
env->pregs[PR_CCS],
env->pregs[PR_PID], env->pregs[PR_USP],
env->regs[0], env->regs[1], env->regs[2], env->regs[3],
@@ -3209,7 +3210,7 @@ gen_intermediate_code_internal(CPUState
fprintf(logfile, "--------------\n");
fprintf(logfile, "IN: %s\n", lookup_symbol(pc_start));
target_disas(logfile, pc_start, dc->pc - pc_start, 0);
- fprintf(logfile, "\nisize=%d osize=%d\n",
+ fprintf(logfile, "\nisize=%d osize=%zd\n",
dc->pc - pc_start, gen_opc_ptr - gen_opc_buf);
}
#endif
Index: b/target-cris/mmu.c
===================================================================
--- a/target-cris/mmu.c
+++ b/target-cris/mmu.c
@@ -30,7 +30,11 @@
#include "mmu.h"
#include "exec-all.h"
+#ifdef DEBUG
+#define D(x) x
+#else
#define D(x)
+#endif
void cris_mmu_init(CPUState *env)
{
@@ -95,6 +99,7 @@ static inline void set_field(uint32_t *d
*dst |= val;
}
+#ifdef DEBUG
static void dump_tlb(CPUState *env, int mmu)
{
int set;
@@ -113,6 +118,7 @@ static void dump_tlb(CPUState *env, int
}
}
}
+#endif
/* rw 0 = read, 1 = write, 2 = exec. */
static int cris_mmu_translate_page(struct cris_mmu_result_t *res,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH] fix CRIS-related warnings,
Jan Kiszka <=