Hi Nicholas,
I love your patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on linus/master v5.14-rc5 next-20210811]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Nicholas-Piggin/KVM-PPC-Book3S-HV-P9-entry-exit-optimisations/20210812-000748
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc64-randconfig-r024-20210811 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 10.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://github.com/0day-ci/linux/commit/30a3a9ae99f124a863c41f268c68b647d7116b65
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Nicholas-Piggin/KVM-PPC-Book3S-HV-P9-entry-exit-optimisations/20210812-000748
git checkout 30a3a9ae99f124a863c41f268c68b647d7116b65
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross
O=build_dir ARCH=powerpc SHELL=/bin/bash arch/powerpc/kvm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot
All errors (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/processor.h:11,
from arch/powerpc/include/asm/thread_info.h:40,
from include/linux/thread_info.h:60,
from include/asm-generic/preempt.h:5,
from ./arch/powerpc/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/percpu.h:6,
from include/linux/context_tracking_state.h:5,
from include/linux/hardirq.h:5,
from include/linux/kvm_host.h:7,
from arch/powerpc/kvm/book3s_hv_p9_entry.c:3:
arch/powerpc/kvm/book3s_hv_p9_entry.c: In function 'load_vcpu_state':
>> arch/powerpc/kvm/book3s_hv_p9_entry.c:297:33: error: 'struct kvm_vcpu_arch'
>> has no member named 'texasr'
297 |mtspr(SPRN_TEXASR, vcpu->arch.texasr);
| ^
arch/powerpc/include/asm/reg.h:1396:33: note: in definition of macro 'mtspr'
1396 | : "r" ((unsigned long)(v)) \
| ^
>> arch/powerpc/kvm/book3s_hv_p9_entry.c:298:33: error: 'struct kvm_vcpu_arch'
>> has no member named 'tfhar'; did you mean 'tar'?
298 |mtspr(SPRN_TFHAR, vcpu->arch.tfhar);
| ^
arch/powerpc/include/asm/reg.h:1396:33: note: in definition of macro 'mtspr'
1396 | : "r" ((unsigned long)(v)) \
| ^
>> arch/powerpc/kvm/book3s_hv_p9_entry.c:299:33: error: 'struct kvm_vcpu_arch'
>> has no member named 'tfiar'; did you mean 'tar'?
299 |mtspr(SPRN_TFIAR, vcpu->arch.tfiar);
| ^
arch/powerpc/include/asm/reg.h:1396:33: note: in definition of macro 'mtspr'
1396 | : "r" ((unsigned long)(v)) \
| ^
arch/powerpc/kvm/book3s_hv_p9_entry.c: In function 'store_vcpu_state':
arch/powerpc/kvm/book3s_hv_p9_entry.c:331:14: error: 'struct kvm_vcpu_arch'
has no member named 'texasr'
331 |vcpu->arch.texasr = mfspr(SPRN_TEXASR);
| ^
arch/powerpc/kvm/book3s_hv_p9_entry.c:332:15: error: 'struct kvm_vcpu_arch'
has no member named 'tfhar'; did you mean 'tar'?
332 |vcpu->arch.tfhar = mfspr(SPRN_TFHAR);
| ^
| tar
arch/powerpc/kvm/book3s_hv_p9_entry.c:333:15: error: 'struct kvm_vcpu_arch'
has no member named 'tfiar'; did you mean 'tar'?
333 |vcpu->arch.tfiar = mfspr(SPRN_TFIAR);
| ^
| tar
vim +297 arch/powerpc/kvm/book3s_hv_p9_entry.c
283
284 /* Returns true if current MSR and/or guest MSR may have changed */
285 bool load_vcpu_state(struct kvm_vcpu *vcpu,
286 struct p9_host_os_sprs *host_os_sprs)
287 {
288 bool ret = false;
289
290 if (cpu_has_feature(CPU_FTR_TM) ||
291 cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) {
292 unsigned long guest_msr = vcpu->arch.shregs.msr;
293 if (MSR_TM_ACTIVE(guest_msr)) {
294 kvmppc_restore_tm_hv(vcpu, guest_msr, true);
295 ret = true;
296 } else {
> 297 mtspr(SPRN_TEXASR, vcpu->arch.texasr);
> 298