Hi Leonardo, Thank you for the patch! Yet something to improve:
[auto build test ERROR on powerpc/next] [also build test ERROR on v5.7-rc5 next-20200515] [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/Leonardo-Bras/Implement-reentrant-rtas-call/20200516-132358 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc64-randconfig-r006-20200515 (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 COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc64 If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <l...@intel.com> All errors (new ones prefixed by >>, old ones prefixed by <<): arch/powerpc/kernel/rtas.c: In function 'rtas_call_reentrant': >> arch/powerpc/kernel/rtas.c:519:9: error: 'local_paca' undeclared (first use >> in this function); did you mean 'local_inc'? 519 | args = local_paca->reentrant_args; | ^~~~~~~~~~ | local_inc arch/powerpc/kernel/rtas.c:519:9: note: each undeclared identifier is reported only once for each function it appears in vim +519 arch/powerpc/kernel/rtas.c 486 487 /** 488 * rtas_call_reentrant() - Used for reentrant rtas calls 489 * @token: Token for desired reentrant RTAS call 490 * @nargs: Number of Input Parameters 491 * @nret: Number of Output Parameters 492 * @outputs: Array of outputs 493 * @...: Inputs for desired RTAS call 494 * 495 * According to LoPAR documentation, only "ibm,int-on", "ibm,int-off", 496 * "ibm,get-xive" and "ibm,set-xive" are currently reentrant. 497 * Reentrant calls need their own rtas_args buffer, so not using rtas.args, but 498 * PACA one instead. 499 * 500 * Return: -1 on error, 501 * First output value of RTAS call if (nret > 0), 502 * 0 otherwise, 503 */ 504 505 int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...) 506 { 507 va_list list; 508 struct rtas_args *args; 509 unsigned long flags; 510 int i, ret = 0; 511 512 if (!rtas.entry || token == RTAS_UNKNOWN_SERVICE) 513 return -1; 514 515 local_irq_save(flags); 516 preempt_disable(); 517 518 /* We use the per-cpu (PACA) rtas args buffer */ > 519 args = local_paca->reentrant_args; 520 521 va_start(list, outputs); 522 va_rtas_call_unlocked(args, token, nargs, nret, list); 523 va_end(list); 524 525 if (nret > 1 && outputs) 526 for (i = 0; i < nret - 1; ++i) 527 outputs[i] = be32_to_cpu(args->rets[i + 1]); 528 529 if (nret > 0) 530 ret = be32_to_cpu(args->rets[0]); 531 532 local_irq_restore(flags); 533 preempt_enable(); 534 535 return ret; 536 } 537 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip