Subject: Re: [PATCH v5 09/21] powerpc: Use a datatype for instructions

From: kbuild test robot <[email-masked]>
Date: Mon, 6 Apr 2020 18:35:47 +0800

Hi Jordan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v5.6]
[cannot apply to powerpc/next kvm-ppc/kvm-ppc-next scottwood/next next-20200406]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Jordan-Niethe/Initial-Prefixed-Instruction-support/20200406-165215
base:    7111951b8d4973bda27ff663f2cf18b663d15b48
config: powerpc-allnoconfig (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.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
        GCC_VERSION=9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <[email-masked]>

All error/warnings (new ones prefixed by >>):

   In file included from arch/powerpc/include/asm/asm-compat.h:6,
                    from arch/powerpc/include/asm/bitops.h:42,
                    from include/linux/bitops.h:29,
                    from include/linux/kernel.h:12,
                    from include/linux/list.h:9,
                    from include/linux/module.h:12,
                    from arch/powerpc/kernel/setup_32.c:6:
   arch/powerpc/kernel/setup_32.c: In function 'machine_init':
>> arch/powerpc/include/asm/ppc-opcode.h:234:24: error: incompatible type for argument 2 of 'patch_instruction_site'
     234 | #define PPC_INST_NOP   0x60000000
         |                        ^~~~~~~~~~
         |                        |
         |                        int
>> arch/powerpc/kernel/setup_32.c:89:49: note: in expansion of macro 'PPC_INST_NOP'
      89 |  patch_instruction_site(&patch__memcpy_nocache, PPC_INST_NOP);
         |                                                 ^~~~~~~~~~~~
   In file included from arch/powerpc/kernel/setup_32.c:42:
   arch/powerpc/include/asm/code-patching.h:39:69: note: expected 'struct ppc_inst' but argument is of type 'int'
      39 | static inline int patch_instruction_site(s32 *site, struct ppc_inst instr)
         |                                                     ~~~~~~~~~~~~~~~~^~~~~
>> arch/powerpc/kernel/setup_32.c:91:48: error: passing argument 1 of 'branch_target' from incompatible pointer type [-Werror=incompatible-pointer-types]
      91 |  create_cond_branch(&insn, addr, branch_target(addr), 0x820000);
         |                                                ^~~~
         |                                                |
         |                                                unsigned int *
   In file included from arch/powerpc/kernel/setup_32.c:42:
   arch/powerpc/include/asm/code-patching.h:63:52: note: expected 'const struct ppc_inst *' but argument is of type 'unsigned int *'
      63 | unsigned long branch_target(const struct ppc_inst *instr);
         |                             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~
   arch/powerpc/kernel/setup_32.c:91:28: error: passing argument 2 of 'create_cond_branch' from incompatible pointer type [-Werror=incompatible-pointer-types]
      91 |  create_cond_branch(&insn, addr, branch_target(addr), 0x820000);
         |                            ^~~~
         |                            |
         |                            unsigned int *
   In file included from arch/powerpc/kernel/setup_32.c:42:
   arch/powerpc/include/asm/code-patching.h:28:71: note: expected 'const struct ppc_inst *' but argument is of type 'unsigned int *'
      28 | int create_cond_branch(struct ppc_inst *instr, const struct ppc_inst *addr,
         |                                                ~~~~~~~~~~~~~~~~~~~~~~~^~~~
>> arch/powerpc/kernel/setup_32.c:92:20: error: passing argument 1 of 'patch_instruction' from incompatible pointer type [-Werror=incompatible-pointer-types]
      92 |  patch_instruction(addr, insn); /* replace b by bne cr0 */
         |                    ^~~~
         |                    |
         |                    unsigned int *
   In file included from arch/powerpc/kernel/setup_32.c:42:
   arch/powerpc/include/asm/code-patching.h:31:40: note: expected 'struct ppc_inst *' but argument is of type 'unsigned int *'
      31 | int patch_instruction(struct ppc_inst *addr, struct ppc_inst instr);
         |                       ~~~~~~~~~~~~~~~~~^~~~
   cc1: all warnings being treated as errors

vim +/patch_instruction_site +234 arch/powerpc/include/asm/ppc-opcode.h

9123c5ed45a583 Hongtao Jia          2013-04-28  193  
16c57b3620d77e Kumar Gala           2009-02-10  194  /* sorted alphabetically */
95213959aefc94 Anshuman Khandual    2013-04-22  195  #define PPC_INST_BHRBE			0x7c00025c
95213959aefc94 Anshuman Khandual    2013-04-22  196  #define PPC_INST_CLRBHRB		0x7c00035c
07d2a628bc0008 Nicholas Piggin      2017-06-09  197  #define PPC_INST_COPY			0x7c20060c
8a649045e75a4b Chris Smart          2016-04-26  198  #define PPC_INST_CP_ABORT		0x7c00068c
e66ca3db5917f4 Matt Brown           2017-08-04  199  #define PPC_INST_DARN			0x7c0005e6
16c57b3620d77e Kumar Gala           2009-02-10  200  #define PPC_INST_DCBA			0x7c0005ec
16c57b3620d77e Kumar Gala           2009-02-10  201  #define PPC_INST_DCBA_MASK		0xfc0007fe
16c57b3620d77e Kumar Gala           2009-02-10  202  #define PPC_INST_DCBAL			0x7c2005ec
16c57b3620d77e Kumar Gala           2009-02-10  203  #define PPC_INST_DCBZL			0x7c2007ec
1afc149def25ac Tony Breeds          2012-10-02  204  #define PPC_INST_ICBT			0x7c00002c
edc424f8cd84bb Dan Streetman        2015-05-07  205  #define PPC_INST_ICSWX			0x7c00032d
edc424f8cd84bb Dan Streetman        2015-05-07  206  #define PPC_INST_ICSWEPX		0x7c00076d
16c57b3620d77e Kumar Gala           2009-02-10  207  #define PPC_INST_ISEL			0x7c00001e
16c57b3620d77e Kumar Gala           2009-02-10  208  #define PPC_INST_ISEL_MASK		0xfc00003e
864b9e6fd76489 Anton Blanchard      2010-02-10  209  #define PPC_INST_LDARX			0x7c0000a8
156d0e290e969c Naveen N. Rao        2016-06-22  210  #define PPC_INST_STDCX			0x7c0001ad
350779a29f11f8 Paul Mackerras       2017-08-30  211  #define PPC_INST_LQARX			0x7c000228
350779a29f11f8 Paul Mackerras       2017-08-30  212  #define PPC_INST_STQCX			0x7c00016d
16c57b3620d77e Kumar Gala           2009-02-10  213  #define PPC_INST_LSWI			0x7c0004aa
16c57b3620d77e Kumar Gala           2009-02-10  214  #define PPC_INST_LSWX			0x7c00042a
d6ccb1f55ddf51 Kumar Gala           2010-03-10  215  #define PPC_INST_LWARX			0x7c000028
156d0e290e969c Naveen N. Rao        2016-06-22  216  #define PPC_INST_STWCX			0x7c00012d
16c57b3620d77e Kumar Gala           2009-02-10  217  #define PPC_INST_LWSYNC			0x7c2004ac
9863c28a2af90a James Yang           2013-07-03  218  #define PPC_INST_SYNC			0x7c0004ac
9863c28a2af90a James Yang           2013-07-03  219  #define PPC_INST_SYNC_MASK		0xfc0007fe
ddc6cd0d70a6f9 Christophe Leroy     2016-05-17  220  #define PPC_INST_ISYNC			0x4c00012c
dfb432cb960bfc Michael Neuling      2009-04-29  221  #define PPC_INST_LXVD2X			0x7c000698
16c57b3620d77e Kumar Gala           2009-02-10  222  #define PPC_INST_MCRXR			0x7c000400
16c57b3620d77e Kumar Gala           2009-02-10  223  #define PPC_INST_MCRXR_MASK		0xfc0007fe
16c57b3620d77e Kumar Gala           2009-02-10  224  #define PPC_INST_MFSPR_PVR		0x7c1f42a6
178f358208ceb8 Anton Blanchard      2017-01-19  225  #define PPC_INST_MFSPR_PVR_MASK		0xfc1ffffe
e16c8765533a15 Andy Fleming         2011-12-08  226  #define PPC_INST_MFTMR			0x7c0002dc
16c57b3620d77e Kumar Gala           2009-02-10  227  #define PPC_INST_MSGSND			0x7c00019c
755563bc79c764 Paul Mackerras       2015-03-19  228  #define PPC_INST_MSGCLR			0x7c0001dc
6b3edefefa6752 Nicholas Piggin      2017-04-13  229  #define PPC_INST_MSGSYNC		0x7c0006ec
42d02b81f265b7 Ian Munsie           2012-11-14  230  #define PPC_INST_MSGSNDP		0x7c00011c
a9af97aa0a12c3 Nicholas Piggin      2017-06-13  231  #define PPC_INST_MSGCLRP		0x7c00015c
4bb3c7a0208fc1 Paul Mackerras       2018-03-21  232  #define PPC_INST_MTMSRD			0x7c000164
e16c8765533a15 Andy Fleming         2011-12-08  233  #define PPC_INST_MTTMR			0x7c0003dc
16c57b3620d77e Kumar Gala           2009-02-10 @234  #define PPC_INST_NOP			0x60000000
07d2a628bc0008 Nicholas Piggin      2017-06-09  235  #define PPC_INST_PASTE			0x7c20070d
16c57b3620d77e Kumar Gala           2009-02-10  236  #define PPC_INST_POPCNTB		0x7c0000f4
16c57b3620d77e Kumar Gala           2009-02-10  237  #define PPC_INST_POPCNTB_MASK		0xfc0007fe
b5f9b6665b70b4 Anton Blanchard      2010-12-07  238  #define PPC_INST_POPCNTD		0x7c0003f4
b5f9b6665b70b4 Anton Blanchard      2010-12-07  239  #define PPC_INST_POPCNTW		0x7c0002f4
4bb3c7a0208fc1 Paul Mackerras       2018-03-21  240  #define PPC_INST_RFEBB			0x4c000124
16c57b3620d77e Kumar Gala           2009-02-10  241  #define PPC_INST_RFCI			0x4c000066
16c57b3620d77e Kumar Gala           2009-02-10  242  #define PPC_INST_RFDI			0x4c00004e
4bb3c7a0208fc1 Paul Mackerras       2018-03-21  243  #define PPC_INST_RFID			0x4c000024
16c57b3620d77e Kumar Gala           2009-02-10  244  #define PPC_INST_RFMCI			0x4c00004c
cd99ddbea250ee Christophe Leroy     2018-01-12  245  #define PPC_INST_MFSPR			0x7c0002a6
efcac6589a277c Alexey Kardashevskiy 2011-03-02  246  #define PPC_INST_MFSPR_DSCR		0x7c1102a6
178f358208ceb8 Anton Blanchard      2017-01-19  247  #define PPC_INST_MFSPR_DSCR_MASK	0xfc1ffffe
efcac6589a277c Alexey Kardashevskiy 2011-03-02  248  #define PPC_INST_MTSPR_DSCR		0x7c1103a6
178f358208ceb8 Anton Blanchard      2017-01-19  249  #define PPC_INST_MTSPR_DSCR_MASK	0xfc1ffffe
73d2fb758e678c Anton Blanchard      2013-05-01  250  #define PPC_INST_MFSPR_DSCR_USER	0x7c0302a6
178f358208ceb8 Anton Blanchard      2017-01-19  251  #define PPC_INST_MFSPR_DSCR_USER_MASK	0xfc1ffffe
73d2fb758e678c Anton Blanchard      2013-05-01  252  #define PPC_INST_MTSPR_DSCR_USER	0x7c0303a6
178f358208ceb8 Anton Blanchard      2017-01-19  253  #define PPC_INST_MTSPR_DSCR_USER_MASK	0xfc1ffffe
6dd7a82cc54ebd Anton Blanchard      2016-07-01  254  #define PPC_INST_MFVSRD			0x7c000066
6dd7a82cc54ebd Anton Blanchard      2016-07-01  255  #define PPC_INST_MTVSRD			0x7c000166
d16952a629129c Christophe Leroy     2018-11-09  256  #define PPC_INST_SC			0x44000002
697d3899dcb4bc Paul Mackerras       2011-12-12  257  #define PPC_INST_SLBFEE			0x7c0007a7
09cf5bcb0c9355 Aneesh Kumar K.V     2016-07-13  258  #define PPC_INST_SLBIA			0x7c0003e4
16c57b3620d77e Kumar Gala           2009-02-10  259  

:::::: The code at line 234 was first introduced by commit
:::::: 16c57b3620d77e0bc981da5ef32beae730512684 powerpc: Unify opcode definitions and support

:::::: TO: Kumar Gala <[email-masked]>
:::::: CC: Benjamin Herrenschmidt <[email-masked]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email-masked]