[linux-next:master 12225/12403] arch/arm64/kernel/head.S:334: Error: immediate cannot be moved by a single instruction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   a3fd3ca134d9485a0f9a7bdcffd7f8bae27f79d3
commit: 651ff8d8cedf95e992cbb4147dbc96965fd2e948 [12225/12403] Merge branch 'for-next/core' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
config: arm64-buildonly-randconfig-r001-20220721 (https://download.01.org/0day-ci/archive/20220722/202207221521.faQAiLHe-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 12.1.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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=651ff8d8cedf95e992cbb4147dbc96965fd2e948
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 651ff8d8cedf95e992cbb4147dbc96965fd2e948
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

   arch/arm64/kernel/head.S: Assembler messages:
>> arch/arm64/kernel/head.S:334: Error: immediate cannot be moved by a single instruction
   arch/arm64/kernel/head.S:343: Error: immediate cannot be moved by a single instruction
   arch/arm64/kernel/head.S:354: Error: immediate cannot be moved by a single instruction
   arch/arm64/kernel/head.S:379: Error: immediate cannot be moved by a single instruction


vim +334 arch/arm64/kernel/head.S

fa2a8445b1d3810 Kristina Martsenko 2017-12-13  312  
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  313  	/*
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  314  	 * If VA_BITS < 48, we have to configure an additional table level.
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  315  	 * First, we have to verify our assumption that the current value of
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  316  	 * VA_BITS was chosen such that all translation levels are fully
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  317  	 * utilised, and that lowering T0SZ will always result in an additional
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  318  	 * translation level to be configured.
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  319  	 */
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  320  #if VA_BITS != EXTRA_SHIFT
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  321  #error "Mismatch between VA_BITS and page size/number of translation levels"
dd006da21646f1c Ard Biesheuvel     2015-03-19  322  #endif
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  323  #else
53519ddf5894476 Ard Biesheuvel     2022-06-24  324  #define IDMAP_PGD_ORDER	(PHYS_MASK_SHIFT - PGDIR_SHIFT)
50fcd39d24c24bb Ard Biesheuvel     2022-06-24  325  #define EXTRA_SHIFT
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  326  	/*
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  327  	 * If VA_BITS == 48, we don't have to configure an additional
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  328  	 * translation level, but the top-level table has more entries.
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  329  	 */
fa2a8445b1d3810 Kristina Martsenko 2017-12-13  330  #endif
c3cee924bd85518 Ard Biesheuvel     2022-06-24  331  	adrp	x0, init_idmap_pg_dir
c3cee924bd85518 Ard Biesheuvel     2022-06-24  332  	adrp	x3, _text
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  333  	adrp	x6, _end + MAX_FDT_SIZE + SWAPPER_BLOCK_SIZE
c3cee924bd85518 Ard Biesheuvel     2022-06-24 @334  	mov	x7, SWAPPER_RX_MMUFLAGS
0370b31e48454d8 Steve Capper       2018-01-11  335  
50fcd39d24c24bb Ard Biesheuvel     2022-06-24  336  	map_memory x0, x1, x3, x6, x7, x3, IDMAP_PGD_ORDER, x10, x11, x12, x13, x14, EXTRA_SHIFT
034edabe6cf1d0d Laura Abbott       2014-11-21  337  
c3cee924bd85518 Ard Biesheuvel     2022-06-24  338  	/* Remap the kernel page tables r/w in the ID map */
c3cee924bd85518 Ard Biesheuvel     2022-06-24  339  	adrp	x1, _text
c3cee924bd85518 Ard Biesheuvel     2022-06-24  340  	adrp	x2, init_pg_dir
c3cee924bd85518 Ard Biesheuvel     2022-06-24  341  	adrp	x3, init_pg_end
c3cee924bd85518 Ard Biesheuvel     2022-06-24  342  	bic	x4, x2, #SWAPPER_BLOCK_SIZE - 1
c3cee924bd85518 Ard Biesheuvel     2022-06-24  343  	mov	x5, SWAPPER_RW_MMUFLAGS
c3cee924bd85518 Ard Biesheuvel     2022-06-24  344  	mov	x6, #SWAPPER_BLOCK_SHIFT
c3cee924bd85518 Ard Biesheuvel     2022-06-24  345  	bl	remap_region
c3cee924bd85518 Ard Biesheuvel     2022-06-24  346  
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  347  	/* Remap the FDT after the kernel image */
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  348  	adrp	x1, _text
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  349  	adrp	x22, _end + SWAPPER_BLOCK_SIZE
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  350  	bic	x2, x22, #SWAPPER_BLOCK_SIZE - 1
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  351  	bfi	x22, x21, #0, #SWAPPER_BLOCK_SHIFT		// remapped FDT address
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  352  	add	x3, x2, #MAX_FDT_SIZE + SWAPPER_BLOCK_SIZE
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  353  	bic	x4, x21, #SWAPPER_BLOCK_SIZE - 1
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  354  	mov	x5, SWAPPER_RW_MMUFLAGS
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  355  	mov	x6, #SWAPPER_BLOCK_SHIFT
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  356  	bl	remap_region
f70b3a23324a2d3 Ard Biesheuvel     2022-06-24  357  
034edabe6cf1d0d Laura Abbott       2014-11-21  358  	/*
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  359  	 * Since the page tables have been populated with non-cacheable
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  360  	 * accesses (MMU disabled), invalidate those tables again to
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  361  	 * remove any speculatively loaded cache lines.
034edabe6cf1d0d Laura Abbott       2014-11-21  362  	 */
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  363  	dmb	sy
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  364  
c3cee924bd85518 Ard Biesheuvel     2022-06-24  365  	adrp	x0, init_idmap_pg_dir
c3cee924bd85518 Ard Biesheuvel     2022-06-24  366  	adrp	x1, init_idmap_pg_end
c3cee924bd85518 Ard Biesheuvel     2022-06-24  367  	bl	dcache_inval_poc
c3cee924bd85518 Ard Biesheuvel     2022-06-24  368  	ret	x28
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  369  SYM_FUNC_END(create_idmap)
e42ade29e3bcb32 Ard Biesheuvel     2022-06-24  370  

:::::: The code at line 334 was first introduced by commit
:::::: c3cee924bd855184d15bc4aa6088dcf8e2c1394c arm64: head: cover entire kernel image in initial ID map

:::::: TO: Ard Biesheuvel <ardb@xxxxxxxxxx>
:::::: CC: Will Deacon <will@xxxxxxxxxx>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux