powerpc/xmon: Add __printf annotation to xmon_printf()

This allows the compiler to verify the format strings vs the types of
the arguments.

Update the other prototype declarations in asm/xmon.h.

Silence warnings (triggered at W=1) by adding relevant __printf
attribute. Move #define at bottom of the file to prevent conflict with
gcc attribute.

Solves the original warning:

  arch/powerpc/xmon/nonstdio.c:178:2: error: function might be
  possible candidate for ‘gnu_printf’ format attribute

In turn this uncovered many formatting errors in xmon.c, all fixed in
this patch.

Signed-off-by: Mathieu Malaterre <malat@debian.org>
[mpe: Always use px not p, fixup the 44x specific code, tweak change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Mathieu Malaterre 2018-03-25 11:06:47 +02:00 committed by Michael Ellerman
parent 6671683db8
commit e70d8f5526
4 changed files with 75 additions and 75 deletions

View File

@ -29,7 +29,7 @@ static inline void xmon_register_spus(struct list_head *list) { };
extern int cpus_are_in_xmon(void); extern int cpus_are_in_xmon(void);
#endif #endif
extern void xmon_printf(const char *format, ...); extern __printf(1, 2) void xmon_printf(const char *format, ...);
#endif /* __KERNEL __ */ #endif /* __KERNEL __ */
#endif /* __ASM_POWERPC_XMON_H */ #endif /* __ASM_POWERPC_XMON_H */

View File

@ -1,13 +1,13 @@
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#define EOF (-1) #define EOF (-1)
#define printf xmon_printf
#define putchar xmon_putchar
extern void xmon_set_pagination_lpp(unsigned long lpp); extern void xmon_set_pagination_lpp(unsigned long lpp);
extern void xmon_start_pagination(void); extern void xmon_start_pagination(void);
extern void xmon_end_pagination(void); extern void xmon_end_pagination(void);
extern int xmon_putchar(int c); extern int xmon_putchar(int c);
extern void xmon_puts(const char *); extern void xmon_puts(const char *);
extern char *xmon_gets(char *, int); extern char *xmon_gets(char *, int);
extern void xmon_printf(const char *, ...); extern __printf(1, 2) void xmon_printf(const char *fmt, ...);
#define printf xmon_printf
#define putchar xmon_putchar

View File

@ -102,7 +102,7 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)
if (index == 0) if (index == 0)
{ {
printf(".long 0x%x", insn); printf(".long 0x%lx", insn);
} }
else else
{ {
@ -134,27 +134,27 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)
switch (arg) switch (arg)
{ {
case A_T: case A_T:
printf("$%d", printf("$%lu",
DECODE_INSN_RT (insn)); DECODE_INSN_RT (insn));
break; break;
case A_A: case A_A:
printf("$%d", printf("$%lu",
DECODE_INSN_RA (insn)); DECODE_INSN_RA (insn));
break; break;
case A_B: case A_B:
printf("$%d", printf("$%lu",
DECODE_INSN_RB (insn)); DECODE_INSN_RB (insn));
break; break;
case A_C: case A_C:
printf("$%d", printf("$%lu",
DECODE_INSN_RC (insn)); DECODE_INSN_RC (insn));
break; break;
case A_S: case A_S:
printf("$sp%d", printf("$sp%lu",
DECODE_INSN_RA (insn)); DECODE_INSN_RA (insn));
break; break;
case A_H: case A_H:
printf("$ch%d", printf("$ch%lu",
DECODE_INSN_RA (insn)); DECODE_INSN_RA (insn));
break; break;
case A_P: case A_P:
@ -162,11 +162,11 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)
printf("("); printf("(");
break; break;
case A_U7A: case A_U7A:
printf("%d", printf("%lu",
173 - DECODE_INSN_U8 (insn)); 173 - DECODE_INSN_U8 (insn));
break; break;
case A_U7B: case A_U7B:
printf("%d", printf("%lu",
155 - DECODE_INSN_U8 (insn)); 155 - DECODE_INSN_U8 (insn));
break; break;
case A_S3: case A_S3:

View File

@ -515,7 +515,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
get_output_lock(); get_output_lock();
excprint(regs); excprint(regs);
if (bp) { if (bp) {
printf("cpu 0x%x stopped at breakpoint 0x%lx (", printf("cpu 0x%x stopped at breakpoint 0x%tx (",
cpu, BP_NUM(bp)); cpu, BP_NUM(bp));
xmon_print_symbol(regs->nip, " ", ")\n"); xmon_print_symbol(regs->nip, " ", ")\n");
} }
@ -622,7 +622,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
excprint(regs); excprint(regs);
bp = at_breakpoint(regs->nip); bp = at_breakpoint(regs->nip);
if (bp) { if (bp) {
printf("Stopped at breakpoint %lx (", BP_NUM(bp)); printf("Stopped at breakpoint %tx (", BP_NUM(bp));
xmon_print_symbol(regs->nip, " ", ")\n"); xmon_print_symbol(regs->nip, " ", ")\n");
} }
if (unrecoverable_excp(regs)) if (unrecoverable_excp(regs))
@ -1171,7 +1171,7 @@ static int cpu_cmd(void)
} }
/* try to switch to cpu specified */ /* try to switch to cpu specified */
if (!cpumask_test_cpu(cpu, &cpus_in_xmon)) { if (!cpumask_test_cpu(cpu, &cpus_in_xmon)) {
printf("cpu 0x%x isn't in xmon\n", cpu); printf("cpu 0x%lx isn't in xmon\n", cpu);
return 0; return 0;
} }
xmon_taken = 0; xmon_taken = 0;
@ -1185,7 +1185,7 @@ static int cpu_cmd(void)
/* take control back */ /* take control back */
mb(); mb();
xmon_owner = smp_processor_id(); xmon_owner = smp_processor_id();
printf("cpu 0x%x didn't take control\n", cpu); printf("cpu 0x%lx didn't take control\n", cpu);
return 0; return 0;
} }
barrier(); barrier();
@ -1375,7 +1375,7 @@ bpt_cmds(void)
} }
} }
printf("Cleared breakpoint %lx (", BP_NUM(bp)); printf("Cleared breakpoint %tx (", BP_NUM(bp));
xmon_print_symbol(bp->address, " ", ")\n"); xmon_print_symbol(bp->address, " ", ")\n");
bp->enabled = 0; bp->enabled = 0;
break; break;
@ -1402,7 +1402,7 @@ bpt_cmds(void)
for (bp = bpts; bp < &bpts[NBPTS]; ++bp) { for (bp = bpts; bp < &bpts[NBPTS]; ++bp) {
if (!bp->enabled) if (!bp->enabled)
continue; continue;
printf("%2x %s ", BP_NUM(bp), printf("%tx %s ", BP_NUM(bp),
(bp->enabled & BP_CIABR) ? "inst": "trap"); (bp->enabled & BP_CIABR) ? "inst": "trap");
xmon_print_symbol(bp->address, " ", "\n"); xmon_print_symbol(bp->address, " ", "\n");
} }
@ -1619,11 +1619,11 @@ static void excprint(struct pt_regs *fp)
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
trap = TRAP(fp); trap = TRAP(fp);
printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), fp); printf("Vector: %lx %s at [%px]\n", fp->trap, getvecname(trap), fp);
printf(" pc: "); printf(" pc: ");
xmon_print_symbol(fp->nip, ": ", "\n"); xmon_print_symbol(fp->nip, ": ", "\n");
printf(" lr: ", fp->link); printf(" lr: ");
xmon_print_symbol(fp->link, ": ", "\n"); xmon_print_symbol(fp->link, ": ", "\n");
printf(" sp: %lx\n", fp->gpr[1]); printf(" sp: %lx\n", fp->gpr[1]);
@ -1635,13 +1635,13 @@ static void excprint(struct pt_regs *fp)
printf(" dsisr: %lx\n", fp->dsisr); printf(" dsisr: %lx\n", fp->dsisr);
} }
printf(" current = 0x%lx\n", current); printf(" current = 0x%px\n", current);
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
printf(" paca = 0x%lx\t softe: %d\t irq_happened: 0x%02x\n", printf(" paca = 0x%px\t softe: %d\t irq_happened: 0x%02x\n",
local_paca, local_paca->irq_soft_mask, local_paca->irq_happened); local_paca, local_paca->irq_soft_mask, local_paca->irq_happened);
#endif #endif
if (current) { if (current) {
printf(" pid = %ld, comm = %s\n", printf(" pid = %d, comm = %s\n",
current->pid, current->comm); current->pid, current->comm);
} }
@ -1677,16 +1677,16 @@ static void prregs(struct pt_regs *fp)
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
if (FULL_REGS(fp)) { if (FULL_REGS(fp)) {
for (n = 0; n < 16; ++n) for (n = 0; n < 16; ++n)
printf("R%.2ld = "REG" R%.2ld = "REG"\n", printf("R%.2d = "REG" R%.2d = "REG"\n",
n, fp->gpr[n], n+16, fp->gpr[n+16]); n, fp->gpr[n], n+16, fp->gpr[n+16]);
} else { } else {
for (n = 0; n < 7; ++n) for (n = 0; n < 7; ++n)
printf("R%.2ld = "REG" R%.2ld = "REG"\n", printf("R%.2d = "REG" R%.2d = "REG"\n",
n, fp->gpr[n], n+7, fp->gpr[n+7]); n, fp->gpr[n], n+7, fp->gpr[n+7]);
} }
#else #else
for (n = 0; n < 32; ++n) { for (n = 0; n < 32; ++n) {
printf("R%.2d = %.8x%s", n, fp->gpr[n], printf("R%.2d = %.8lx%s", n, fp->gpr[n],
(n & 3) == 3? "\n": " "); (n & 3) == 3? "\n": " ");
if (n == 12 && !FULL_REGS(fp)) { if (n == 12 && !FULL_REGS(fp)) {
printf("\n"); printf("\n");
@ -1790,9 +1790,9 @@ static void dump_206_sprs(void)
/* Actually some of these pre-date 2.06, but whatevs */ /* Actually some of these pre-date 2.06, but whatevs */
printf("srr0 = %.16lx srr1 = %.16lx dsisr = %.8x\n", printf("srr0 = %.16lx srr1 = %.16lx dsisr = %.8lx\n",
mfspr(SPRN_SRR0), mfspr(SPRN_SRR1), mfspr(SPRN_DSISR)); mfspr(SPRN_SRR0), mfspr(SPRN_SRR1), mfspr(SPRN_DSISR));
printf("dscr = %.16lx ppr = %.16lx pir = %.8x\n", printf("dscr = %.16lx ppr = %.16lx pir = %.8lx\n",
mfspr(SPRN_DSCR), mfspr(SPRN_PPR), mfspr(SPRN_PIR)); mfspr(SPRN_DSCR), mfspr(SPRN_PPR), mfspr(SPRN_PIR));
printf("amr = %.16lx uamor = %.16lx\n", printf("amr = %.16lx uamor = %.16lx\n",
mfspr(SPRN_AMR), mfspr(SPRN_UAMOR)); mfspr(SPRN_AMR), mfspr(SPRN_UAMOR));
@ -1800,11 +1800,11 @@ static void dump_206_sprs(void)
if (!(mfmsr() & MSR_HV)) if (!(mfmsr() & MSR_HV))
return; return;
printf("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8x\n", printf("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8lx\n",
mfspr(SPRN_SDR1), mfspr(SPRN_HDAR), mfspr(SPRN_HDSISR)); mfspr(SPRN_SDR1), mfspr(SPRN_HDAR), mfspr(SPRN_HDSISR));
printf("hsrr0 = %.16lx hsrr1 = %.16lx hdec = %.16lx\n", printf("hsrr0 = %.16lx hsrr1 = %.16lx hdec = %.16lx\n",
mfspr(SPRN_HSRR0), mfspr(SPRN_HSRR1), mfspr(SPRN_HDEC)); mfspr(SPRN_HSRR0), mfspr(SPRN_HSRR1), mfspr(SPRN_HDEC));
printf("lpcr = %.16lx pcr = %.16lx lpidr = %.8x\n", printf("lpcr = %.16lx pcr = %.16lx lpidr = %.8lx\n",
mfspr(SPRN_LPCR), mfspr(SPRN_PCR), mfspr(SPRN_LPID)); mfspr(SPRN_LPCR), mfspr(SPRN_PCR), mfspr(SPRN_LPID));
printf("hsprg0 = %.16lx hsprg1 = %.16lx amor = %.16lx\n", printf("hsprg0 = %.16lx hsprg1 = %.16lx amor = %.16lx\n",
mfspr(SPRN_HSPRG0), mfspr(SPRN_HSPRG1), mfspr(SPRN_AMOR)); mfspr(SPRN_HSPRG0), mfspr(SPRN_HSPRG1), mfspr(SPRN_AMOR));
@ -1821,10 +1821,10 @@ static void dump_207_sprs(void)
if (!cpu_has_feature(CPU_FTR_ARCH_207S)) if (!cpu_has_feature(CPU_FTR_ARCH_207S))
return; return;
printf("dpdes = %.16lx tir = %.16lx cir = %.8x\n", printf("dpdes = %.16lx tir = %.16lx cir = %.8lx\n",
mfspr(SPRN_DPDES), mfspr(SPRN_TIR), mfspr(SPRN_CIR)); mfspr(SPRN_DPDES), mfspr(SPRN_TIR), mfspr(SPRN_CIR));
printf("fscr = %.16lx tar = %.16lx pspb = %.8x\n", printf("fscr = %.16lx tar = %.16lx pspb = %.8lx\n",
mfspr(SPRN_FSCR), mfspr(SPRN_TAR), mfspr(SPRN_PSPB)); mfspr(SPRN_FSCR), mfspr(SPRN_TAR), mfspr(SPRN_PSPB));
msr = mfmsr(); msr = mfmsr();
@ -1837,12 +1837,12 @@ static void dump_207_sprs(void)
printf("mmcr0 = %.16lx mmcr1 = %.16lx mmcr2 = %.16lx\n", printf("mmcr0 = %.16lx mmcr1 = %.16lx mmcr2 = %.16lx\n",
mfspr(SPRN_MMCR0), mfspr(SPRN_MMCR1), mfspr(SPRN_MMCR2)); mfspr(SPRN_MMCR0), mfspr(SPRN_MMCR1), mfspr(SPRN_MMCR2));
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n", printf("pmc1 = %.8lx pmc2 = %.8lx pmc3 = %.8lx pmc4 = %.8lx\n",
mfspr(SPRN_PMC1), mfspr(SPRN_PMC2), mfspr(SPRN_PMC1), mfspr(SPRN_PMC2),
mfspr(SPRN_PMC3), mfspr(SPRN_PMC4)); mfspr(SPRN_PMC3), mfspr(SPRN_PMC4));
printf("mmcra = %.16lx siar = %.16lx pmc5 = %.8x\n", printf("mmcra = %.16lx siar = %.16lx pmc5 = %.8lx\n",
mfspr(SPRN_MMCRA), mfspr(SPRN_SIAR), mfspr(SPRN_PMC5)); mfspr(SPRN_MMCRA), mfspr(SPRN_SIAR), mfspr(SPRN_PMC5));
printf("sdar = %.16lx sier = %.16lx pmc6 = %.8x\n", printf("sdar = %.16lx sier = %.16lx pmc6 = %.8lx\n",
mfspr(SPRN_SDAR), mfspr(SPRN_SIER), mfspr(SPRN_PMC6)); mfspr(SPRN_SDAR), mfspr(SPRN_SIER), mfspr(SPRN_PMC6));
printf("ebbhr = %.16lx ebbrr = %.16lx bescr = %.16lx\n", printf("ebbhr = %.16lx ebbrr = %.16lx bescr = %.16lx\n",
mfspr(SPRN_EBBHR), mfspr(SPRN_EBBRR), mfspr(SPRN_BESCR)); mfspr(SPRN_EBBHR), mfspr(SPRN_EBBRR), mfspr(SPRN_BESCR));
@ -2356,9 +2356,9 @@ static void dump_one_paca(int cpu)
DUMP(p, lock_token, "%#-*x"); DUMP(p, lock_token, "%#-*x");
DUMP(p, paca_index, "%#-*x"); DUMP(p, paca_index, "%#-*x");
DUMP(p, kernel_toc, "%#-*lx"); DUMP(p, kernel_toc, "%#-*llx");
DUMP(p, kernelbase, "%#-*lx"); DUMP(p, kernelbase, "%#-*llx");
DUMP(p, kernel_msr, "%#-*lx"); DUMP(p, kernel_msr, "%#-*llx");
DUMP(p, emergency_sp, "%-*px"); DUMP(p, emergency_sp, "%-*px");
#ifdef CONFIG_PPC_BOOK3S_64 #ifdef CONFIG_PPC_BOOK3S_64
DUMP(p, nmi_emergency_sp, "%-*px"); DUMP(p, nmi_emergency_sp, "%-*px");
@ -2367,7 +2367,7 @@ static void dump_one_paca(int cpu)
DUMP(p, in_mce, "%#-*x"); DUMP(p, in_mce, "%#-*x");
DUMP(p, hmi_event_available, "%#-*x"); DUMP(p, hmi_event_available, "%#-*x");
#endif #endif
DUMP(p, data_offset, "%#-*lx"); DUMP(p, data_offset, "%#-*llx");
DUMP(p, hw_cpu_id, "%#-*x"); DUMP(p, hw_cpu_id, "%#-*x");
DUMP(p, cpu_start, "%#-*x"); DUMP(p, cpu_start, "%#-*x");
DUMP(p, kexec_state, "%#-*x"); DUMP(p, kexec_state, "%#-*x");
@ -2382,14 +2382,14 @@ static void dump_one_paca(int cpu)
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid); vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
if (esid || vsid) { if (esid || vsid) {
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n", printf(" slb_shadow[%d]: = 0x%016llx 0x%016llx\n",
i, esid, vsid); i, esid, vsid);
} }
} }
DUMP(p, vmalloc_sllp, "%#-*x"); DUMP(p, vmalloc_sllp, "%#-*x");
DUMP(p, slb_cache_ptr, "%#-*x"); DUMP(p, slb_cache_ptr, "%#-*x");
for (i = 0; i < SLB_CACHE_ENTRIES; i++) for (i = 0; i < SLB_CACHE_ENTRIES; i++)
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]); printf(" slb_cache[%d]: = 0x%016x\n", i, p->slb_cache[i]);
DUMP(p, rfi_flush_fallback_area, "%-*px"); DUMP(p, rfi_flush_fallback_area, "%-*px");
#endif #endif
@ -2403,10 +2403,10 @@ static void dump_one_paca(int cpu)
DUMP(p, dbg_kstack, "%-*px"); DUMP(p, dbg_kstack, "%-*px");
#endif #endif
DUMP(p, __current, "%-*px"); DUMP(p, __current, "%-*px");
DUMP(p, kstack, "%#-*lx"); DUMP(p, kstack, "%#-*llx");
printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1)); printf(" kstack_base = 0x%016llx\n", p->kstack & ~(THREAD_SIZE - 1));
DUMP(p, stab_rr, "%#-*lx"); DUMP(p, stab_rr, "%#-*llx");
DUMP(p, saved_r1, "%#-*lx"); DUMP(p, saved_r1, "%#-*llx");
DUMP(p, trap_save, "%#-*x"); DUMP(p, trap_save, "%#-*x");
DUMP(p, irq_soft_mask, "%#-*x"); DUMP(p, irq_soft_mask, "%#-*x");
DUMP(p, irq_happened, "%#-*x"); DUMP(p, irq_happened, "%#-*x");
@ -2426,14 +2426,14 @@ static void dump_one_paca(int cpu)
DUMP(p, subcore_sibling_mask, "%#-*x"); DUMP(p, subcore_sibling_mask, "%#-*x");
#endif #endif
DUMP(p, accounting.utime, "%#-*llx"); DUMP(p, accounting.utime, "%#-*lx");
DUMP(p, accounting.stime, "%#-*llx"); DUMP(p, accounting.stime, "%#-*lx");
DUMP(p, accounting.utime_scaled, "%#-*llx"); DUMP(p, accounting.utime_scaled, "%#-*lx");
DUMP(p, accounting.starttime, "%#-*llx"); DUMP(p, accounting.starttime, "%#-*lx");
DUMP(p, accounting.starttime_user, "%#-*llx"); DUMP(p, accounting.starttime_user, "%#-*lx");
DUMP(p, accounting.startspurr, "%#-*llx"); DUMP(p, accounting.startspurr, "%#-*lx");
DUMP(p, accounting.utime_sspurr, "%#-*llx"); DUMP(p, accounting.utime_sspurr, "%#-*lx");
DUMP(p, accounting.steal_time, "%#-*llx"); DUMP(p, accounting.steal_time, "%#-*lx");
#undef DUMP #undef DUMP
catch_memory_errors = 0; catch_memory_errors = 0;
@ -2579,7 +2579,7 @@ static void dump_by_size(unsigned long addr, long count, int size)
default: val = 0; default: val = 0;
} }
printf("%0*lx", size * 2, val); printf("%0*llx", size * 2, val);
} }
printf("\n"); printf("\n");
} }
@ -2743,7 +2743,7 @@ generic_inst_dump(unsigned long adr, long count, int praddr,
dotted = 0; dotted = 0;
last_inst = inst; last_inst = inst;
if (praddr) if (praddr)
printf(REG" %.8x", adr, inst); printf(REG" %.8lx", adr, inst);
printf("\t"); printf("\t");
dump_func(inst, adr); dump_func(inst, adr);
printf("\n"); printf("\n");
@ -2875,7 +2875,7 @@ memdiffs(unsigned char *p1, unsigned char *p2, unsigned nb, unsigned maxpr)
for( n = nb; n > 0; --n ) for( n = nb; n > 0; --n )
if( *p1++ != *p2++ ) if( *p1++ != *p2++ )
if( ++prt <= maxpr ) if( ++prt <= maxpr )
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1, printf("%px %.2x # %px %.2x\n", p1 - 1,
p1[-1], p2 - 1, p2[-1]); p1[-1], p2 - 1, p2[-1]);
if( prt > maxpr ) if( prt > maxpr )
printf("Total of %d differences\n", prt); printf("Total of %d differences\n", prt);
@ -2935,13 +2935,13 @@ memzcan(void)
if (ok && !ook) { if (ok && !ook) {
printf("%.8x .. ", a); printf("%.8x .. ", a);
} else if (!ok && ook) } else if (!ok && ook)
printf("%.8x\n", a - mskip); printf("%.8lx\n", a - mskip);
ook = ok; ook = ok;
if (a + mskip < a) if (a + mskip < a)
break; break;
} }
if (ook) if (ook)
printf("%.8x\n", a - mskip); printf("%.8lx\n", a - mskip);
} }
static void show_task(struct task_struct *tsk) static void show_task(struct task_struct *tsk)
@ -3025,13 +3025,13 @@ static void show_pte(unsigned long addr)
return; return;
} }
printf("pgd @ 0x%016lx\n", pgdir); printf("pgd @ 0x%px\n", pgdir);
if (pgd_huge(*pgdp)) { if (pgd_huge(*pgdp)) {
format_pte(pgdp, pgd_val(*pgdp)); format_pte(pgdp, pgd_val(*pgdp));
return; return;
} }
printf("pgdp @ 0x%016lx = 0x%016lx\n", pgdp, pgd_val(*pgdp)); printf("pgdp @ 0x%px = 0x%016lx\n", pgdp, pgd_val(*pgdp));
pudp = pud_offset(pgdp, addr); pudp = pud_offset(pgdp, addr);
@ -3045,7 +3045,7 @@ static void show_pte(unsigned long addr)
return; return;
} }
printf("pudp @ 0x%016lx = 0x%016lx\n", pudp, pud_val(*pudp)); printf("pudp @ 0x%px = 0x%016lx\n", pudp, pud_val(*pudp));
pmdp = pmd_offset(pudp, addr); pmdp = pmd_offset(pudp, addr);
@ -3058,7 +3058,7 @@ static void show_pte(unsigned long addr)
format_pte(pmdp, pmd_val(*pmdp)); format_pte(pmdp, pmd_val(*pmdp));
return; return;
} }
printf("pmdp @ 0x%016lx = 0x%016lx\n", pmdp, pmd_val(*pmdp)); printf("pmdp @ 0x%px = 0x%016lx\n", pmdp, pmd_val(*pmdp));
ptep = pte_offset_map(pmdp, addr); ptep = pte_offset_map(pmdp, addr);
if (pte_none(*ptep)) { if (pte_none(*ptep)) {
@ -3457,9 +3457,9 @@ static void dump_tlb_44x(void)
asm volatile("tlbre %0,%1,0" : "=r" (w0) : "r" (i)); asm volatile("tlbre %0,%1,0" : "=r" (w0) : "r" (i));
asm volatile("tlbre %0,%1,1" : "=r" (w1) : "r" (i)); asm volatile("tlbre %0,%1,1" : "=r" (w1) : "r" (i));
asm volatile("tlbre %0,%1,2" : "=r" (w2) : "r" (i)); asm volatile("tlbre %0,%1,2" : "=r" (w2) : "r" (i));
printf("[%02x] %08x %08x %08x ", i, w0, w1, w2); printf("[%02x] %08lx %08lx %08lx ", i, w0, w1, w2);
if (w0 & PPC44x_TLB_VALID) { if (w0 & PPC44x_TLB_VALID) {
printf("V %08x -> %01x%08x %c%c%c%c%c", printf("V %08lx -> %01lx%08lx %c%c%c%c%c",
w0 & PPC44x_TLB_EPN_MASK, w0 & PPC44x_TLB_EPN_MASK,
w1 & PPC44x_TLB_ERPN_MASK, w1 & PPC44x_TLB_ERPN_MASK,
w1 & PPC44x_TLB_RPN_MASK, w1 & PPC44x_TLB_RPN_MASK,
@ -3883,19 +3883,19 @@ static void dump_spu_fields(struct spu *spu)
DUMP_FIELD(spu, "0x%lx", ls_size); DUMP_FIELD(spu, "0x%lx", ls_size);
DUMP_FIELD(spu, "0x%x", node); DUMP_FIELD(spu, "0x%x", node);
DUMP_FIELD(spu, "0x%lx", flags); DUMP_FIELD(spu, "0x%lx", flags);
DUMP_FIELD(spu, "%d", class_0_pending); DUMP_FIELD(spu, "%llu", class_0_pending);
DUMP_FIELD(spu, "0x%lx", class_0_dar); DUMP_FIELD(spu, "0x%llx", class_0_dar);
DUMP_FIELD(spu, "0x%lx", class_1_dar); DUMP_FIELD(spu, "0x%llx", class_1_dar);
DUMP_FIELD(spu, "0x%lx", class_1_dsisr); DUMP_FIELD(spu, "0x%llx", class_1_dsisr);
DUMP_FIELD(spu, "0x%lx", irqs[0]); DUMP_FIELD(spu, "0x%x", irqs[0]);
DUMP_FIELD(spu, "0x%lx", irqs[1]); DUMP_FIELD(spu, "0x%x", irqs[1]);
DUMP_FIELD(spu, "0x%lx", irqs[2]); DUMP_FIELD(spu, "0x%x", irqs[2]);
DUMP_FIELD(spu, "0x%x", slb_replace); DUMP_FIELD(spu, "0x%x", slb_replace);
DUMP_FIELD(spu, "%d", pid); DUMP_FIELD(spu, "%d", pid);
DUMP_FIELD(spu, "0x%p", mm); DUMP_FIELD(spu, "0x%p", mm);
DUMP_FIELD(spu, "0x%p", ctx); DUMP_FIELD(spu, "0x%p", ctx);
DUMP_FIELD(spu, "0x%p", rq); DUMP_FIELD(spu, "0x%p", rq);
DUMP_FIELD(spu, "0x%p", timestamp); DUMP_FIELD(spu, "0x%llx", timestamp);
DUMP_FIELD(spu, "0x%lx", problem_phys); DUMP_FIELD(spu, "0x%lx", problem_phys);
DUMP_FIELD(spu, "0x%p", problem); DUMP_FIELD(spu, "0x%p", problem);
DUMP_VALUE("0x%x", problem->spu_runcntl_RW, DUMP_VALUE("0x%x", problem->spu_runcntl_RW,
@ -3926,7 +3926,7 @@ static void dump_spu_ls(unsigned long num, int subcmd)
__delay(200); __delay(200);
} else { } else {
catch_memory_errors = 0; catch_memory_errors = 0;
printf("*** Error: accessing spu info for spu %d\n", num); printf("*** Error: accessing spu info for spu %ld\n", num);
return; return;
} }
catch_memory_errors = 0; catch_memory_errors = 0;