From: kernel test robot <lkp@intel.com>
To: David Brazdil <dbrazdil@google.com>,
Marc Zyngier <maz@kernel.org>, Will Deacon <will@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
James Morse <james.morse@arm.com>,
Julien Thierry <julien.thierry.kdev@gmail.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kbuild-all@lists.01.org, android-kvm@google.com,
linux-kernel@vger.kernel.org, Andrew Scull <ascull@google.com>,
David Brazdil <dbrazdil@google.com>
Subject: Re: [PATCH v3 04/15] arm64: kvm: Handle calls to prefixed hyp functions
Date: Fri, 19 Jun 2020 01:04:06 +0800 [thread overview]
Message-ID: <202006190058.ACCMfC2s%lkp@intel.com> (raw)
In-Reply-To: <20200618122537.9625-5-dbrazdil@google.com>
[-- Attachment #1: Type: text/plain, Size: 10927 bytes --]
Hi David,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.8-rc1 next-20200618]
[cannot apply to kvmarm/next arm64/for-next/core arm-perf/for-next/perf]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/David-Brazdil/Split-off-nVHE-hyp-code/20200618-203230
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 1b5044021070efa3259f3e9548dc35d1eb6aa844
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
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
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/linux/kvm_host.h:36,
from arch/arm64/kvm/arm.c:11:
arch/arm64/kvm/arm.c: In function 'kvm_arch_vcpu_ioctl_run':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/arm.c:754:10: note: in expansion of macro 'kvm_call_hyp_ret'
754 | ret = kvm_call_hyp_ret(__kvm_vcpu_run_nvhe, vcpu);
| ^~~~~~~~~~~~~~~~
--
In file included from arch/arm64/include/asm/percpu.h:228,
from arch/arm64/include/asm/smp.h:28,
from include/linux/smp.h:89,
from include/linux/percpu.h:7,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/arm64/kvm/debug.c:9:
arch/arm64/kvm/debug.c: In function 'kvm_arm_init_debug':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:377:11: note: in expansion of macro 'raw_cpu_write_1'
377 | case 1: stem##1(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:378:11: note: in expansion of macro 'raw_cpu_write_2'
378 | case 2: stem##2(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:379:11: note: in expansion of macro 'raw_cpu_write_4'
379 | case 4: stem##4(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
include/asm-generic/percpu.h:72:26: note: in definition of macro 'raw_cpu_generic_to_op'
72 | *raw_cpu_ptr(&(pcp)) op val; | ^~~
include/linux/percpu-defs.h:380:11: note: in expansion of macro 'raw_cpu_write_8'
380 | case 8: stem##8(variable, __VA_ARGS__);break; | ^~~~
include/linux/percpu-defs.h:421:34: note: in expansion of macro '__pcpu_size_call'
421 | #define raw_cpu_write(pcp, val) __pcpu_size_call(raw_cpu_write_, pcp, val)
| ^~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:452:2: note: in expansion of macro 'raw_cpu_write'
452 | raw_cpu_write(pcp, val); | ^~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:2: note: in expansion of macro '__this_cpu_write'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/debug.c:68:29: note: in expansion of macro 'kvm_call_hyp_ret'
68 | __this_cpu_write(mdcr_el2, kvm_call_hyp_ret(__kvm_get_mdcr_el2));
| ^~~~~~~~~~~~~~~~
--
In file included from include/linux/kvm_host.h:36,
from arch/arm64/kvm/vgic/vgic-v3.c:5:
arch/arm64/kvm/vgic/vgic-v3.c: In function 'vgic_v3_probe':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/kvm/vgic/vgic-v3.c:586:20: note: in expansion of macro 'kvm_call_hyp_ret'
586 | u32 ich_vtr_el2 = kvm_call_hyp_ret(__vgic_v3_get_ich_vtr_el2);
| ^~~~~~~~~~~~~~~~
arch/arm64/kvm/vgic/vgic-v3.c: In function 'vgic_v3_vmcr_sync':
>> arch/arm64/include/asm/kvm_host.h:460:26: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
460 | typeof(f(__VA_ARGS__)) ret; | ^~~
>> arch/arm64/include/asm/kvm_host.h:488:10: note: in expansion of macro 'kvm_call_hyp_nvhe_ret'
488 | ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); | ^~~~~~~~~~~~~~~~~~~~~
arch/arm64/kvm/vgic/vgic-v3.c:678:23: note: in expansion of macro 'kvm_call_hyp_ret'
678 | cpu_if->vgic_vmcr = kvm_call_hyp_ret(__vgic_v3_read_vmcr);
| ^~~~~~~~~~~~~~~~
vim +/ret +460 arch/arm64/include/asm/kvm_host.h
450
451 #define kvm_call_hyp_nvhe(f, ...) \
452 do { \
453 DECLARE_KVM_NVHE_SYM(f); \
454 __kvm_call_hyp(kvm_ksym_ref_nvhe(f), ##__VA_ARGS__); \
455 } while(0)
456
457 #define kvm_call_hyp_nvhe_ret(f, ...) \
458 ({ \
459 DECLARE_KVM_NVHE_SYM(f); \
> 460 typeof(f(__VA_ARGS__)) ret; \
461 ret = __kvm_call_hyp(kvm_ksym_ref_nvhe(f), \
462 ##__VA_ARGS__); \
463 })
464
465 /*
466 * The couple of isb() below are there to guarantee the same behaviour
467 * on VHE as on !VHE, where the eret to EL1 acts as a context
468 * synchronization event.
469 */
470 #define kvm_call_hyp(f, ...) \
471 do { \
472 if (has_vhe()) { \
473 f(__VA_ARGS__); \
474 isb(); \
475 } else { \
476 kvm_call_hyp_nvhe(f, ##__VA_ARGS__); \
477 } \
478 } while(0)
479
480 #define kvm_call_hyp_ret(f, ...) \
481 ({ \
482 typeof(f(__VA_ARGS__)) ret; \
483 \
484 if (has_vhe()) { \
485 ret = f(__VA_ARGS__); \
486 isb(); \
487 } else { \
> 488 ret = kvm_call_hyp_nvhe_ret(f, ##__VA_ARGS__); \
489 } \
490 \
491 ret; \
492 })
493
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 73503 bytes --]
next prev parent reply other threads:[~2020-06-18 17:05 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-18 12:25 [PATCH v3 00/15] Split off nVHE hyp code David Brazdil
2020-06-18 12:25 ` [PATCH v3 01/15] arm64: kvm: Fix symbol dependency in __hyp_call_panic_nvhe David Brazdil
2020-06-18 12:25 ` [PATCH v3 02/15] arm64: kvm: Move __smccc_workaround_1_smc to .rodata David Brazdil
2020-06-18 13:57 ` Marc Zyngier
2020-06-19 9:51 ` David Brazdil
2020-06-19 10:06 ` Marc Zyngier
2020-06-18 12:25 ` [PATCH v3 03/15] arm64: kvm: Add build rules for separate nVHE object files David Brazdil
2020-06-18 16:34 ` Marc Zyngier
2020-06-19 12:11 ` David Brazdil
2020-06-18 12:25 ` [PATCH v3 04/15] arm64: kvm: Handle calls to prefixed hyp functions David Brazdil
2020-06-18 16:51 ` Marc Zyngier
2020-06-18 17:04 ` kernel test robot [this message]
2020-06-18 12:25 ` [PATCH v3 05/15] arm64: kvm: Build hyp-entry.S separately for VHE/nVHE David Brazdil
2020-06-18 17:17 ` Marc Zyngier
2020-06-22 10:20 ` David Brazdil
2020-06-25 8:12 ` Marc Zyngier
2020-06-25 11:53 ` David Brazdil
2020-06-18 12:25 ` [PATCH v3 06/15] arm64: kvm: Move hyp-init.S to nVHE David Brazdil
2020-06-18 12:25 ` [PATCH v3 07/15] arm64: kvm: Split hyp/tlb.c to VHE/nVHE David Brazdil
2020-06-19 8:28 ` Marc Zyngier
2020-06-18 12:25 ` [PATCH v3 08/15] arm64: kvm: Split hyp/switch.c " David Brazdil
2020-06-18 19:52 ` kernel test robot
2020-06-25 5:03 ` kernel test robot
2020-06-25 8:16 ` Marc Zyngier
2020-06-25 8:34 ` Will Deacon
2020-06-25 18:26 ` Nick Desaulniers
2020-06-25 16:37 ` Luc Van Oostenryck
2020-06-25 17:55 ` Ard Biesheuvel
2020-06-18 12:25 ` [PATCH v3 09/15] arm64: kvm: Split hyp/debug-sr.c " David Brazdil
2020-06-18 12:25 ` [PATCH v3 10/15] arm64: kvm: Split hyp/sysreg-sr.c " David Brazdil
2020-06-18 12:25 ` [PATCH v3 11/15] arm64: kvm: Split hyp/timer-sr.c " David Brazdil
2020-06-18 12:25 ` [PATCH v3 12/15] arm64: kvm: Compile remaining hyp/ files for both VHE/nVHE David Brazdil
2020-06-18 12:25 ` [PATCH v3 13/15] arm64: kvm: Add comments around __kvm_nvhe_ symbol aliases David Brazdil
2020-06-18 12:25 ` [PATCH v3 14/15] arm64: kvm: Remove __hyp_text macro, use build rules instead David Brazdil
2020-06-18 12:25 ` [PATCH v3 15/15] arm64: kvm: Lift instrumentation restrictions on VHE David Brazdil
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=202006190058.ACCMfC2s%lkp@intel.com \
--to=lkp@intel.com \
--cc=android-kvm@google.com \
--cc=ascull@google.com \
--cc=catalin.marinas@arm.com \
--cc=dbrazdil@google.com \
--cc=james.morse@arm.com \
--cc=julien.thierry.kdev@gmail.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=suzuki.poulose@arm.com \
--cc=will@kernel.org \
/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