Re: arch/mips/include/asm/mipsregs.h:2791:3: error: instruction requires a CPU feature not currently enabled

From: Nick Desaulniers
Date: Mon Dec 11 2023 - 16:36:42 EST


On Mon, Dec 11, 2023 at 9:48 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Nick,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: a39b6ac3781d46ba18193c9dbb2110f31e9bffe9
> commit: f12b034afeb3a977bbb1c6584dedc0f3dc666f14 scripts/Makefile.clang: default to LLVM_IAS=1
> date: 2 years, 4 months ago
> config: mips-malta_kvm_defconfig (https://download.01.org/0day-ci/archive/20231212/202312120116.CP1IYKWT-lkp@xxxxxxxxx/config)
> compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231212/202312120116.CP1IYKWT-lkp@xxxxxxxxx/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202312120116.CP1IYKWT-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> In file included from arch/mips/kvm/tlb.c:13:
> In file included from include/linux/sched.h:12:
> In file included from ./arch/mips/include/generated/asm/current.h:1:
> In file included from include/asm-generic/current.h:5:
> In file included from include/linux/thread_info.h:14:
> In file included from include/linux/restart_block.h:10:
> In file included from include/linux/time64.h:5:
> In file included from include/linux/math64.h:6:
> In file included from include/linux/math.h:5:
> In file included from arch/mips/include/asm/div64.h:89:
> In file included from include/asm-generic/div64.h:55:
> In file included from include/linux/log2.h:12:
> In file included from include/linux/bitops.h:32:
> In file included from arch/mips/include/asm/bitops.h:19:
> In file included from arch/mips/include/asm/barrier.h:11:
> In file included from arch/mips/include/asm/addrspace.h:13:
> In file included from arch/mips/include/asm/mach-malta/spaces.h:44:
> In file included from arch/mips/include/asm/mach-generic/spaces.h:15:
> >> arch/mips/include/asm/mipsregs.h:2791:3: error: instruction requires a CPU feature not currently enabled
> _ASM_SET_VIRT
> ^
> arch/mips/include/asm/mipsregs.h:2073:36: note: expanded from macro '_ASM_SET_VIRT'
> #define _ASM_SET_VIRT ".set\tvirt\n\t"
> ^
> <inline asm>:4:2: note: instantiated into assembly here
> tlbgp
> ^

https://github.com/ClangBuiltLinux/linux/issues/1532

> In file included from arch/mips/kvm/tlb.c:13:
> In file included from include/linux/sched.h:12:
> In file included from ./arch/mips/include/generated/asm/current.h:1:
> In file included from include/asm-generic/current.h:5:
> In file included from include/linux/thread_info.h:14:
> In file included from include/linux/restart_block.h:10:
> In file included from include/linux/time64.h:5:
> In file included from include/linux/math64.h:6:
> In file included from include/linux/math.h:5:
> In file included from arch/mips/include/asm/div64.h:89:
> In file included from include/asm-generic/div64.h:55:
> In file included from include/linux/log2.h:12:
> In file included from include/linux/bitops.h:32:
> In file included from arch/mips/include/asm/bitops.h:19:
> In file included from arch/mips/include/asm/barrier.h:11:
> In file included from arch/mips/include/asm/addrspace.h:13:
> In file included from arch/mips/include/asm/mach-malta/spaces.h:44:
> In file included from arch/mips/include/asm/mach-generic/spaces.h:15:
> arch/mips/include/asm/mipsregs.h:2801:3: error: instruction requires a CPU feature not currently enabled
> _ASM_SET_VIRT
> ^
> arch/mips/include/asm/mipsregs.h:2073:36: note: expanded from macro '_ASM_SET_VIRT'
> #define _ASM_SET_VIRT ".set\tvirt\n\t"
> ^
> <inline asm>:4:2: note: instantiated into assembly here
> tlbgr
> ^
> In file included from arch/mips/kvm/tlb.c:13:
> In file included from include/linux/sched.h:12:
> In file included from ./arch/mips/include/generated/asm/current.h:1:
> In file included from include/asm-generic/current.h:5:
> In file included from include/linux/thread_info.h:14:
> In file included from include/linux/restart_block.h:10:
> In file included from include/linux/time64.h:5:
> In file included from include/linux/math64.h:6:
> In file included from include/linux/math.h:5:
> In file included from arch/mips/include/asm/div64.h:89:
> In file included from include/asm-generic/div64.h:55:
> In file included from include/linux/log2.h:12:
> In file included from include/linux/bitops.h:32:
> In file included from arch/mips/include/asm/bitops.h:19:
> In file included from arch/mips/include/asm/barrier.h:11:
> In file included from arch/mips/include/asm/addrspace.h:13:
> In file included from arch/mips/include/asm/mach-malta/spaces.h:44:
> In file included from arch/mips/include/asm/mach-generic/spaces.h:15:
> arch/mips/include/asm/mipsregs.h:2811:3: error: instruction requires a CPU feature not currently enabled
> _ASM_SET_VIRT
> ^
> arch/mips/include/asm/mipsregs.h:2073:36: note: expanded from macro '_ASM_SET_VIRT'
> #define _ASM_SET_VIRT ".set\tvirt\n\t"
> ^
> <inline asm>:4:2: note: instantiated into assembly here
> tlbgwi
> ^
> In file included from arch/mips/kvm/tlb.c:13:
> In file included from include/linux/sched.h:12:
> In file included from ./arch/mips/include/generated/asm/current.h:1:
> In file included from include/asm-generic/current.h:5:
> In file included from include/linux/thread_info.h:14:
> In file included from include/linux/restart_block.h:10:
> In file included from include/linux/time64.h:5:
> In file included from include/linux/math64.h:6:
> In file included from include/linux/math.h:5:
> In file included from arch/mips/include/asm/div64.h:89:
> In file included from include/asm-generic/div64.h:55:
> In file included from include/linux/log2.h:12:
> In file included from include/linux/bitops.h:32:
> In file included from arch/mips/include/asm/bitops.h:19:
> In file included from arch/mips/include/asm/barrier.h:11:
> In file included from arch/mips/include/asm/addrspace.h:13:
> In file included from arch/mips/include/asm/mach-malta/spaces.h:44:
> In file included from arch/mips/include/asm/mach-generic/spaces.h:15:
> arch/mips/include/asm/mipsregs.h:2801:3: error: instruction requires a CPU feature not currently enabled
> _ASM_SET_VIRT
> ^
> arch/mips/include/asm/mipsregs.h:2073:36: note: expanded from macro '_ASM_SET_VIRT'
> #define _ASM_SET_VIRT ".set\tvirt\n\t"
> ^
> <inline asm>:4:2: note: instantiated into assembly here
> tlbgr
> ^
> In file included from arch/mips/kvm/tlb.c:13:
> In file included from include/linux/sched.h:12:
> In file included from ./arch/mips/include/generated/asm/current.h:1:
> In file included from include/asm-generic/current.h:5:
> In file included from include/linux/thread_info.h:14:
> In file included from include/linux/restart_block.h:10:
> In file included from include/linux/time64.h:5:
> In file included from include/linux/math64.h:6:
> In file included from include/linux/math.h:5:
> In file included from arch/mips/include/asm/div64.h:89:
> In file included from include/asm-generic/div64.h:55:
>
>
> vim +2791 arch/mips/include/asm/mipsregs.h
>
> ^1da177e4c3f41 include/asm-mips/mipsregs.h Linus Torvalds 2005-04-16 2780
> ^1da177e4c3f41 include/asm-mips/mipsregs.h Linus Torvalds 2005-04-16 2781 /*
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2782 * Guest TLB operations.
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2783 *
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2784 * It is responsibility of the caller to take care of any TLB hazards.
> ^1da177e4c3f41 include/asm-mips/mipsregs.h Linus Torvalds 2005-04-16 2785 */
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2786 static inline void guest_tlb_probe(void)
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2787 {
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2788 __asm__ __volatile__(
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2789 ".set push\n\t"
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2790 ".set noreorder\n\t"
> 00b4eb408aaff2 arch/mips/include/asm/mipsregs.h James Hogan 2017-11-22 @2791 _ASM_SET_VIRT
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2792 "tlbgp\n\t"
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2793 ".set pop");
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2794 }
> 7eb91118227d71 arch/mips/include/asm/mipsregs.h James Hogan 2016-05-11 2795
>
> :::::: The code at line 2791 was first introduced by commit
> :::::: 00b4eb408aaff21aeb806de24c5ff25b398083a4 MIPS: VZ: Update helpers to use new asm macros
>
> :::::: TO: James Hogan <jhogan@xxxxxxxxxx>
> :::::: CC: James Hogan <jhogan@xxxxxxxxxx>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki



--
Thanks,
~Nick Desaulniers