All of lore.kernel.org
 help / color / mirror / Atom feed
* [peterz-queue:locking/task_work 2/32] arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared; did you mean '___cnt'?
@ 2020-02-25  1:21 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-02-25  1:21 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8547 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/task_work
head:   2899263c702a7af75558cabcc456675e79e8f62c
commit: c2bf6aaf3b9fa7ef6c871b16f2a8a61bc0f0b955 [2/32] hardirq/nmi: Allow nested nmi_enter()
config: arm64-alldefconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.5.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout c2bf6aaf3b9fa7ef6c871b16f2a8a61bc0f0b955
        # save the attached .config to linux build tree
        GCC_VERSION=7.5.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/hardirq.h:9:0,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:9,
                    from arch/arm64/kernel/irq.c:13:
   arch/arm64/kernel/irq.c: In function 'asm_nmi_enter':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> arch/arm64/kernel/irq.c:85:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> arch/arm64/kernel/irq.c:85:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
--
   In file included from include/linux/hardirq.h:9:0,
                    from arch/arm64/kernel/traps.c:17:
   arch/arm64/kernel/traps.c: In function 'do_serror':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> arch/arm64/kernel/traps.c:909:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> arch/arm64/kernel/traps.c:909:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
--
   In file included from include/linux/hardirq.h:9:0,
                    from include/linux/interrupt.h:11,
                    from drivers/irqchip/irq-gic-v3.c:13:
   drivers/irqchip/irq-gic-v3.c: In function 'gic_handle_nmi':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> drivers/irqchip/irq-gic-v3.c:609:3: note: in expansion of macro 'nmi_enter'
      nmi_enter();
      ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
>> drivers/irqchip/irq-gic-v3.c:609:3: note: in expansion of macro 'nmi_enter'
      nmi_enter();
      ^~~~~~~~~
--
   In file included from include/linux/hardirq.h:9:0,
                    from include/linux/interrupt.h:11,
                    from include/linux/kernel_stat.h:9,
                    from arch/arm64//kernel/irq.c:13:
   arch/arm64//kernel/irq.c: In function 'asm_nmi_enter':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   arch/arm64//kernel/irq.c:85:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   arch/arm64//kernel/irq.c:85:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
--
   In file included from include/linux/hardirq.h:9:0,
                    from arch/arm64//kernel/traps.c:17:
   arch/arm64//kernel/traps.c: In function 'do_serror':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   arch/arm64//kernel/traps.c:909:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   arch/arm64//kernel/traps.c:909:2: note: in expansion of macro 'nmi_enter'
     nmi_enter();
     ^~~~~~~~~
--
   In file included from include/linux/hardirq.h:9:0,
                    from include/linux/interrupt.h:11,
                    from drivers//irqchip/irq-gic-v3.c:13:
   drivers//irqchip/irq-gic-v3.c: In function 'gic_handle_nmi':
>> arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared (first use in this function); did you mean '___cnt'?
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   drivers//irqchip/irq-gic-v3.c:609:3: note: in expansion of macro 'nmi_enter'
      nmi_enter();
      ^~~~~~~~~
   arch/arm64/include/asm/hardirq.h:50:23: note: each undeclared identifier is reported only once for each function it appears in
     if (!(___cnt & 1) && __cnt) {     \
                          ^
>> include/linux/hardirq.h:73:3: note: in expansion of macro 'arch_nmi_enter'
      arch_nmi_enter();    \
      ^~~~~~~~~~~~~~
   drivers//irqchip/irq-gic-v3.c:609:3: note: in expansion of macro 'nmi_enter'
      nmi_enter();
      ^~~~~~~~~

vim +50 arch/arm64/include/asm/hardirq.h

    39	
    40	#define arch_nmi_enter()						\
    41	do {									\
    42		struct nmi_ctx *___ctx;						\
    43		unsigned int ___cnt;						\
    44										\
    45		if (!is_kernel_in_hyp_mode() || in_nmi())			\
    46			break;							\
    47										\
    48		___ctx = this_cpu_ptr(&nmi_contexts);				\
    49		___cnt = ___ctx->cnt;						\
  > 50		if (!(___cnt & 1) && __cnt) {					\
    51			___ctx->cnt += 2;					\
    52			break;							\
    53		}								\
    54										\
    55		___ctx->cnt |= 1;						\
    56		barrier();							\
    57		___ctx->hcr = read_sysreg(hcr_el2);				\
    58		if (!(___ctx->hcr & HCR_TGE)) {				\
    59			write_sysreg(___ctx->hcr | HCR_TGE, hcr_el2);		\
    60			isb();							\
    61		}								\
    62		barrier();							\
    63		if (!(___cnt & 1))						\
    64			___ctx->cnt++;						\
    65	} while (0)
    66	

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 10356 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-02-25  1:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-25  1:21 [peterz-queue:locking/task_work 2/32] arch/arm64/include/asm/hardirq.h:50:23: error: '__cnt' undeclared; did you mean '___cnt'? kbuild test robot

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.