lkml.org 
[lkml]   [2022]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectarch/powerpc/kvm/book3s_xive.c:151:41: sparse: sparse: incorrect type in assignment (different base types)
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
commit: 023c3c96ca4d196c09d554d5a98900406e4d7ecb KVM: PPC: Book3S HV P9: implement kvmppc_xive_pull_vcpu in C
date: 1 year ago
config: powerpc64-randconfig-s032-20220613 (https://download.01.org/0day-ci/archive/20220614/202206141155.emjWGbvB-lkp@intel.com/config)
compiler: powerpc64le-linux-gcc (GCC) 11.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.4-30-g92122700-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=023c3c96ca4d196c09d554d5a98900406e4d7ecb
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 023c3c96ca4d196c09d554d5a98900406e4d7ecb
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/kvm/ arch/powerpc/platforms/powernv/ kernel/sched/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@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
https://01.org/lkp

\
 
 \ /
  Last update: 2022-06-14 05:52    [W:0.162 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site