Hi Jonathan, I love your patch! Yet something to improve: [auto build test ERROR on efi/next] [cannot apply to v5.4-rc7 next-20191112] [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/Jonathan-Cameron/efi-ras-CCIX-Memory-error-reporting/20191113-133322 base: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next config: x86_64-randconfig-a004-201945 (attached as .config) compiler: gcc-7 (Debian 7.4.0-14) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): ld: drivers/ras/ras.o: in function `perf_trace_ccix_memory_error_event': include/trace/../../include/ras/ras_event.h:352: undefined reference to `cper_ccix_mem_err_pack' ld: drivers/ras/ras.o: in function `trace_raw_output_ccix_memory_error_event': include/trace/../../include/ras/ras_event.h:352: undefined reference to `cper_ccix_mem_err_unpack' ld: include/trace/../../include/ras/ras_event.h:352: undefined reference to `cper_ccix_comp_type_str' ld: include/trace/../../include/ras/ras_event.h:352: undefined reference to `cper_severity_str' ld: drivers/ras/ras.o: in function `perf_trace_ccix_cache_error_event': include/trace/../../include/ras/ras_event.h:418: undefined reference to `cper_ccix_cache_err_pack' ld: drivers/ras/ras.o: in function `trace_event_raw_event_ccix_cache_error_event': include/trace/../../include/ras/ras_event.h:418: undefined reference to `cper_ccix_cache_err_pack' ld: drivers/ras/ras.o: in function `trace_raw_output_ccix_cache_error_event': include/trace/../../include/ras/ras_event.h:418: undefined reference to `cper_ccix_cache_err_unpack' ld: include/trace/../../include/ras/ras_event.h:418: undefined reference to `cper_ccix_comp_type_str' ld: include/trace/../../include/ras/ras_event.h:418: undefined reference to `cper_severity_str' ld: drivers/ras/ras.o: in function `perf_trace_ccix_atc_error_event': >> include/trace/../../include/ras/ras_event.h:485: undefined reference to `cper_ccix_atc_err_pack' ld: drivers/ras/ras.o: in function `trace_raw_output_ccix_atc_error_event': >> include/trace/../../include/ras/ras_event.h:485: undefined reference to `cper_ccix_atc_err_unpack' ld: include/trace/../../include/ras/ras_event.h:485: undefined reference to `cper_ccix_comp_type_str' ld: include/trace/../../include/ras/ras_event.h:485: undefined reference to `cper_severity_str' ld: drivers/ras/ras.o: in function `trace_event_raw_event_ccix_atc_error_event': >> include/trace/../../include/ras/ras_event.h:485: undefined reference to `cper_ccix_atc_err_pack' ld: drivers/ras/ras.o: in function `trace_event_raw_event_ccix_memory_error_event': include/trace/../../include/ras/ras_event.h:352: undefined reference to `cper_ccix_mem_err_pack' vim +485 include/trace/../../include/ras/ras_event.h 417 > 418 TRACE_EVENT(ccix_cache_error_event, 419 TP_PROTO(struct cper_ccix_cache_error *err, 420 u32 err_seq, 421 u8 sev, 422 u16 ven_len), 423 424 TP_ARGS(err, err_seq, sev, ven_len), 425 426 TP_STRUCT__entry( 427 __field(u32, err_seq) 428 __field(u8, sev) 429 __field(u8, sevdetail) 430 __field(u8, source) 431 __field(u8, component) 432 __field(u64, pa) 433 __field(u8, pa_mask_lsb) 434 __field_struct(struct cper_ccix_cache_err_compact, data) 435 __field(u16, vendor_data_length) 436 __dynamic_array(u8, vendor_data, ven_len) 437 ), 438 439 TP_fast_assign( 440 __entry->err_seq = err_seq; 441 442 __entry->sev = sev; 443 __entry->sevdetail = FIELD_GET(CCIX_PER_LOG_DW1_SEV_UE_M | 444 CCIX_PER_LOG_DW1_SEV_NO_COMM_M | 445 CCIX_PER_LOG_DW1_SEV_DEGRADED_M | 446 CCIX_PER_LOG_DW1_SEV_DEFFERABLE_M, 447 err->ccix_header[1]); 448 if (err->header.validation_bits & 0x1) 449 __entry->source = err->header.source_id; 450 else 451 __entry->source = ~0; 452 __entry->component = FIELD_GET(CCIX_PER_LOG_DW1_COMP_TYPE_M, 453 err->ccix_header[1]); 454 if (err->ccix_header[1] & CCIX_PER_LOG_DW1_ADDR_VAL_M) { 455 __entry->pa = (u64)err->ccix_header[2] << 32 | 456 (err->ccix_header[3] & 0xfffffffc); 457 __entry->pa_mask_lsb = err->ccix_header[4] & 0xff; 458 } else { 459 __entry->pa = ~0ull; 460 __entry->pa_mask_lsb = ~0; 461 } 462 463 __entry->vendor_data_length = ven_len ? ven_len - 4 : 0; 464 cper_ccix_cache_err_pack(&err->cache_record, &__entry->data, 465 __entry->vendor_data_length, 466 __get_dynamic_array(vendor_data)); 467 ), 468 469 TP_printk("{%d} %s CCIX PER Cache Error in %s SevUE:%d SevNoComm:%d SevDegraded:%d SevDeferred:%d physical addr: %016llx (mask: %x) %s vendor:%s", 470 __entry->err_seq, 471 cper_severity_str(__entry->sev), 472 cper_ccix_comp_type_str(__entry->component), 473 __entry->sevdetail & BIT(0) ? 1 : 0, 474 __entry->sevdetail & BIT(1) ? 1 : 0, 475 __entry->sevdetail & BIT(2) ? 1 : 0, 476 __entry->sevdetail & BIT(3) ? 1 : 0, 477 __entry->pa, 478 __entry->pa_mask_lsb, 479 cper_ccix_cache_err_unpack(p, &__entry->data), 480 __print_hex(__get_dynamic_array(vendor_data), 481 __entry->vendor_data_length) 482 ) 483 ); 484 > 485 TRACE_EVENT(ccix_atc_error_event, 486 TP_PROTO(struct cper_ccix_atc_error *err, 487 u32 err_seq, 488 u8 sev, 489 u16 ven_len), 490 491 TP_ARGS(err, err_seq, sev, ven_len), 492 493 TP_STRUCT__entry( 494 __field(u32, err_seq) 495 __field(u8, sev) 496 __field(u8, sevdetail) 497 __field(u8, source) 498 __field(u8, component) 499 __field(u64, pa) 500 __field(u8, pa_mask_lsb) 501 __field_struct(struct cper_ccix_atc_err_compact, data) 502 __field(u16, vendor_data_length) 503 __dynamic_array(u8, vendor_data, ven_len) 504 ), 505 506 TP_fast_assign( 507 __entry->err_seq = err_seq; 508 509 __entry->sev = sev; 510 __entry->sevdetail = FIELD_GET(CCIX_PER_LOG_DW1_SEV_UE_M | 511 CCIX_PER_LOG_DW1_SEV_NO_COMM_M | 512 CCIX_PER_LOG_DW1_SEV_DEGRADED_M | 513 CCIX_PER_LOG_DW1_SEV_DEFFERABLE_M, 514 err->ccix_header[1]); 515 if (err->header.validation_bits & 0x1) 516 __entry->source = err->header.source_id; 517 else 518 __entry->source = ~0; 519 __entry->component = FIELD_GET(CCIX_PER_LOG_DW1_COMP_TYPE_M, 520 err->ccix_header[1]); 521 if (err->ccix_header[1] & CCIX_PER_LOG_DW1_ADDR_VAL_M) { 522 __entry->pa = (u64)err->ccix_header[2] << 32 | 523 (err->ccix_header[3] & 0xfffffffc); 524 __entry->pa_mask_lsb = err->ccix_header[4] & 0xff; 525 } else { 526 __entry->pa = ~0ull; 527 __entry->pa_mask_lsb = ~0; 528 } 529 530 __entry->vendor_data_length = ven_len ? ven_len - 4 : 0; 531 cper_ccix_atc_err_pack(&err->atc_record, &__entry->data, 532 __entry->vendor_data_length, 533 __get_dynamic_array(vendor_data)); 534 ), 535 536 TP_printk("{%d} %s CCIX PER ATC Error in %s SevUE:%d SevNoComm:%d SevDegraded:%d SevDeferred:%d physical addr: %016llx (mask: %x) %s vendor:%s", 537 __entry->err_seq, 538 cper_severity_str(__entry->sev), 539 cper_ccix_comp_type_str(__entry->component), 540 __entry->sevdetail & BIT(0) ? 1 : 0, 541 __entry->sevdetail & BIT(1) ? 1 : 0, 542 __entry->sevdetail & BIT(2) ? 1 : 0, 543 __entry->sevdetail & BIT(3) ? 1 : 0, 544 __entry->pa, 545 __entry->pa_mask_lsb, 546 cper_ccix_atc_err_unpack(p, &__entry->data), 547 __print_hex(__get_dynamic_array(vendor_data), __entry->vendor_data_length) 548 ) 549 ); 550 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation
Attachment:
.config.gz
Description: application/gzip