From: kbuild test robot <lkp@intel.com>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org, kbuild-all@01.org,
Nicholas Piggin <npiggin@gmail.com>
Subject: Re: [PATCH v2 09/44] powerpc/64s/pseries: machine check convert to use common event code
Date: Thu, 8 Aug 2019 13:50:36 +0800 [thread overview]
Message-ID: <201908081307.B0qGBYJE%lkp@intel.com> (raw)
In-Reply-To: <20190802105709.27696-10-npiggin@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 8467 bytes --]
Hi Nicholas,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[cannot apply to v5.3-rc3 next-20190807]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Nicholas-Piggin/powerpc-64s-exception-cleanup-and-macrofiy/20190802-222211
config: powerpc-allmodconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.4.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=7.4.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
arch/powerpc/platforms/pseries/ras.c: In function 'mce_handle_error':
>> arch/powerpc/platforms/pseries/ras.c:563:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
mce_err.u.ue_error_type = MCE_UE_ERROR_IFETCH;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/ras.c:564:3: note: here
case MC_ERROR_UE_PAGE_TABLE_WALK_IFETCH:
^~~~
arch/powerpc/platforms/pseries/ras.c:565:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
mce_err.u.ue_error_type = MCE_UE_ERROR_PAGE_TABLE_WALK_IFETCH;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/ras.c:566:3: note: here
case MC_ERROR_UE_LOAD_STORE:
^~~~
arch/powerpc/platforms/pseries/ras.c:567:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
mce_err.u.ue_error_type = MCE_UE_ERROR_LOAD_STORE;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/ras.c:568:3: note: here
case MC_ERROR_UE_PAGE_TABLE_WALK_LOAD_STORE:
^~~~
arch/powerpc/platforms/pseries/ras.c:569:28: warning: this statement may fall through [-Wimplicit-fallthrough=]
mce_err.u.ue_error_type = MCE_UE_ERROR_PAGE_TABLE_WALK_LOAD_STORE;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/platforms/pseries/ras.c:570:3: note: here
case MC_ERROR_UE_INDETERMINATE:
^~~~
vim +563 arch/powerpc/platforms/pseries/ras.c
496
497
498 static int mce_handle_error(struct pt_regs *regs, struct rtas_error_log *errp)
499 {
500 struct mce_error_info mce_err = { 0 };
501 unsigned long eaddr = 0, paddr = 0;
502 struct pseries_errorlog *pseries_log;
503 struct pseries_mc_errorlog *mce_log;
504 int disposition = rtas_error_disposition(errp);
505 int initiator = rtas_error_initiator(errp);
506 int severity = rtas_error_severity(errp);
507 u8 error_type, err_sub_type;
508
509 if (initiator == RTAS_INITIATOR_UNKNOWN)
510 mce_err.initiator = MCE_INITIATOR_UNKNOWN;
511 else if (initiator == RTAS_INITIATOR_CPU)
512 mce_err.initiator = MCE_INITIATOR_CPU;
513 else if (initiator == RTAS_INITIATOR_PCI)
514 mce_err.initiator = MCE_INITIATOR_PCI;
515 else if (initiator == RTAS_INITIATOR_ISA)
516 mce_err.initiator = MCE_INITIATOR_ISA;
517 else if (initiator == RTAS_INITIATOR_MEMORY)
518 mce_err.initiator = MCE_INITIATOR_MEMORY;
519 else if (initiator == RTAS_INITIATOR_POWERMGM)
520 mce_err.initiator = MCE_INITIATOR_POWERMGM;
521 else
522 mce_err.initiator = MCE_INITIATOR_UNKNOWN;
523
524 if (severity == RTAS_SEVERITY_NO_ERROR)
525 mce_err.severity = MCE_SEV_NO_ERROR;
526 else if (severity == RTAS_SEVERITY_EVENT)
527 mce_err.severity = MCE_SEV_WARNING;
528 else if (severity == RTAS_SEVERITY_WARNING)
529 mce_err.severity = MCE_SEV_WARNING;
530 else if (severity == RTAS_SEVERITY_ERROR_SYNC)
531 mce_err.severity = MCE_SEV_SEVERE;
532 else if (severity == RTAS_SEVERITY_ERROR)
533 mce_err.severity = MCE_SEV_SEVERE;
534 else if (severity == RTAS_SEVERITY_FATAL)
535 mce_err.severity = MCE_SEV_FATAL;
536 else
537 mce_err.severity = MCE_SEV_FATAL;
538
539 if (severity <= RTAS_SEVERITY_ERROR_SYNC)
540 mce_err.sync_error = true;
541 else
542 mce_err.sync_error = false;
543
544 mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN;
545 mce_err.error_class = MCE_ECLASS_UNKNOWN;
546
547 if (!rtas_error_extended(errp))
548 goto out;
549
550 pseries_log = get_pseries_errorlog(errp, PSERIES_ELOG_SECT_ID_MCE);
551 if (pseries_log == NULL)
552 goto out;
553
554 mce_log = (struct pseries_mc_errorlog *)pseries_log->data;
555 error_type = mce_log->error_type;
556 err_sub_type = rtas_mc_error_sub_type(mce_log);
557
558 switch (mce_log->error_type) {
559 case MC_ERROR_TYPE_UE:
560 mce_err.error_type = MCE_ERROR_TYPE_UE;
561 switch (err_sub_type) {
562 case MC_ERROR_UE_IFETCH:
> 563 mce_err.u.ue_error_type = MCE_UE_ERROR_IFETCH;
564 case MC_ERROR_UE_PAGE_TABLE_WALK_IFETCH:
565 mce_err.u.ue_error_type = MCE_UE_ERROR_PAGE_TABLE_WALK_IFETCH;
566 case MC_ERROR_UE_LOAD_STORE:
567 mce_err.u.ue_error_type = MCE_UE_ERROR_LOAD_STORE;
568 case MC_ERROR_UE_PAGE_TABLE_WALK_LOAD_STORE:
569 mce_err.u.ue_error_type = MCE_UE_ERROR_PAGE_TABLE_WALK_LOAD_STORE;
570 case MC_ERROR_UE_INDETERMINATE:
571 default:
572 mce_err.u.ue_error_type = MCE_UE_ERROR_INDETERMINATE;
573 break;
574 }
575 if (mce_log->sub_err_type & UE_EFFECTIVE_ADDR_PROVIDED)
576 eaddr = be64_to_cpu(mce_log->effective_address);
577
578 if (mce_log->sub_err_type & UE_LOGICAL_ADDR_PROVIDED) {
579 paddr = be64_to_cpu(mce_log->logical_address);
580 } else if (mce_log->sub_err_type & UE_EFFECTIVE_ADDR_PROVIDED) {
581 unsigned long pfn;
582
583 pfn = addr_to_pfn(regs, eaddr);
584 if (pfn != ULONG_MAX)
585 paddr = pfn << PAGE_SHIFT;
586 }
587
588
589 break;
590 case MC_ERROR_TYPE_SLB:
591 mce_err.error_type = MCE_ERROR_TYPE_SLB;
592 switch (err_sub_type) {
593 case MC_ERROR_SLB_PARITY:
594 mce_err.u.slb_error_type = MCE_SLB_ERROR_PARITY;
595 break;
596 case MC_ERROR_SLB_MULTIHIT:
597 mce_err.u.slb_error_type = MCE_SLB_ERROR_MULTIHIT;
598 break;
599 case MC_ERROR_SLB_INDETERMINATE:
600 default:
601 mce_err.u.slb_error_type = MCE_SLB_ERROR_INDETERMINATE;
602 break;
603 }
604 if (mce_log->sub_err_type & 0x80)
605 eaddr = be64_to_cpu(mce_log->effective_address);
606 break;
607 case MC_ERROR_TYPE_ERAT:
608 mce_err.error_type = MCE_ERROR_TYPE_ERAT;
609 switch (err_sub_type) {
610 case MC_ERROR_ERAT_PARITY:
611 mce_err.u.erat_error_type = MCE_ERAT_ERROR_PARITY;
612 break;
613 case MC_ERROR_ERAT_MULTIHIT:
614 mce_err.u.erat_error_type = MCE_ERAT_ERROR_MULTIHIT;
615 break;
616 case MC_ERROR_ERAT_INDETERMINATE:
617 default:
618 mce_err.u.erat_error_type = MCE_ERAT_ERROR_INDETERMINATE;
619 break;
620 }
621 if (mce_log->sub_err_type & 0x80)
622 eaddr = be64_to_cpu(mce_log->effective_address);
623 break;
624 case MC_ERROR_TYPE_TLB:
625 mce_err.error_type = MCE_ERROR_TYPE_TLB;
626 switch (err_sub_type) {
627 case MC_ERROR_TLB_PARITY:
628 mce_err.u.tlb_error_type = MCE_TLB_ERROR_PARITY;
629 break;
630 case MC_ERROR_TLB_MULTIHIT:
631 mce_err.u.tlb_error_type = MCE_TLB_ERROR_MULTIHIT;
632 break;
633 case MC_ERROR_TLB_INDETERMINATE:
634 default:
635 mce_err.u.tlb_error_type = MCE_TLB_ERROR_INDETERMINATE;
636 break;
637 }
638 if (mce_log->sub_err_type & 0x80)
639 eaddr = be64_to_cpu(mce_log->effective_address);
640 break;
641 case MC_ERROR_TYPE_D_CACHE:
642 mce_err.error_type = MCE_ERROR_TYPE_DCACHE;
643 break;
644 case MC_ERROR_TYPE_I_CACHE:
645 mce_err.error_type = MCE_ERROR_TYPE_DCACHE;
646 break;
647 case MC_ERROR_TYPE_UNKNOWN:
648 default:
649 mce_err.error_type = MCE_ERROR_TYPE_UNKNOWN;
650 break;
651 }
652
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 62226 bytes --]
next prev parent reply other threads:[~2019-08-08 5:53 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-02 10:56 [PATCH v2 00/44] powerpc/64s/exception: cleanup and macrofiy, Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 01/44] powerpc/64s/exception: machine check fwnmi remove HV case Nicholas Piggin
2019-09-02 3:29 ` Michael Ellerman
2019-08-02 10:56 ` [PATCH v2 02/44] powerpc/64s/exception: machine check remove bitrotted comment Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 03/44] powerpc/64s/exception: machine check fix KVM guest test Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 04/44] powerpc/64s/exception: machine check adjust RFI target Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 05/44] powerpc/64s/exception: machine check pseries should always run the early handler Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 06/44] powerpc/64s/exception: machine check remove machine_check_pSeries_0 branch Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 07/44] powerpc/64s/exception: machine check use correct cfar for late handler Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 08/44] powerpc/64s/powernv: machine check dump SLB contents Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 09/44] powerpc/64s/pseries: machine check convert to use common event code Nicholas Piggin
2019-08-08 5:01 ` kbuild test robot
2019-08-16 22:25 ` Michael Ellerman
2019-08-19 13:09 ` Nicholas Piggin
2019-08-08 5:50 ` kbuild test robot [this message]
2019-08-02 10:56 ` [PATCH v2 10/44] powerpc/64s/exception: machine check pseries should skip the late handler for kernel MCEs Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 11/44] powerpc/64s/exception: machine check restructure to reuse common macros Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 12/44] powerpc/64s/exception: machine check move tramp code Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 13/44] powerpc/64s/exception: simplify machine check early path Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 14/44] powerpc/64s/exception: machine check move unrecoverable handling out of line Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 15/44] powerpc/64s/exception: untangle early machine check handler branch Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 16/44] powerpc/64s/exception: machine check improve labels and comments Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 17/44] powerpc/64s/exception: Fix DAR load for handle_page_fault error case Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 18/44] powerpc/64s/exception: move head-64.h exception code to exception-64s.S Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 19/44] powerpc/64s/exception: Add EXC_HV_OR_STD, which selects HSRR if HVMODE Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 20/44] powerpc/64s/exception: Fix performance monitor virt handler Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 21/44] powerpc/64s/exception: remove 0xb00 handler Nicholas Piggin
2019-08-21 12:18 ` Michael Ellerman
2019-08-02 10:56 ` [PATCH v2 22/44] powerpc/64s/exception: Replace PROLOG macros and EXC helpers with a gas macro Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 23/44] powerpc/64s/exception: remove EXCEPTION_PROLOG_0/1, rename _2 Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 24/44] powerpc/64s/exception: Add the virt variant of the denorm interrupt handler Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 25/44] powerpc/64s/exception: INT_HANDLER support HDAR/HDSISR and use it in HDSI Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 26/44] powerpc/64s/exception: Add INT_KVM_HANDLER gas macro Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 27/44] powerpc/64s/exception: KVM_HANDLER reorder arguments to match other macros Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 28/44] powerpc/64s/exception: Merge EXCEPTION_PROLOG_COMMON_2/3 Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 29/44] powerpc/64s/exception: Add INT_COMMON gas macro to generate common exception code Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 30/44] powerpc/64s/exception: Expand EXCEPTION_COMMON macro into caller Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 31/44] powerpc/64s/exception: Expand EXCEPTION_PROLOG_COMMON_1 and 2 " Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 32/44] powerpc/64s/exception: INT_COMMON add DAR, DSISR, reconcile options Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 33/44] powerpc/64s/exception: move interrupt entry code above the common handler Nicholas Piggin
2019-08-02 10:56 ` [PATCH v2 34/44] powerpc/64s/exception: program check handler do not branch into a macro Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 35/44] powerpc/64s/exception: Remove pointless KVM handler name bifurcation Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 36/44] powerpc/64s/exception: reduce page fault unnecessary loads Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 37/44] powerpc/64s/exception: Introduce INT_DEFINE parameter block for code generation Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 38/44] powerpc/64s/exception: Add GEN_COMMON macro that uses INT_DEFINE parameters Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 39/44] powerpc/64s/exception: Add GEN_KVM " Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 40/44] powerpc/64s/exception: Expand EXC_COMMON and EXC_COMMON_ASYNC macros Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 41/44] powerpc/64s/exception: Move all interrupt handlers to new style code gen macros Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 42/44] powerpc/64s/exception: Remove old INT_ENTRY macro Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 43/44] powerpc/64s/exception: Remove old INT_COMMON macro Nicholas Piggin
2019-08-02 10:57 ` [PATCH v2 44/44] powerpc/64s/exception: Remove old INT_KVM_HANDLER Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201908081307.B0qGBYJE%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@01.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=npiggin@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).