[powerpc:topic/ppc-kvm 9/41] arch/powerpc/kvm/book3s_xive.c:151:41: sparse: sparse: incorrect type in assignment (different base types)

kernel test robot lkp at intel.com
Wed Jun 23 21:30:19 AEST 2021


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git topic/ppc-kvm
head:   51696f39cbee5bb684e7959c0c98b5f54548aa34
commit: 023c3c96ca4d196c09d554d5a98900406e4d7ecb [9/41] KVM: PPC: Book3S HV P9: implement kvmppc_xive_pull_vcpu in C
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=023c3c96ca4d196c09d554d5a98900406e4d7ecb
        git remote add powerpc https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
        git fetch --no-tags powerpc topic/ppc-kvm
        git checkout 023c3c96ca4d196c09d554d5a98900406e4d7ecb
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>


sparse warnings: (new ones prefixed by >>)
   arch/powerpc/kvm/book3s_xive.c: note: in included file:
   arch/powerpc/kvm/book3s_xive_template.c:26:15: sparse: sparse: cast to restricted __be16
   arch/powerpc/kvm/book3s_xive_template.c:339:39: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __be64 [usertype] qw1 @@     got unsigned long @@
   arch/powerpc/kvm/book3s_xive_template.c:339:39: sparse:     expected restricted __be64 [usertype] qw1
   arch/powerpc/kvm/book3s_xive_template.c:339:39: sparse:     got unsigned long
   arch/powerpc/kvm/book3s_xive.c:79:49: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned long v @@     got restricted __be64 [usertype] w01 @@
   arch/powerpc/kvm/book3s_xive.c:79:49: sparse:     expected unsigned long v
   arch/powerpc/kvm/book3s_xive.c:79:49: sparse:     got restricted __be64 [usertype] w01
   arch/powerpc/kvm/book3s_xive.c:80:32: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int v @@     got restricted __be32 [usertype] xive_cam_word @@
   arch/powerpc/kvm/book3s_xive.c:80:32: sparse:     expected unsigned int v
   arch/powerpc/kvm/book3s_xive.c:80:32: sparse:     got restricted __be32 [usertype] xive_cam_word
>> arch/powerpc/kvm/book3s_xive.c:151:41: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be64 [usertype] w01 @@     got unsigned long @@
   arch/powerpc/kvm/book3s_xive.c:151:41: sparse:     expected restricted __be64 [usertype] w01
   arch/powerpc/kvm/book3s_xive.c:151:41: sparse:     got unsigned long

vim +151 arch/powerpc/kvm/book3s_xive.c

   129	
   130	/*
   131	 * Pull a vcpu's context from the XIVE on guest exit.
   132	 * This assumes we are in virtual mode (MMU on)
   133	 */
   134	void kvmppc_xive_pull_vcpu(struct kvm_vcpu *vcpu)
   135	{
   136		void __iomem *tima = local_paca->kvm_hstate.xive_tima_virt;
   137	
   138		if (!vcpu->arch.xive_pushed)
   139			return;
   140	
   141		/*
   142		 * Should not have been pushed if there is no tima
   143		 */
   144		if (WARN_ON(!tima))
   145			return;
   146	
   147		eieio();
   148		/* First load to pull the context, we ignore the value */
   149		__raw_readl(tima + TM_SPC_PULL_OS_CTX);
   150		/* Second load to recover the context state (Words 0 and 1) */
 > 151		vcpu->arch.xive_saved_state.w01 = __raw_readq(tima + TM_QW1_OS);
   152	
   153		/* Fixup some of the state for the next load */
   154		vcpu->arch.xive_saved_state.lsmfb = 0;
   155		vcpu->arch.xive_saved_state.ack = 0xff;
   156		vcpu->arch.xive_pushed = 0;
   157		eieio();
   158	}
   159	EXPORT_SYMBOL_GPL(kvmppc_xive_pull_vcpu);
   160	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 72999 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20210623/369264e9/attachment-0001.gz>


More information about the Linuxppc-dev mailing list