From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
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: 11121 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(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 73503 bytes --]
WARNING: multiple messages have this Message-ID (diff)
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:04 UTC|newest]
Thread overview: 110+ 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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` 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 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 13:57 ` Marc Zyngier
2020-06-18 13:57 ` Marc Zyngier
2020-06-18 13:57 ` Marc Zyngier
2020-06-19 9:51 ` David Brazdil
2020-06-19 9:51 ` David Brazdil
2020-06-19 9:51 ` David Brazdil
2020-06-19 10:06 ` Marc Zyngier
2020-06-19 10:06 ` Marc Zyngier
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 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 16:34 ` Marc Zyngier
2020-06-18 16:34 ` Marc Zyngier
2020-06-18 16:34 ` Marc Zyngier
2020-06-19 12:11 ` David Brazdil
2020-06-19 12:11 ` David Brazdil
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 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 16:51 ` Marc Zyngier
2020-06-18 16:51 ` Marc Zyngier
2020-06-18 16:51 ` Marc Zyngier
2020-06-18 17:04 ` kernel test robot [this message]
2020-06-18 17:04 ` kernel test robot
2020-06-18 12:25 ` [PATCH v3 05/15] arm64: kvm: Build hyp-entry.S separately for VHE/nVHE David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 17:17 ` Marc Zyngier
2020-06-18 17:17 ` Marc Zyngier
2020-06-18 17:17 ` Marc Zyngier
2020-06-22 10:20 ` David Brazdil
2020-06-22 10:20 ` David Brazdil
2020-06-25 8:12 ` Marc Zyngier
2020-06-25 8:12 ` Marc Zyngier
2020-06-25 8:12 ` Marc Zyngier
2020-06-25 11:53 ` David Brazdil
2020-06-25 11:53 ` David Brazdil
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 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 12:25 ` [PATCH v3 07/15] arm64: kvm: Split hyp/tlb.c to VHE/nVHE David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-19 8:28 ` Marc Zyngier
2020-06-19 8:28 ` Marc Zyngier
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 12:25 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 19:52 ` kernel test robot
2020-06-18 19:52 ` kernel test robot
2020-06-18 19:52 ` kernel test robot
2020-06-18 19:52 ` kernel test robot
2020-06-25 5:03 ` kernel test robot
2020-06-25 5:03 ` kernel test robot
2020-06-25 5:03 ` kernel test robot
2020-06-25 5:03 ` kernel test robot
2020-06-25 8:16 ` Marc Zyngier
2020-06-25 8:16 ` Marc Zyngier
2020-06-25 8:16 ` Marc Zyngier
2020-06-25 8:16 ` Marc Zyngier
2020-06-25 8:34 ` Will Deacon
2020-06-25 8:34 ` Will Deacon
2020-06-25 8:34 ` Will Deacon
2020-06-25 8:34 ` Will Deacon
2020-06-25 18:26 ` Nick Desaulniers
2020-06-25 18:26 ` Nick Desaulniers
2020-06-25 18:26 ` Nick Desaulniers
2020-06-25 18:26 ` Nick Desaulniers
2020-06-25 16:37 ` Luc Van Oostenryck
2020-06-25 16:37 ` Luc Van Oostenryck
2020-06-25 16:37 ` Luc Van Oostenryck
2020-06-25 16:37 ` Luc Van Oostenryck
2020-06-25 17:55 ` Ard Biesheuvel
2020-06-25 17:55 ` Ard Biesheuvel
2020-06-25 17:55 ` Ard Biesheuvel
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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` 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 ` David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 12:25 ` [PATCH v3 15/15] arm64: kvm: Lift instrumentation restrictions on VHE David Brazdil
2020-06-18 12:25 ` David Brazdil
2020-06-18 12:25 ` 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=kbuild-all@lists.01.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 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.