* [kvmarm:kvm-arm64/nv-wip-v5.0-rc1 68/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:6: error: implicit declaration of function 'nested_virt_in_use'; did you mean 'isa_virt_to_bus'?
@ 2019-01-09 19:20 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-01-09 19:20 UTC (permalink / raw)
To: Marc Zyngier; +Cc: kbuild-all, linux-arm-kernel, kvmarm
[-- Attachment #1: Type: text/plain, Size: 10722 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git kvm-arm64/nv-wip-v5.0-rc1
head: 688c386ca096f2c1f2eee386697586c88df5d5bc
commit: d9adf257e12e66ab30056a8804b70a24ce0dded3 [68/75] fixup! KVM: arm/arm64: nv: Support multiple nested stage 2 mmu structures
config: arm-axm55xx_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.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 d9adf257e12e66ab30056a8804b70a24ce0dded3
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=arm
All errors (new ones prefixed by >>):
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_init_vm':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:8: error: implicit declaration of function 'kvm_init_stage2_mmu'; did you mean 'kvm_free_stage2_pgd'? [-Werror=implicit-function-declaration]
ret = kvm_init_stage2_mmu(kvm, &kvm->arch.mmu);
^~~~~~~~~~~~~~~~~~~
kvm_free_stage2_pgd
arch/arm/kvm/../../../virt/kvm/arm/arm.c:125:43: error: 'struct kvm_arch' has no member named 'mmu'
ret = kvm_init_stage2_mmu(kvm, &kvm->arch.mmu);
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c:129:11: error: 'struct kvm_arch' has no member named 'nested_mmus'
kvm->arch.nested_mmus = NULL;
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c:130:11: error: 'struct kvm_arch' has no member named 'nested_mmus_size'
kvm->arch.nested_mmus_size = 0;
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c:144:32: error: 'struct kvm_arch' has no member named 'mmu'
kvm_free_stage2_pgd(&kvm->arch.mmu);
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_init':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:12: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
vcpu->arch.hw_mmu = &vcpu->kvm->arch.mmu;
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c:343:38: error: 'struct kvm_arch' has no member named 'mmu'
vcpu->arch.hw_mmu = &vcpu->kvm->arch.mmu;
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_load':
>> arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:6: error: implicit declaration of function 'nested_virt_in_use'; did you mean 'isa_virt_to_bus'? [-Werror=implicit-function-declaration]
if (nested_virt_in_use(vcpu))
^~~~~~~~~~~~~~~~~~
isa_virt_to_bus
arch/arm/kvm/../../../virt/kvm/arm/arm.c:353:3: error: implicit declaration of function 'kvm_vcpu_load_hw_mmu'; did you mean 'kvm_vcpu_load_sysregs'? [-Werror=implicit-function-declaration]
kvm_vcpu_load_hw_mmu(vcpu);
^~~~~~~~~~~~~~~~~~~~
kvm_vcpu_load_sysregs
In file included from include/asm-generic/percpu.h:7:0,
from arch/arm/include/asm/percpu.h:50,
from include/linux/percpu.h:13,
from include/linux/context_tracking_state.h:5,
from include/linux/vtime.h:5,
from include/linux/hardirq.h:8,
from include/linux/kvm_host.h:10,
from arch/arm/kvm/../../../virt/kvm/arm/arm.c:23:
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^~~~~~~~~~~~
In file included from include/linux/compiler_types.h:68:0,
from <command-line>:0:
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^
include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE'
__asm__ ("" : "=r"(__ptr) : "0"(ptr)); \
^~~
include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR'
SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
^~~~~~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^
include/linux/compiler-gcc.h:57:34: note: in definition of macro 'RELOC_HIDE'
__asm__ ("" : "=r"(__ptr) : "0"(ptr)); \
^~~
include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR'
SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
^~~~~~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^
include/linux/compiler-gcc.h:58:10: note: in definition of macro 'RELOC_HIDE'
(typeof(ptr)) (__ptr + (off)); \
^~~
include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR'
SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
^~~~~~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:36: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^
include/linux/compiler-gcc.h:58:10: note: in definition of macro 'RELOC_HIDE'
(typeof(ptr)) (__ptr + (off)); \
^~~
include/linux/percpu-defs.h:249:2: note: in expansion of macro 'SHIFT_PERCPU_PTR'
SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
^~~~~~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c:355:13: note: in expansion of macro 'this_cpu_ptr'
last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
^~~~~~~~~~~~
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_put':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:388:3: error: implicit declaration of function 'kvm_vcpu_put_hw_mmu'; did you mean 'kvm_vcpu_dabt_is_cm'? [-Werror=implicit-function-declaration]
kvm_vcpu_put_hw_mmu(vcpu);
^~~~~~~~~~~~~~~~~~~
kvm_vcpu_dabt_is_cm
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'check_vcpu_requests':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:626:25: error: 'KVM_REQ_GUEST_HYP_IRQ_PENDING' undeclared (first use in this function); did you mean 'KVM_REQ_IRQ_PENDING'?
if (kvm_check_request(KVM_REQ_GUEST_HYP_IRQ_PENDING, vcpu))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KVM_REQ_IRQ_PENDING
arch/arm/kvm/../../../virt/kvm/arm/arm.c:626:25: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_arch_vcpu_ioctl_run':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:676:26: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
update_vmid(&vcpu->arch.hw_mmu->vmid);
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c:723:48: error: 'struct kvm_vcpu_arch' has no member named 'hw_mmu'
if (ret <= 0 || need_new_vmid_gen(&vcpu->arch.hw_mmu->vmid) ||
^
arch/arm/kvm/../../../virt/kvm/arm/arm.c: In function 'kvm_vcpu_set_target':
arch/arm/kvm/../../../virt/kvm/arm/arm.c:958:15: error: 'KVM_ARM_VCPU_NESTED_VIRT' undeclared (first use in this function); did you mean 'KVM_ARM_VCPU_TIMER_CTRL'?
if (test_bit(KVM_ARM_VCPU_NESTED_VIRT, vcpu->arch.features)) {
^~~~~~~~~~~~~~~~~~~~~~~~
KVM_ARM_VCPU_TIMER_CTRL
arch/arm/kvm/../../../virt/kvm/arm/arm.c:961:8: error: implicit declaration of function 'cpus_have_const_cap'; did you mean 'cpu_have_feature'? [-Werror=implicit-function-declaration]
if (!cpus_have_const_cap(ARM64_HAS_NESTED_VIRT))
^~~~~~~~~~~~~~~~~~~
vim +352 arch/arm/kvm/../../../virt/kvm/arm/arm.c
331
332 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu)
333 {
334 /* Force users to call KVM_ARM_VCPU_INIT */
335 vcpu->arch.target = -1;
336 bitmap_zero(vcpu->arch.features, KVM_VCPU_MAX_FEATURES);
337
338 /* Set up the timer */
339 kvm_timer_vcpu_init(vcpu);
340
341 kvm_arm_reset_debug_ptr(vcpu);
342
> 343 vcpu->arch.hw_mmu = &vcpu->kvm->arch.mmu;
344
345 return kvm_vgic_vcpu_init(vcpu);
346 }
347
348 void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
349 {
350 int *last_ran;
351
> 352 if (nested_virt_in_use(vcpu))
353 kvm_vcpu_load_hw_mmu(vcpu);
354
355 last_ran = this_cpu_ptr(vcpu->arch.hw_mmu->last_vcpu_ran);
356
357 /*
358 * We might get preempted before the vCPU actually runs, but
359 * over-invalidation doesn't affect correctness.
360 */
361 if (*last_ran != vcpu->vcpu_id) {
362 kvm_call_hyp(__kvm_tlb_flush_local_vmid, vcpu);
363 *last_ran = vcpu->vcpu_id;
364 }
365
366 vcpu->cpu = cpu;
367 vcpu->arch.host_cpu_context = this_cpu_ptr(&kvm_host_cpu_state);
368
369 kvm_arm_set_running_vcpu(vcpu);
370 kvm_timer_vcpu_load(vcpu);
371 kvm_vgic_load(vcpu);
372 kvm_vcpu_load_sysregs(vcpu);
373 kvm_arch_vcpu_load_fp(vcpu);
374
375 if (single_task_running())
376 vcpu_clear_wfe_traps(vcpu);
377 else
378 vcpu_set_wfe_traps(vcpu);
379 }
380
---
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: 20426 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-01-09 19:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-09 19:20 [kvmarm:kvm-arm64/nv-wip-v5.0-rc1 68/75] arch/arm/kvm/../../../virt/kvm/arm/arm.c:352:6: error: implicit declaration of function 'nested_virt_in_use'; did you mean 'isa_virt_to_bus'? kbuild test robot
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).