All of lore.kernel.org
 help / color / mirror / Atom feed
* [ardb:kvm-trng 3/8] arch/arm64/kvm/hyp/aarch32.c:97: warning: expecting prototype for adjust_itstate(). Prototype was for kvm_adjust_itstate() instead
@ 2021-03-23 21:42 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-23 21:42 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6327 bytes --]

Hi Ard,

First bad commit (maybe != root cause):

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git kvm-trng
head:   ce24e6d7812bdc252275c33141fef8d8ec065b9c
commit: 133ead68041bbb2bef5dba91fdc8c330d1ab50e5 [3/8] arm64: kvm: build cloned NVHE objects in the nvhe/ build tree
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/commit/?id=133ead68041bbb2bef5dba91fdc8c330d1ab50e5
        git remote add ardb git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git
        git fetch --no-tags ardb kvm-trng
        git checkout 133ead68041bbb2bef5dba91fdc8c330d1ab50e5
        # 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 >>):

>> arch/arm64/kvm/hyp/aarch32.c:97: warning: expecting prototype for adjust_itstate(). Prototype was for kvm_adjust_itstate() instead
>> arch/arm64/kvm/hyp/aarch32.c:127: warning: expecting prototype for kvm_skip_instr(). Prototype was for kvm_skip_instr32() instead


vim +97 arch/arm64/kvm/hyp/aarch32.c

623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   85  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   86  /**
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   87   * adjust_itstate - adjust ITSTATE when emulating instructions in IT-block
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   88   * @vcpu:	The VCPU pointer
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   89   *
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   90   * When exceptions occur while instructions are executed in Thumb IF-THEN
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   91   * blocks, the ITSTATE field of the CPSR is not advanced (updated), so we have
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   92   * to do this little bit of work manually. The fields map like this:
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   93   *
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   94   * IT[7:0] -> CPSR[26:25],CPSR[15:10]
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   95   */
c50cb04303cb88 arch/arm64/kvm/hyp/aarch32.c David Brazdil 2020-06-25   96  static void kvm_adjust_itstate(struct kvm_vcpu *vcpu)
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  @97  {
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   98  	unsigned long itbits, cond;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22   99  	unsigned long cpsr = *vcpu_cpsr(vcpu);
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  100  	bool is_arm = !(cpsr & PSR_AA32_T_BIT);
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  101  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  102  	if (is_arm || !(cpsr & PSR_AA32_IT_MASK))
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  103  		return;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  104  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  105  	cond = (cpsr & 0xe000) >> 13;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  106  	itbits = (cpsr & 0x1c00) >> (10 - 2);
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  107  	itbits |= (cpsr & (0x3 << 25)) >> 25;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  108  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  109  	/* Perform ITAdvance (see page A2-52 in ARM DDI 0406C) */
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  110  	if ((itbits & 0x7) == 0)
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  111  		itbits = cond = 0;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  112  	else
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  113  		itbits = (itbits << 1) & 0x1f;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  114  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  115  	cpsr &= ~PSR_AA32_IT_MASK;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  116  	cpsr |= cond << 13;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  117  	cpsr |= (itbits & 0x1c) << (10 - 2);
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  118  	cpsr |= (itbits & 0x3) << 25;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  119  	*vcpu_cpsr(vcpu) = cpsr;
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  120  }
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  121  
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  122  /**
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  123   * kvm_skip_instr - skip a trapped instruction and proceed to the next
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  124   * @vcpu: The vcpu pointer
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22  125   */
6ddbc281e2aa21 arch/arm64/kvm/hyp/aarch32.c Marc Zyngier  2020-10-13  126  void kvm_skip_instr32(struct kvm_vcpu *vcpu)
623e1528d4090b virt/kvm/arm/hyp/aarch32.c   James Morse   2019-05-22 @127  {

:::::: The code@line 97 was first introduced by commit
:::::: 623e1528d4090bd1abaf93ec46f047dee9a6fb32 KVM: arm/arm64: Move cc/it checks under hyp's Makefile to avoid instrumentation

:::::: TO: James Morse <james.morse@arm.com>
:::::: CC: Marc Zyngier <marc.zyngier@arm.com>

---
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: 76824 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-23 21:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-23 21:42 [ardb:kvm-trng 3/8] arch/arm64/kvm/hyp/aarch32.c:97: warning: expecting prototype for adjust_itstate(). Prototype was for kvm_adjust_itstate() instead kernel test robot

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.