Fix miscellaneous display warnings for PowerPC & alpha targets
and parallel CFI flash driver. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2661 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
		
							parent
							
								
									ba13c4327e
								
							
						
					
					
						commit
						e96efcfcb1
					
				| @ -91,7 +91,7 @@ static uint32_t pflash_read (pflash_t *pfl, target_ulong offset, int width) | ||||
|     uint32_t ret; | ||||
|     uint8_t *p; | ||||
| 
 | ||||
|     DPRINTF("%s: offset %08x\n", __func__, offset); | ||||
|     DPRINTF("%s: offset " TARGET_FMT_lx "\n", __func__, offset); | ||||
|     ret = -1; | ||||
|     offset -= pfl->base; | ||||
|     boff = offset & 0xFF; | ||||
| @ -161,7 +161,7 @@ static uint32_t pflash_read (pflash_t *pfl, target_ulong offset, int width) | ||||
|         default: | ||||
|             goto flash_read; | ||||
|         } | ||||
|         DPRINTF("%s: ID %d %x\n", __func__, boff, ret); | ||||
|         DPRINTF("%s: ID " TARGET_FMT_ld " %x\n", __func__, boff, ret); | ||||
|         break; | ||||
|     case 0xA0: | ||||
|     case 0x10: | ||||
| @ -214,7 +214,8 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|         offset -= pfl->base; | ||||
|          | ||||
|     cmd = value; | ||||
|     DPRINTF("%s: offset %08x %08x %d\n", __func__, offset, value, width); | ||||
|     DPRINTF("%s: offset " TARGET_FMT_lx " %08x %d\n", __func__, | ||||
|             offset, value, width); | ||||
|     if (pfl->cmd != 0xA0 && cmd == 0xF0) { | ||||
|         DPRINTF("%s: flash reset asked (%02x %02x)\n", | ||||
|                 __func__, pfl->cmd, cmd); | ||||
| @ -239,7 +240,7 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|             return; | ||||
|         } | ||||
|         if (boff != 0x555 || cmd != 0xAA) { | ||||
|             DPRINTF("%s: unlock0 failed %04x %02x %04x\n", | ||||
|             DPRINTF("%s: unlock0 failed " TARGET_FMT_lx " %02x %04x\n", | ||||
|                     __func__, boff, cmd, 0x555); | ||||
|             goto reset_flash; | ||||
|         } | ||||
| @ -249,7 +250,8 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|         /* We started an unlock sequence */ | ||||
|     check_unlock1: | ||||
|         if (boff != 0x2AA || cmd != 0x55) { | ||||
|             DPRINTF("%s: unlock1 failed %04x %02x\n", __func__, boff, cmd); | ||||
|             DPRINTF("%s: unlock1 failed " TARGET_FMT_lx " %02x\n", __func__, | ||||
|                     boff, cmd); | ||||
|             goto reset_flash; | ||||
|         } | ||||
|         DPRINTF("%s: unlock sequence done\n", __func__); | ||||
| @ -257,7 +259,8 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|     case 2: | ||||
|         /* We finished an unlock sequence */ | ||||
|         if (!pfl->bypass && boff != 0x555) { | ||||
|             DPRINTF("%s: command failed %04x %02x\n", __func__, boff, cmd); | ||||
|             DPRINTF("%s: command failed " TARGET_FMT_lx " %02x\n", __func__, | ||||
|                     boff, cmd); | ||||
|             goto reset_flash; | ||||
|         } | ||||
|         switch (cmd) { | ||||
| @ -281,7 +284,7 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|             /* We need another unlock sequence */ | ||||
|             goto check_unlock0; | ||||
|         case 0xA0: | ||||
|             DPRINTF("%s: write data offset %08x %08x %d\n", | ||||
|             DPRINTF("%s: write data offset " TARGET_FMT_lx " %08x %d\n", | ||||
|                     __func__, offset, value, width); | ||||
|             p = pfl->storage; | ||||
|             switch (width) { | ||||
| @ -352,7 +355,7 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|         switch (cmd) { | ||||
|         case 0x10: | ||||
|             if (boff != 0x555) { | ||||
|                 DPRINTF("%s: chip erase: invalid address %04x\n", | ||||
|                 DPRINTF("%s: chip erase: invalid address " TARGET_FMT_lx "\n", | ||||
|                         __func__, offset); | ||||
|                 goto reset_flash; | ||||
|             } | ||||
| @ -369,7 +372,8 @@ static void pflash_write (pflash_t *pfl, target_ulong offset, uint32_t value, | ||||
|             /* Sector erase */ | ||||
|             p = pfl->storage; | ||||
|             offset &= ~(pfl->sector_len - 1); | ||||
|             DPRINTF("%s: start sector erase at %08x\n", __func__, offset); | ||||
|             DPRINTF("%s: start sector erase at " TARGET_FMT_lx "\n", __func__, | ||||
|                     offset); | ||||
|             memset(p + offset, 0xFF, pfl->sector_len); | ||||
|             pflash_update(pfl, offset, pfl->sector_len); | ||||
|             pfl->status = 0x00; | ||||
|  | ||||
							
								
								
									
										15
									
								
								hw/ppc.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								hw/ppc.c
									
									
									
									
									
								
							| @ -464,8 +464,8 @@ static void cpu_4xx_fit_cb (void *opaque) | ||||
|     if ((env->spr[SPR_40x_TCR] >> 23) & 0x1) | ||||
|         ppc_set_irq(env, PPC_INTERRUPT_FIT, 1); | ||||
|     if (loglevel) { | ||||
|         fprintf(logfile, "%s: ir %d TCR %08x TSR %08x\n", __func__, | ||||
|                 (env->spr[SPR_40x_TCR] >> 23) & 0x1, | ||||
|         fprintf(logfile, "%s: ir %d TCR " ADDRX " TSR " ADDRX "\n", __func__, | ||||
|                 (int)((env->spr[SPR_40x_TCR] >> 23) & 0x1), | ||||
|                 env->spr[SPR_40x_TCR], env->spr[SPR_40x_TSR]); | ||||
|     } | ||||
| } | ||||
| @ -495,9 +495,10 @@ static void cpu_4xx_pit_cb (void *opaque) | ||||
|     if ((env->spr[SPR_40x_TCR] >> 26) & 0x1) | ||||
|         ppc_set_irq(env, PPC_INTERRUPT_PIT, 1); | ||||
|     if (loglevel) { | ||||
|         fprintf(logfile, "%s: ar %d ir %d TCR %08x TSR %08x %08lx\n", __func__, | ||||
|                 (env->spr[SPR_40x_TCR] >> 22) & 0x1, | ||||
|                 (env->spr[SPR_40x_TCR] >> 26) & 0x1, | ||||
|         fprintf(logfile, "%s: ar %d ir %d TCR " ADDRX " TSR " ADDRX " " | ||||
|                 "%016" PRIx64 "\n", __func__, | ||||
|                 (int)((env->spr[SPR_40x_TCR] >> 22) & 0x1), | ||||
|                 (int)((env->spr[SPR_40x_TCR] >> 26) & 0x1), | ||||
|                 env->spr[SPR_40x_TCR], env->spr[SPR_40x_TSR], | ||||
|                 ppcemb_timer->pit_reload); | ||||
|     } | ||||
| @ -536,7 +537,7 @@ static void cpu_4xx_wdt_cb (void *opaque) | ||||
|     if (next == now) | ||||
|         next++; | ||||
|     if (loglevel) { | ||||
|         fprintf(logfile, "%s: TCR %08x TSR %08x\n", __func__, | ||||
|         fprintf(logfile, "%s: TCR " ADDRX " TSR " ADDRX "\n", __func__, | ||||
|                 env->spr[SPR_40x_TCR], env->spr[SPR_40x_TSR]); | ||||
|     } | ||||
|     switch ((env->spr[SPR_40x_TSR] >> 30) & 0x3) { | ||||
| @ -587,7 +588,7 @@ void store_40x_pit (CPUState *env, target_ulong val) | ||||
|         qemu_del_timer(tb_env->decr_timer); | ||||
|     } else { | ||||
|         if (loglevel) | ||||
|             fprintf(logfile, "%s: start PIT 0x%08x\n", __func__, val); | ||||
|             fprintf(logfile, "%s: start PIT 0x" ADDRX "\n", __func__, val); | ||||
|         now = qemu_get_clock(vm_clock); | ||||
|         next = now + muldiv64(val, ticks_per_sec, tb_env->tb_freq); | ||||
|          if (next == now) | ||||
|  | ||||
| @ -48,7 +48,7 @@ static int macio_nvram_mem_index = -1; | ||||
| 
 | ||||
| static void dbdma_writeb (void *opaque, target_phys_addr_t addr, uint32_t value) | ||||
| { | ||||
|     printf("%s: 0x%08x <= 0x%08x\n", __func__, addr, value); | ||||
|     printf("%s: 0x" PADDRX " <= 0x%08x\n", __func__, addr, value); | ||||
| } | ||||
| 
 | ||||
| static void dbdma_writew (void *opaque, target_phys_addr_t addr, uint32_t value) | ||||
| @ -61,7 +61,7 @@ static void dbdma_writel (void *opaque, target_phys_addr_t addr, uint32_t value) | ||||
| 
 | ||||
| static uint32_t dbdma_readb (void *opaque, target_phys_addr_t addr) | ||||
| { | ||||
|     printf("%s: 0x%08x => 0x00000000\n", __func__, addr); | ||||
|     printf("%s: 0x" PADDRX " => 0x00000000\n", __func__, addr); | ||||
|     return 0; | ||||
| } | ||||
| 
 | ||||
| @ -261,7 +261,7 @@ static int vga_osi_call(CPUState *env) | ||||
|         /* R6 = x, R7 = y, R8 = visible, R9 = data */ | ||||
|         break; | ||||
|     default: | ||||
|         fprintf(stderr, "unsupported OSI call R5=%08x\n", env->gpr[5]); | ||||
|         fprintf(stderr, "unsupported OSI call R5=" REGX "\n", env->gpr[5]); | ||||
|         break; | ||||
|     } | ||||
|     return 1; /* osi_call handled */ | ||||
|  | ||||
| @ -755,10 +755,10 @@ void cpu_loop(CPUPPCState *env) | ||||
|             info._sifields._sigfault._addr = env->nip - 4; | ||||
|             queue_signal(info.si_signo, &info); | ||||
|         case EXCP_DSI: | ||||
|             fprintf(stderr, "Invalid data memory access: 0x%08x\n", | ||||
|             fprintf(stderr, "Invalid data memory access: 0x" ADDRX "\n", | ||||
|                     env->spr[SPR_DAR]); | ||||
|             if (loglevel) { | ||||
|                 fprintf(logfile, "Invalid data memory access: 0x%08x\n", | ||||
|                 fprintf(logfile, "Invalid data memory access: 0x" ADDRX "\n", | ||||
|                         env->spr[SPR_DAR]); | ||||
|             } | ||||
|             switch (env->error_code & 0xFF000000) { | ||||
| @ -1549,7 +1549,7 @@ void cpu_loop(CPUM68KState *env) | ||||
| #ifdef TARGET_ALPHA | ||||
| void cpu_loop (CPUState *env) | ||||
| { | ||||
|     int trapnr, ret; | ||||
|     int trapnr; | ||||
|     target_siginfo_t info; | ||||
|      | ||||
|     while (1) { | ||||
|  | ||||
| @ -382,6 +382,13 @@ enum { | ||||
|     IR_ZERO = 31, | ||||
| }; | ||||
| 
 | ||||
| CPUAlphaState * cpu_alpha_init (void); | ||||
| int cpu_alpha_exec(CPUAlphaState *s); | ||||
| /* you can call this signal handler from your SIGBUS and SIGSEGV
 | ||||
|    signal handlers to inform the virtual CPU of exceptions. non zero | ||||
|    is returned if the signal was handled by the virtual CPU.  */ | ||||
| int cpu_alpha_signal_handler(int host_signum, void *pinfo,  | ||||
|                              void *puc); | ||||
| int cpu_alpha_mfpr (CPUState *env, int iprn, uint64_t *valp); | ||||
| int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp); | ||||
| void cpu_loop_exit (void); | ||||
|  | ||||
| @ -2004,7 +2004,8 @@ int gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb, | ||||
| #if defined ALPHA_DEBUG_DISAS | ||||
|         insn_count++; | ||||
|         if (logfile != NULL) { | ||||
|             fprintf(logfile, "pc %016lx mem_idx\n", ctx.pc, ctx.mem_idx); | ||||
|             fprintf(logfile, "pc " TARGET_FMT_lx " mem_idx %d\n", | ||||
|                     ctx.pc, ctx.mem_idx); | ||||
|         } | ||||
| #endif | ||||
|         insn = ldl_code(ctx.pc); | ||||
|  | ||||
| @ -35,24 +35,26 @@ typedef uint64_t ppc_gpr_t; | ||||
| #define TARGET_LONG_BITS 64 | ||||
| #define TARGET_GPR_BITS  64 | ||||
| #define REGX "%016" PRIx64 | ||||
| #define ADDRX "%016" PRIx64 | ||||
| #elif defined(TARGET_PPCSPE) | ||||
| /* e500v2 have 36 bits physical address space */ | ||||
| #define TARGET_PHYS_ADDR_BITS 64 | ||||
| /* GPR are 64 bits: used by vector extension */ | ||||
| typedef uint64_t ppc_gpr_t; | ||||
| #define TARGET_LONG_BITS 32 | ||||
| #define TARGET_GPR_BITS  64 | ||||
| #define REGX "%016" PRIx64 | ||||
| #define ADDRX "%08" PRIx32 | ||||
| #else | ||||
| typedef uint32_t ppc_gpr_t; | ||||
| #define TARGET_LONG_BITS 32 | ||||
| #define TARGET_GPR_BITS  32 | ||||
| #define REGX "%08" PRIx32 | ||||
| #define ADDRX "%08" PRIx32 | ||||
| #endif | ||||
| 
 | ||||
| #include "cpu-defs.h" | ||||
| 
 | ||||
| #define ADDRX TARGET_FMT_lx | ||||
| #define PADDRX TARGET_FMT_plx | ||||
| 
 | ||||
| #include <setjmp.h> | ||||
| 
 | ||||
| #include "softfloat.h" | ||||
|  | ||||
| @ -38,7 +38,7 @@ | ||||
| /* PowerPC MMU emulation */ | ||||
| 
 | ||||
| #if defined(CONFIG_USER_ONLY) | ||||
| int cpu_ppc_handle_mmu_fault (CPUState *env, uint32_t address, int rw, | ||||
| int cpu_ppc_handle_mmu_fault (CPUState *env, target_ulong address, int rw, | ||||
|                               int is_user, int is_softmmu) | ||||
| { | ||||
|     int exception, error_code; | ||||
| @ -631,7 +631,7 @@ static int get_segment (CPUState *env, mmu_ctx_t *ctx, | ||||
| } | ||||
| 
 | ||||
| int mmu4xx_get_physical_address (CPUState *env, mmu_ctx_t *ctx, | ||||
|                                  uint32_t address, int rw, int access_type) | ||||
|                                  target_ulong address, int rw, int access_type) | ||||
| { | ||||
|     ppcemb_tlb_t *tlb; | ||||
|     target_phys_addr_t raddr; | ||||
| @ -649,8 +649,8 @@ int mmu4xx_get_physical_address (CPUState *env, mmu_ctx_t *ctx, | ||||
|         } | ||||
|         mask = ~(tlb->size - 1); | ||||
|         if (loglevel) { | ||||
|             fprintf(logfile, "%s: TLB %d address %08x PID %04x <=> " | ||||
|                     "%08x %08x %04x\n", | ||||
|             fprintf(logfile, "%s: TLB %d address " ADDRX " PID " ADDRX " <=> " | ||||
|                     ADDRX " " ADDRX " " ADDRX "\n", | ||||
|                     __func__, i, address, env->spr[SPR_40x_PID], | ||||
|                     tlb->EPN, mask, tlb->PID); | ||||
|         } | ||||
| @ -832,7 +832,7 @@ target_phys_addr_t cpu_get_phys_page_debug (CPUState *env, target_ulong addr) | ||||
| } | ||||
| 
 | ||||
| /* Perform address translation */ | ||||
| int cpu_ppc_handle_mmu_fault (CPUState *env, uint32_t address, int rw, | ||||
| int cpu_ppc_handle_mmu_fault (CPUState *env, target_ulong address, int rw, | ||||
|                               int is_user, int is_softmmu) | ||||
| { | ||||
|     mmu_ctx_t ctx; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 j_mayer
						j_mayer