arch/powerpc/kvm/book3s_paired_singles.c:663:2: error: implicit declaration of function 'enable_kernel_fp'

From: kernel test robot
Date: Fri Jan 08 2021 - 11:49:39 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f5e6c330254ae691f6d7befe61c786eb5056007e
commit: 7d68c89169508064c460a1208f38ed0589d226fa powerpc/32s: Allow deselecting CONFIG_PPC_FPU on mpc832x
date: 5 weeks ago
config: powerpc-randconfig-r024-20210108 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5c951623bc8965fa1e89660f2f5f4a2944e4981a)
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
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d68c89169508064c460a1208f38ed0589d226fa
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 7d68c89169508064c460a1208f38ed0589d226fa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> arch/powerpc/kvm/book3s_paired_singles.c:663:2: error: implicit declaration of function 'enable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
enable_kernel_fp();
^
>> arch/powerpc/kvm/book3s_paired_singles.c:1257:2: error: implicit declaration of function 'disable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
disable_kernel_fp();
^
arch/powerpc/kvm/book3s_paired_singles.c:1257:2: note: did you mean 'enable_kernel_fp'?
arch/powerpc/kvm/book3s_paired_singles.c:663:2: note: 'enable_kernel_fp' declared here
enable_kernel_fp();
^
2 errors generated.
--
>> arch/powerpc/kvm/book3s_pr.c:846:4: error: implicit declaration of function 'giveup_fpu' [-Werror,-Wimplicit-function-declaration]
giveup_fpu(current);
^
arch/powerpc/kvm/book3s_pr.c:846:4: note: did you mean 'giveup_all'?
arch/powerpc/include/asm/switch_to.h:37:13: note: 'giveup_all' declared here
extern void giveup_all(struct task_struct *);
^
>> arch/powerpc/kvm/book3s_pr.c:847:6: error: no member named 'fp_save_area' in 'struct thread_struct'; did you mean 'vr_save_area'?
t->fp_save_area = NULL;
^~~~~~~~~~~~
vr_save_area
arch/powerpc/include/asm/processor.h:188:26: note: 'vr_save_area' declared here
struct thread_vr_state *vr_save_area;
^
>> arch/powerpc/kvm/book3s_pr.c:924:3: error: implicit declaration of function 'enable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
enable_kernel_fp();
^
>> arch/powerpc/kvm/book3s_pr.c:926:3: error: implicit declaration of function 'disable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
disable_kernel_fp();
^
arch/powerpc/kvm/book3s_pr.c:926:3: note: did you mean 'enable_kernel_fp'?
arch/powerpc/kvm/book3s_pr.c:924:3: note: 'enable_kernel_fp' declared here
enable_kernel_fp();
^
arch/powerpc/kvm/book3s_pr.c:927:6: error: no member named 'fp_save_area' in 'struct thread_struct'; did you mean 'vr_save_area'?
t->fp_save_area = &vcpu->arch.fp;
^~~~~~~~~~~~
vr_save_area
arch/powerpc/include/asm/processor.h:188:26: note: 'vr_save_area' declared here
struct thread_vr_state *vr_save_area;
^
arch/powerpc/kvm/book3s_pr.c:963:3: error: implicit declaration of function 'enable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
enable_kernel_fp();
^
arch/powerpc/kvm/book3s_pr.c:965:3: error: implicit declaration of function 'disable_kernel_fp' [-Werror,-Wimplicit-function-declaration]
disable_kernel_fp();
^
arch/powerpc/kvm/book3s_pr.c:1154:5: warning: no previous prototype for function 'kvmppc_handle_exit_pr' [-Wmissing-prototypes]
int kvmppc_handle_exit_pr(struct kvm_vcpu *vcpu, unsigned int exit_nr)
^
arch/powerpc/kvm/book3s_pr.c:1154:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int kvmppc_handle_exit_pr(struct kvm_vcpu *vcpu, unsigned int exit_nr)
^
static
1 warning and 7 errors generated.


