Hi Sourabh,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on linux/master linus/master v5.15-rc3 next-20210922]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Sourabh-Jain/Update-crashkernel-offset-to-allow-kernel-to-boot-on-large-config-LPARs/20211004-233345
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc-buildonly-randconfig-r004-20211004 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # 
https://github.com/0day-ci/linux/commit/563e715d022b3fab0f1791f64c3944aa34d20f04
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Sourabh-Jain/Update-crashkernel-offset-to-allow-kernel-to-boot-on-large-config-LPARs/20211004-233345
        git checkout 563e715d022b3fab0f1791f64c3944aa34d20f04
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross 
ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   arch/powerpc/kernel/prom.c: In function 'early_init_dt_scan_cpus':
>> arch/powerpc/kernel/prom.c:389:17: error: implicit declaration of function 
>> 'hash__early_detect_seg_size' [-Werror=implicit-function-declaration]
     389 |                 hash__early_detect_seg_size();
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/hash__early_detect_seg_size +389 arch/powerpc/kernel/prom.c

   307  
   308  static int __init early_init_dt_scan_cpus(unsigned long node,
   309                                            const char *uname, int depth,
   310                                            void *data)
   311  {
   312          const char *type = of_get_flat_dt_prop(node, "device_type", 
NULL);
   313          const __be32 *prop;
   314          const __be32 *intserv;
   315          int i, nthreads;
   316          int len;
   317          int found = -1;
   318          int found_thread = 0;
   319  
   320          /* We are scanning "cpu" nodes only */
   321          if (type == NULL || strcmp(type, "cpu") != 0)
   322                  return 0;
   323  
   324          /* Get physical cpuid */
   325          intserv = of_get_flat_dt_prop(node, 
"ibm,ppc-interrupt-server#s", &len);
   326          if (!intserv)
   327                  intserv = of_get_flat_dt_prop(node, "reg", &len);
   328  
   329          nthreads = len / sizeof(int);
   330  
   331          /*
   332           * Now see if any of these threads match our boot cpu.
   333           * NOTE: This must match the parsing done in smp_setup_cpu_maps.
   334           */
   335          for (i = 0; i < nthreads; i++) {
   336                  if (be32_to_cpu(intserv[i]) ==
   337                          fdt_boot_cpuid_phys(initial_boot_params)) {
   338                          found = boot_cpu_count;
   339                          found_thread = i;
   340                  }
   341  #ifdef CONFIG_SMP
   342                  /* logical cpu id is always 0 on UP kernels */
   343                  boot_cpu_count++;
   344  #endif
   345          }
   346  
   347          /* Not the boot CPU */
   348          if (found < 0)
   349                  return 0;
   350  
   351          DBG("boot cpu: logical %d physical %d\n", found,
   352              be32_to_cpu(intserv[found_thread]));
   353          boot_cpuid = found;
   354  
   355          /*
   356           * PAPR defines "logical" PVR values for cpus that
   357           * meet various levels of the architecture:
   358           * 0x0f000001   Architecture version 2.04
   359           * 0x0f000002   Architecture version 2.05
   360           * If the cpu-version property in the cpu node contains
   361           * such a value, we call identify_cpu again with the
   362           * logical PVR value in order to use the cpu feature
   363           * bits appropriate for the architecture level.
   364           *
   365           * A POWER6 partition in "POWER6 architected" mode
   366           * uses the 0x0f000002 PVR value; in POWER5+ mode
   367           * it uses 0x0f000001.
   368           *
   369           * If we're using device tree CPU feature discovery then we 
don't
   370           * support the cpu-version property, and it's the 
responsibility of the
   371           * firmware/hypervisor to provide the correct feature set for 
the
   372           * architecture level via the ibm,powerpc-cpu-features binding.
   373           */
   374          if (!dt_cpu_ftrs_in_use()) {
   375                  prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
   376                  if (prop && (be32_to_cpup(prop) & 0xff000000) == 
0x0f000000)
   377                          identify_cpu(0, be32_to_cpup(prop));
   378  
   379                  check_cpu_feature_properties(node);
   380                  check_cpu_pa_features(node);
   381          }
   382  
   383          mmu_cpu_feature_fixup();
   384          identical_pvr_fixup(node);
   385          init_mmu_slb_size(node);
   386  
   387          /* Initialize segment sizes */
   388          if (!early_radix_enabled())
 > 389                  hash__early_detect_seg_size();
   390  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to