[kvm:queue 182/203] arch/x86/include/asm/paravirt.h:683:35: error: '__raw_callee_save___kvm_vcpu_is_preempted' undeclared

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

 



tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head:   00a2bd3464280ca1f08e2cbfab22b884ffb731d8
commit: dc889a8974087aba3eb1cc6db2066fbbdb58922a [182/203] KVM: x86: Support the vCPU preemption check with nopvspin and realtime hint
config: i386-randconfig-a003 (https://download.01.org/0day-ci/archive/20220309/202203090607.5kEhVF3N-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=dc889a8974087aba3eb1cc6db2066fbbdb58922a
        git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
        git fetch --no-tags kvm queue
        git checkout dc889a8974087aba3eb1cc6db2066fbbdb58922a
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

   In file included from arch/x86/include/asm/spinlock.h:10,
                    from include/linux/spinlock.h:93,
                    from include/linux/wait.h:9,
                    from include/linux/pid.h:6,
                    from include/linux/sched.h:14,
                    from include/linux/context_tracking.h:5,
                    from arch/x86/kernel/kvm.c:12:
   arch/x86/kernel/kvm.c: In function 'kvm_guest_init':
>> arch/x86/include/asm/paravirt.h:683:35: error: '__raw_callee_save___kvm_vcpu_is_preempted' undeclared (first use in this function)
     683 |  ((struct paravirt_callee_save) { __raw_callee_save_##func })
         |                                   ^~~~~~~~~~~~~~~~~~
   arch/x86/kernel/kvm.c:769:4: note: in expansion of macro 'PV_CALLEE_SAVE'
     769 |    PV_CALLEE_SAVE(__kvm_vcpu_is_preempted);
         |    ^~~~~~~~~~~~~~
   arch/x86/include/asm/paravirt.h:683:35: note: each undeclared identifier is reported only once for each function it appears in
     683 |  ((struct paravirt_callee_save) { __raw_callee_save_##func })
         |                                   ^~~~~~~~~~~~~~~~~~
   arch/x86/kernel/kvm.c:769:4: note: in expansion of macro 'PV_CALLEE_SAVE'
     769 |    PV_CALLEE_SAVE(__kvm_vcpu_is_preempted);
         |    ^~~~~~~~~~~~~~


vim +/__raw_callee_save___kvm_vcpu_is_preempted +683 arch/x86/include/asm/paravirt.h

2e47d3e6c35bb5 include/asm-x86/paravirt.h      Glauber de Oliveira Costa 2008-01-30  648  
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  649  /*
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  650   * Generate a thunk around a function which saves all caller-save
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  651   * registers except for the return value.  This allows C functions to
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  652   * be called from assembler code where fewer than normal registers are
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  653   * available.  It may also help code generation around calls from C
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  654   * code if the common case doesn't use many registers.
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  655   *
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  656   * When a callee is wrapped in a thunk, the caller can assume that all
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  657   * arg regs and all scratch registers are preserved across the
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  658   * call. The return value in rax/eax will not be saved, even for void
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  659   * functions.
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  660   */
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  661  #define PV_THUNK_NAME(func) "__raw_callee_save_" #func
20125c872a3f12 arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-06-24  662  #define __PV_CALLEE_SAVE_REGS_THUNK(func, section)			\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  663  	extern typeof(func) __raw_callee_save_##func;			\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  664  									\
20125c872a3f12 arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-06-24  665  	asm(".pushsection " section ", \"ax\";"				\
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  666  	    ".globl " PV_THUNK_NAME(func) ";"				\
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  667  	    ".type " PV_THUNK_NAME(func) ", @function;"			\
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  668  	    PV_THUNK_NAME(func) ":"					\
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  669  	    FRAME_BEGIN							\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  670  	    PV_SAVE_ALL_CALLER_REGS					\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  671  	    "call " #func ";"						\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  672  	    PV_RESTORE_ALL_CALLER_REGS					\
87b240cbe3e51b arch/x86/include/asm/paravirt.h Josh Poimboeuf            2016-01-21  673  	    FRAME_END							\
b17c2baa305ccc arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-12-04  674  	    ASM_RET							\
083db676482199 arch/x86/include/asm/paravirt.h Josh Poimboeuf            2019-07-17  675  	    ".size " PV_THUNK_NAME(func) ", .-" PV_THUNK_NAME(func) ";"	\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  676  	    ".popsection")
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  677  
20125c872a3f12 arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-06-24  678  #define PV_CALLEE_SAVE_REGS_THUNK(func)			\
20125c872a3f12 arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-06-24  679  	__PV_CALLEE_SAVE_REGS_THUNK(func, ".text")
20125c872a3f12 arch/x86/include/asm/paravirt.h Peter Zijlstra            2021-06-24  680  
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  681  /* Get a reference to a callee-save function */
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  682  #define PV_CALLEE_SAVE(func)						\
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28 @683  	((struct paravirt_callee_save) { __raw_callee_save_##func })
ecb93d1ccd0aac arch/x86/include/asm/paravirt.h Jeremy Fitzhardinge       2009-01-28  684  

:::::: The code at line 683 was first introduced by commit
:::::: ecb93d1ccd0aac63f03be2db3cac3fa974716f4c x86/paravirt: add register-saving thunks to reduce caller register pressure

:::::: TO: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
:::::: CC: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>

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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux