[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'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: .config.gz
Description: application/gzip

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux