tree:
https://git.kernel.org/pub/scm/linux/kernel/git/cdall/linux.git
mmu-cache-unify-v5
head: b6d21da3939ac9d843181f7afdc0e23ae14b7986
commit: b6d21da3939ac9d843181f7afdc0e23ae14b7986 [7/7] KVM: mips: Move to common
kvm_mmu_memcache infrastructure
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout b6d21da3939ac9d843181f7afdc0e23ae14b7986
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/kvm_host.h:36:0,
from arch/mips/kernel/asm-offsets.c:24:
> arch/mips/include/asm/kvm_host.h:370:26: error: field
'mmu_page_cache' has incomplete type
struct kvm_mmu_memcache
mmu_page_cache;
^~~~~~~~~~~~~~
make[2]: *** [arch/mips/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [sub-make] Error 2
24 real 6 user 4 sys 42.39% cpu make prepare
vim +/mmu_page_cache +370 arch/mips/include/asm/kvm_host.h
298
299 #define KVM_MIPS_GUEST_TLB_SIZE 64
300 struct kvm_vcpu_arch {
301 void *guest_ebase;
302 int (*vcpu_run)(struct kvm_run *run, struct kvm_vcpu *vcpu);
303
304 /* Host registers preserved across guest mode execution */
305 unsigned long host_stack;
306 unsigned long host_gp;
307 unsigned long host_pgd;
308 unsigned long host_entryhi;
309
310 /* Host CP0 registers used when handling exits from guest */
311 unsigned long host_cp0_badvaddr;
312 unsigned long host_cp0_epc;
313 u32 host_cp0_cause;
314 u32 host_cp0_guestctl0;
315 u32 host_cp0_badinstr;
316 u32 host_cp0_badinstrp;
317
318 /* GPRS */
319 unsigned long gprs[32];
320 unsigned long hi;
321 unsigned long lo;
322 unsigned long pc;
323
324 /* FPU State */
325 struct mips_fpu_struct fpu;
326 /* Which auxiliary state is loaded (KVM_MIPS_AUX_*) */
327 unsigned int aux_inuse;
328
329 /* COP0 State */
330 struct mips_coproc *cop0;
331
332 /* Host KSEG0 address of the EI/DI offset */
333 void *kseg0_commpage;
334
335 /* Resume PC after MMIO completion */
336 unsigned long io_pc;
337 /* GPR used as IO source/target */
338 u32 io_gpr;
339
340 struct hrtimer comparecount_timer;
341 /* Count timer control KVM register */
342 u32 count_ctl;
343 /* Count bias from the raw time */
344 u32 count_bias;
345 /* Frequency of timer in Hz */
346 u32 count_hz;
347 /* Dynamic nanosecond bias (multiple of count_period) to avoid overflow */
348 s64 count_dyn_bias;
349 /* Resume time */
350 ktime_t count_resume;
351 /* Period of timer tick in ns */
352 u64 count_period;
353
354 /* Bitmask of exceptions that are pending */
355 unsigned long pending_exceptions;
356
357 /* Bitmask of pending exceptions to be cleared */
358 unsigned long pending_exceptions_clr;
359
360 /* S/W Based TLB for guest */
361 struct kvm_mips_tlb guest_tlb[KVM_MIPS_GUEST_TLB_SIZE];
362
363 /* Guest kernel/user [partial] mm */
364 struct mm_struct guest_kernel_mm, guest_user_mm;
365
366 /* Guest ASID of last user mode execution */
367 unsigned int last_user_gasid;
368
369 /* Cache some mmu pages needed inside spinlock regions */
370 struct kvm_mmu_memcache mmu_page_cache;
371
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation