Re: arch/csky/mm/tcm.c:9:2: error: #error "You should define ITCM_RAM_BASE"

From: Randy Dunlap
Date: Sun Apr 11 2021 - 02:04:03 EST


On 4/10/21 9:43 PM, kernel test robot wrote:
> Hi Julian,
>
> First bad commit (maybe != root cause):
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 52e44129fba5cfc4e351fdb5e45849afc74d9a53
> commit: 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08 lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
> date: 31 hours ago
> config: csky-randconfig-c003-20210411 (attached as .config)
> compiler: csky-linux-gcc (GCC) 9.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 7d37cb2c912dc5c25ffac784a4f9b98c06c6bd08
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=csky
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
>>> arch/csky/mm/tcm.c:9:2: error: #error "You should define ITCM_RAM_BASE"
> 9 | #error "You should define ITCM_RAM_BASE"
> | ^~~~~
> arch/csky/mm/tcm.c:109:7: warning: no previous prototype for 'tcm_alloc' [-Wmissing-prototypes]
> 109 | void *tcm_alloc(size_t len)
> | ^~~~~~~~~
> arch/csky/mm/tcm.c:124:6: warning: no previous prototype for 'tcm_free' [-Wmissing-prototypes]
> 124 | void tcm_free(void *addr, size_t len)
> | ^~~~~~~~
>
> Kconfig warnings: (for reference only)
> WARNING: unmet direct dependencies detected for LOCKDEP
> Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
> Selected by
> - LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
> - DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
>
>
> vim +9 arch/csky/mm/tcm.c
>
> f525bb2c9e7cf1 Guo Ren 2019-11-27 7
> f525bb2c9e7cf1 Guo Ren 2019-11-27 8 #if (CONFIG_ITCM_RAM_BASE == 0xffffffff)
> f525bb2c9e7cf1 Guo Ren 2019-11-27 @9 #error "You should define ITCM_RAM_BASE"
> f525bb2c9e7cf1 Guo Ren 2019-11-27 10 #endif
> f525bb2c9e7cf1 Guo Ren 2019-11-27 11
>
> :::::: The code at line 9 was first introduced by commit
> :::::: f525bb2c9e7cf1e3c43ab57704c9e1c836d30b34 csky: Tightly-Coupled Memory or Sram support
>
> :::::: TO: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
> :::::: CC: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>


Hi ktr/lkp,

Do you have the ability to modify a (rand)config file before doing
a build?
To fix this kconfig problem, you can use:

./scripts/config --set-val ITCM_RAM_BASE 0xe0000000
or
./scripts/config --file csky-randconfig-c003-20210411 --set-val ITCM_RAM_BASE 0xe0000000
if you want to modify some file other than ".config".

(0xe000000 is an arbitrary value here -- just cannot be 0xffffffff.)

Then run "make oldconfig" and "make all" or however you normally build a kernel.

It looks like the Kconfig file's ITCM_RAM_BASE parameter is expected to be
set/modified by the user. The default value of 0xffffffff is invalid.

--
~Randy