[PATCH 01/19] xmon: Use __printf markup to silence compiler

kbuild test robot lkp at intel.com
Sun Mar 18 11:27:00 AEDT 2018


Hi Mathieu,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Mathieu-Malaterre/Start-using-__printf-attribute-single-commit-series/20180318-035038
config: powerpc-currituck_defconfig (attached as .config)
compiler: powerpc-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   arch/powerpc/xmon/xmon.c: In function 'xmon_core':
>> arch/powerpc/xmon/xmon.c:523:47: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'int' [-Werror=format=]
       printf("cpu 0x%x stopped at breakpoint 0x%lx (",
                                                ~~^
                                                %x
   arch/powerpc/xmon/xmon.c: In function 'cpu_cmd':
   arch/powerpc/xmon/xmon.c:1168:18: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
      printf("cpu 0x%x isn't in xmon\n", cpu);
                    ~^
                    %lx
   arch/powerpc/xmon/xmon.c:1182:19: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
       printf("cpu 0x%x didn't take control\n", cpu);
                     ~^
                     %lx
   arch/powerpc/xmon/xmon.c: In function 'bpt_cmds':
   arch/powerpc/xmon/xmon.c:1365:32: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Werror=format=]
      printf("Cleared breakpoint %lx (", BP_NUM(bp));
                                 ~~^
                                 %x
   arch/powerpc/xmon/xmon.c: In function 'excprint':
   arch/powerpc/xmon/xmon.c:1607:31: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'struct pt_regs *' [-Werror=format=]
     printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), fp);
                                ~~^
   arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
     printf("    lr: ", fp->link);
            ^~~~~~~~~~
   arch/powerpc/xmon/xmon.c:1623:26: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'struct task_struct *' [-Werror=format=]
     printf("  current = 0x%lx\n", current);
                           ~~^
   arch/powerpc/xmon/xmon.c:1629:25: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'pid_t {aka int}' [-Werror=format=]
      printf("    pid   = %ld, comm = %s\n",
                          ~~^
                          %d
             current->pid, current->comm);
             ~~~~~~~~~~~~    
   arch/powerpc/xmon/xmon.c: In function 'prregs':
   arch/powerpc/xmon/xmon.c:1674:22: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
      printf("R%.2d = %.8x%s", n, fp->gpr[n],
                      ~~~^        ~~~~~~~~~~
                      %.8lx
   arch/powerpc/xmon/xmon.c: In function 'dump_by_size':
   arch/powerpc/xmon/xmon.c:2567:16: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
       printf("%0*lx", size * 2, val);
               ~~~~^
               %0*llx
   arch/powerpc/xmon/xmon.c: In function 'generic_inst_dump':
   arch/powerpc/xmon/xmon.c:197:14: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
    #define REG  "%.8lx"
                 ^
   arch/powerpc/xmon/xmon.c:2731:11: note: in expansion of macro 'REG'
       printf(REG"  %.8x", adr, inst);
              ^~~
   arch/powerpc/xmon/xmon.c:2731:20: note: format string is defined here
       printf(REG"  %.8x", adr, inst);
                    ~~~^
                    %.8lx
   arch/powerpc/xmon/xmon.c: In function 'memdiffs':
   arch/powerpc/xmon/xmon.c:2863:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'unsigned char *' [-Werror=format=]
        printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
                ~~~~^                       ~~~~~~
                %.16hhn
   arch/powerpc/xmon/xmon.c:2863:30: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'unsigned char *' [-Werror=format=]
        printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
                             ~~~~^
                             %.16hhn
         p1[-1], p2 - 1, p2[-1]);
                 ~~~~~~           
   arch/powerpc/xmon/xmon.c: In function 'memzcan':
   arch/powerpc/xmon/xmon.c:2923:15: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
       printf("%.8x\n", a - mskip);
               ~~~^     ~~~~~~~~~
               %.8lx
   arch/powerpc/xmon/xmon.c:2929:14: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
      printf("%.8x\n", a - mskip);
              ~~~^     ~~~~~~~~~
              %.8lx
   arch/powerpc/xmon/xmon.c: In function 'dump_tlb_44x':
   arch/powerpc/xmon/xmon.c:3445:21: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
      printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
                     ~~~^
                     %08lx
   arch/powerpc/xmon/xmon.c:3445:26: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
      printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
                          ~~~^
                          %08lx
   arch/powerpc/xmon/xmon.c:3445:31: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
      printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
                               ~~~^
                               %08lx
   arch/powerpc/xmon/xmon.c:3447:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
       printf("V %08x -> %01x%08x %c%c%c%c%c",
                 ~~~^
                 %08lx
   arch/powerpc/xmon/xmon.c:3447:25: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
       printf("V %08x -> %01x%08x %c%c%c%c%c",
                         ~~~^
                         %01lx
   arch/powerpc/xmon/xmon.c:3447:29: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
       printf("V %08x -> %01x%08x %c%c%c%c%c",
                             ~~~^
                             %08lx
   cc1: all warnings being treated as errors

vim +523 arch/powerpc/xmon/xmon.c

^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  466  
f13659e0 arch/powerpc/xmon/xmon.c Anton Blanchard  2007-03-21  467  	local_irq_save(flags);
a71d64b4 arch/powerpc/xmon/xmon.c Anton Blanchard  2014-08-05  468  	hard_irq_disable();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  469  
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao     2017-08-02  470  	tracing_enabled = tracing_is_on();
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao     2017-08-02  471  	tracing_off();
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao     2017-08-02  472  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  473  	bp = in_breakpoint_table(regs->nip, &offset);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  474  	if (bp != NULL) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  475  		regs->nip = bp->address + offset;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  476  		atomic_dec(&bp->ref_count);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  477  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  478  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  479  	remove_cpu_bpts();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  480  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  481  #ifdef CONFIG_SMP
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  482  	cpu = smp_processor_id();
104699c0 arch/powerpc/xmon/xmon.c KOSAKI Motohiro  2011-04-28  483  	if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  484  		/*
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  485  		 * We catch SPR read/write faults here because the 0x700, 0xf60
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  486  		 * etc. handlers don't call debugger_fault_handler().
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  487  		 */
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  488  		if (catch_spr_faults)
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras   2016-04-13  489  			longjmp(bus_error_jmp, 1);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  490  		get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  491  		excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  492  		printf("cpu 0x%x: Exception %lx %s in xmon, "
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  493  		       "returning to main loop\n",
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  494  		       cpu, regs->trap, getvecname(TRAP(regs)));
5cb4cc0d arch/ppc64/xmon/xmon.c   Haren Myneni     2005-08-03  495  		release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  496  		longjmp(xmon_fault_jmp[cpu], 1);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  497  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  498  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  499  	if (setjmp(recurse_jmp) != 0) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  500  		if (!in_xmon || !xmon_gate) {
5cb4cc0d arch/ppc64/xmon/xmon.c   Haren Myneni     2005-08-03  501  			get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  502  			printf("xmon: WARNING: bad recursive fault "
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  503  			       "on cpu 0x%x\n", cpu);
5cb4cc0d arch/ppc64/xmon/xmon.c   Haren Myneni     2005-08-03  504  			release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  505  			goto waiting;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  506  		}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  507  		secondary = !(xmon_taken && cpu == xmon_owner);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  508  		goto cmdloop;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  509  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  510  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  511  	xmon_fault_jmp[cpu] = recurse_jmp;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  512  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  513  	bp = NULL;
9f0b0793 arch/powerpc/xmon/xmon.c Michael Ellerman 2011-04-07  514  	if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT))
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  515  		bp = at_breakpoint(regs->nip);
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer       2009-09-23  516  	if (bp || unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  517  		fromipi = 0;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  518  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  519  	if (!fromipi) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  520  		get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  521  		excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  522  		if (bp) {
736256e4 arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 @523  			printf("cpu 0x%x stopped at breakpoint 0x%lx (",
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  524  			       cpu, BP_NUM(bp));
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  525  			xmon_print_symbol(regs->nip, " ", ")\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  526  		}
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer       2009-09-23  527  		if (unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  528  			printf("WARNING: exception is not recoverable, "
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  529  			       "can't continue\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  530  		release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  531  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  532  
d2b496e5 arch/powerpc/xmon/xmon.c Michael Ellerman 2013-12-23  533  	cpumask_set_cpu(cpu, &cpus_in_xmon);
d2b496e5 arch/powerpc/xmon/xmon.c Michael Ellerman 2013-12-23  534  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  535   waiting:
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  536  	secondary = 1;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  537  	spin_begin();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  538  	while (secondary && !xmon_gate) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  539  		if (in_xmon == 0) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  540  			if (fromipi) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  541  				spin_end();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  542  				goto leave;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  543  			}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  544  			secondary = test_and_set_bit(0, &in_xmon);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  545  		}
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  546  		spin_cpu_relax();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  547  		touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  548  	}
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  549  	spin_end();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  550  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  551  	if (!secondary && !xmon_gate) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  552  		/* we are the first cpu to come in */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  553  		/* interrupt other cpu(s) */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  554  		int ncpus = num_online_cpus();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  555  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  556  		xmon_owner = cpu;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  557  		mb();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  558  		if (ncpus > 1) {
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  559  			/*
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  560  			 * A system reset (trap == 0x100) can be triggered on
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  561  			 * all CPUs, so when we come in via 0x100 try waiting
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  562  			 * for the other CPUs to come in before we send the
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  563  			 * debugger break (IPI). This is similar to
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  564  			 * crash_kexec_secondary().
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  565  			 */
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  566  			if (TRAP(regs) != 0x100 || !wait_for_other_cpus(ncpus))
e0476371 arch/powerpc/xmon/xmon.c Milton Miller    2011-05-10  567  				smp_send_debugger_break();
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  568  
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin  2016-12-20  569  			wait_for_other_cpus(ncpus);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  570  		}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  571  		remove_bpts();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  572  		disable_surveillance();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  573  		/* for breakpoint or single step, print the current instr. */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  574  		if (bp || TRAP(regs) == 0xd00)
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  575  			ppc_inst_dump(regs->nip, 1, 0);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  576  		printf("enter ? for help\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  577  		mb();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  578  		xmon_gate = 1;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  579  		barrier();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  580  		touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  581  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  582  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  583   cmdloop:
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  584  	while (in_xmon) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  585  		if (secondary) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  586  			spin_begin();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  587  			if (cpu == xmon_owner) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  588  				if (!test_and_set_bit(0, &xmon_taken)) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  589  					secondary = 0;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  590  					spin_end();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  591  					continue;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  592  				}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  593  				/* missed it */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  594  				while (cpu == xmon_owner)
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  595  					spin_cpu_relax();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  596  			}
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  597  			spin_cpu_relax();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin  2017-09-29  598  			touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  599  		} else {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  600  			cmd = cmds(regs);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  601  			if (cmd != 0) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  602  				/* exiting xmon */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  603  				insert_bpts();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  604  				xmon_gate = 0;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  605  				wmb();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  606  				in_xmon = 0;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  607  				break;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  608  			}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  609  			/* have switched to some other cpu */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  610  			secondary = 1;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  611  		}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  612  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  613   leave:
104699c0 arch/powerpc/xmon/xmon.c KOSAKI Motohiro  2011-04-28  614  	cpumask_clear_cpu(cpu, &cpus_in_xmon);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  615  	xmon_fault_jmp[cpu] = NULL;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  616  #else
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  617  	/* UP is simple... */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  618  	if (in_xmon) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  619  		printf("Exception %lx %s in xmon, returning to main loop\n",
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  620  		       regs->trap, getvecname(TRAP(regs)));
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  621  		longjmp(xmon_fault_jmp[0], 1);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  622  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  623  	if (setjmp(recurse_jmp) == 0) {
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  624  		xmon_fault_jmp[0] = recurse_jmp;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  625  		in_xmon = 1;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  626  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  627  		excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  628  		bp = at_breakpoint(regs->nip);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  629  		if (bp) {
736256e4 arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26  630  			printf("Stopped at breakpoint %lx (", BP_NUM(bp));
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  631  			xmon_print_symbol(regs->nip, " ", ")\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  632  		}
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer       2009-09-23  633  		if (unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  634  			printf("WARNING: exception is not recoverable, "
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  635  			       "can't continue\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  636  		remove_bpts();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  637  		disable_surveillance();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  638  		/* for breakpoint or single step, print the current instr. */
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  639  		if (bp || TRAP(regs) == 0xd00)
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  640  			ppc_inst_dump(regs->nip, 1, 0);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  641  		printf("enter ? for help\n");
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  642  	}
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  643  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  644  	cmd = cmds(regs);
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  645  
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  646  	insert_bpts();
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  647  	in_xmon = 0;
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  648  #endif
^1da177e arch/ppc64/xmon/xmon.c   Linus Torvalds   2005-04-16  649  

:::::: The code at line 523 was first introduced by commit
:::::: 736256e4f1bc50bb8198c9b61dffd5fd0de17477 powerpc/xmon: Fix up xmon format strings

:::::: TO: Michael Ellerman <mpe at ellerman.id.au>
:::::: CC: Benjamin Herrenschmidt <benh at kernel.crashing.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 15185 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20180318/c20dad0e/attachment-0001.gz>


More information about the Linuxppc-dev mailing list