vim +/enable_kernel_fp +663 arch/powerpc/kvm/book3s_paired_singles.c

831317b605e7d7c Alexander Graf 2010-02-19 634
51f047261e717b7 Mihai Caraman 2014-07-23 635 emulated = kvmppc_get_last_inst(vcpu, INST_GENERIC, &inst);
51f047261e717b7 Mihai Caraman 2014-07-23 636 if (emulated != EMULATE_DONE)
51f047261e717b7 Mihai Caraman 2014-07-23 637 return emulated;
51f047261e717b7 Mihai Caraman 2014-07-23 638
51f047261e717b7 Mihai Caraman 2014-07-23 639 ax_rd = inst_get_field(inst, 6, 10);
51f047261e717b7 Mihai Caraman 2014-07-23 640 ax_ra = inst_get_field(inst, 11, 15);
51f047261e717b7 Mihai Caraman 2014-07-23 641 ax_rb = inst_get_field(inst, 16, 20);
51f047261e717b7 Mihai Caraman 2014-07-23 642 ax_rc = inst_get_field(inst, 21, 25);
51f047261e717b7 Mihai Caraman 2014-07-23 643 full_d = inst_get_field(inst, 16, 31);
51f047261e717b7 Mihai Caraman 2014-07-23 644
51f047261e717b7 Mihai Caraman 2014-07-23 645 fpr_d = &VCPU_FPR(vcpu, ax_rd);
51f047261e717b7 Mihai Caraman 2014-07-23 646 fpr_a = &VCPU_FPR(vcpu, ax_ra);
51f047261e717b7 Mihai Caraman 2014-07-23 647 fpr_b = &VCPU_FPR(vcpu, ax_rb);
51f047261e717b7 Mihai Caraman 2014-07-23 648 fpr_c = &VCPU_FPR(vcpu, ax_rc);
51f047261e717b7 Mihai Caraman 2014-07-23 649
51f047261e717b7 Mihai Caraman 2014-07-23 650 rcomp = (inst & 1) ? true : false;
51f047261e717b7 Mihai Caraman 2014-07-23 651 cr = kvmppc_get_cr(vcpu);
51f047261e717b7 Mihai Caraman 2014-07-23 652
831317b605e7d7c Alexander Graf 2010-02-19 653 if (!kvmppc_inst_is_paired_single(vcpu, inst))
831317b605e7d7c Alexander Graf 2010-02-19 654 return EMULATE_FAIL;
831317b605e7d7c Alexander Graf 2010-02-19 655
5deb8e7ad8ac7e3 Alexander Graf 2014-04-24 656 if (!(kvmppc_get_msr(vcpu) & MSR_FP)) {
831317b605e7d7c Alexander Graf 2010-02-19 657 kvmppc_book3s_queue_irqprio(vcpu, BOOK3S_INTERRUPT_FP_UNAVAIL);
831317b605e7d7c Alexander Graf 2010-02-19 658 return EMULATE_AGAIN;
831317b605e7d7c Alexander Graf 2010-02-19 659 }
831317b605e7d7c Alexander Graf 2010-02-19 660
831317b605e7d7c Alexander Graf 2010-02-19 661 kvmppc_giveup_ext(vcpu, MSR_FP);
831317b605e7d7c Alexander Graf 2010-02-19 662 preempt_disable();
831317b605e7d7c Alexander Graf 2010-02-19 @663 enable_kernel_fp();
831317b605e7d7c Alexander Graf 2010-02-19 664 /* Do we need to clear FE0 / FE1 here? Don't think so. */
831317b605e7d7c Alexander Graf 2010-02-19 665

:::::: The code at line 663 was first introduced by commit
:::::: 831317b605e7d7ce0bdadb3b0f50560fc13cecbf KVM: PPC: Implement Paired Single emulation

:::::: TO: Alexander Graf <agraf@xxxxxxx>
:::::: CC: Avi Kivity <avi@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip