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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.