Hi Smita,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/x86/core]
[also build test ERROR on tip/auto-latest efi/next v5.9-rc2 next-20200825]
[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/Smita-Koralahalli/Decode-raw-MSR-values-of-MCA-registers-in-BERT/20200825-224828
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 
ef2ff0f5d6008d325c9a068e20981c0d0acc4d6b
config: x86_64-randconfig-r024-20200826 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

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

All errors (new ones prefixed by >>):

   ld: drivers/firmware/efi/cper-x86.o: in function `cper_print_proc_ia':
>> drivers/firmware/efi/cper-x86.c:350: undefined reference to 
>> `arch_apei_report_x86_error'

# 
https://github.com/0day-ci/linux/commit/40a67e64577bd2fee8aa3218efdbec2122cbe08d
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Smita-Koralahalli/Decode-raw-MSR-values-of-MCA-registers-in-BERT/20200825-224828
git checkout 40a67e64577bd2fee8aa3218efdbec2122cbe08d
vim +350 drivers/firmware/efi/cper-x86.c

   255  
   256  void cper_print_proc_ia(const char *pfx, const struct cper_sec_proc_ia 
*proc)
   257  {
   258          int i;
   259          struct cper_ia_err_info *err_info;
   260          struct cper_ia_proc_ctx *ctx_info;
   261          char newpfx[64], infopfx[64];
   262          u8 err_type;
   263  
   264          if (proc->validation_bits & VALID_LAPIC_ID)
   265                  printk("%sLocal APIC_ID: 0x%llx\n", pfx, 
proc->lapic_id);
   266  
   267          if (proc->validation_bits & VALID_CPUID_INFO) {
   268                  printk("%sCPUID Info:\n", pfx);
   269                  print_hex_dump(pfx, "", DUMP_PREFIX_OFFSET, 16, 4, 
proc->cpuid,
   270                                 sizeof(proc->cpuid), 0);
   271          }
   272  
   273          snprintf(newpfx, sizeof(newpfx), "%s ", pfx);
   274  
   275          err_info = (struct cper_ia_err_info *)(proc + 1);
   276          for (i = 0; i < VALID_PROC_ERR_INFO_NUM(proc->validation_bits); 
i++) {
   277                  printk("%sError Information Structure %d:\n", pfx, i);
   278  
   279                  err_type = cper_get_err_type(&err_info->err_type);
   280                  printk("%sError Structure Type: %s\n", newpfx,
   281                         err_type < ARRAY_SIZE(cper_proc_error_type_strs) 
?
   282                         cper_proc_error_type_strs[err_type] : "unknown");
   283  
   284                  if (err_type >= N_ERR_TYPES) {
   285                          printk("%sError Structure Type: %pUl\n", newpfx,
   286                                 &err_info->err_type);
   287                  }
   288  
   289                  if (err_info->validation_bits & INFO_VALID_CHECK_INFO) {
   290                          printk("%sCheck Information: 0x%016llx\n", 
newpfx,
   291                                 err_info->check_info);
   292  
   293                          if (err_type < N_ERR_TYPES) {
   294                                  snprintf(infopfx, sizeof(infopfx), "%s 
",
   295                                           newpfx);
   296  
   297                                  print_err_info(infopfx, err_type,
   298                                                 err_info->check_info);
   299                          }
   300                  }
   301  
   302                  if (err_info->validation_bits & INFO_VALID_TARGET_ID) {
   303                          printk("%sTarget Identifier: 0x%016llx\n",
   304                                 newpfx, err_info->target_id);
   305                  }
   306  
   307                  if (err_info->validation_bits & 
INFO_VALID_REQUESTOR_ID) {
   308                          printk("%sRequestor Identifier: 0x%016llx\n",
   309                                 newpfx, err_info->requestor_id);
   310                  }
   311  
   312                  if (err_info->validation_bits & 
INFO_VALID_RESPONDER_ID) {
   313                          printk("%sResponder Identifier: 0x%016llx\n",
   314                                 newpfx, err_info->responder_id);
   315                  }
   316  
   317                  if (err_info->validation_bits & INFO_VALID_IP) {
   318                          printk("%sInstruction Pointer: 0x%016llx\n",
   319                                 newpfx, err_info->ip);
   320                  }
   321  
   322                  err_info++;
   323          }
   324  
   325          ctx_info = (struct cper_ia_proc_ctx *)err_info;
   326          for (i = 0; i < VALID_PROC_CXT_INFO_NUM(proc->validation_bits); 
i++) {
   327                  int size = sizeof(*ctx_info) + ctx_info->reg_arr_size;
   328                  int groupsize = 4;
   329  
   330                  printk("%sContext Information Structure %d:\n", pfx, i);
   331  
   332                  printk("%sRegister Context Type: %s\n", newpfx,
   333                         ctx_info->reg_ctx_type < 
ARRAY_SIZE(ia_reg_ctx_strs) ?
   334                         ia_reg_ctx_strs[ctx_info->reg_ctx_type] : 
"unknown");
   335  
   336                  printk("%sRegister Array Size: 0x%04x\n", newpfx,
   337                         ctx_info->reg_arr_size);
   338  
   339                  if (ctx_info->reg_ctx_type == CTX_TYPE_MSR) {
   340                          groupsize = 8; /* MSRs are 8 bytes wide. */
   341                          printk("%sMSR Address: 0x%08x\n", newpfx,
   342                                 ctx_info->msr_addr);
   343                  }
   344  
   345                  if (ctx_info->reg_ctx_type == CTX_TYPE_MMREG) {
   346                          printk("%sMM Register Address: 0x%016llx\n", 
newpfx,
   347                                 ctx_info->mm_reg_addr);
   348                  }
   349  
 > 350                  if (arch_apei_report_x86_error(proc, ctx_info)) {

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

Attachment: .config.gz
Description: application/gzip

Reply via email to