Hi Kefeng,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 7c98201b2598a42ac2ce6a9036ee4e4349a406ac commit: d61f4ca086e99bb481961b1120e10e7a4296c392 [5685/30000] arm64: quick_kexec: Move to stand-alone file config: arm64-randconfig-004-20240912 (https://download.01.org/0day-ci/archive/20240912/202409121642.JnGeDDHC-lkp@i...) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240912/202409121642.JnGeDDHC-lkp@i...)
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@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202409121642.JnGeDDHC-lkp@intel.com/
All warnings (new ones prefixed by >>):
arch/arm64/mm/quick_kexec.c:21:13: warning: no previous prototype for 'reserve_quick_kexec' [-Wmissing-prototypes]
21 | void __init reserve_quick_kexec(void) | ^~~~~~~~~~~~~~~~~~~
arch/arm64/mm/quick_kexec.c:47:13: warning: no previous prototype for 'request_quick_kexec_res' [-Wmissing-prototypes]
47 | void __init request_quick_kexec_res(struct resource *res) | ^~~~~~~~~~~~~~~~~~~~~~~
Kconfig warnings: (for reference only) WARNING: unmet direct dependencies detected for PGP_KEY_PARSER Depends on [n]: CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y] && ASYMMETRIC_PUBLIC_KEY_SUBTYPE [=n] Selected by [y]: - PGP_PRELOAD [=y] && CRYPTO [=y] && ASYMMETRIC_KEY_TYPE [=y]
vim +/reserve_quick_kexec +21 arch/arm64/mm/quick_kexec.c
20
21 void __init reserve_quick_kexec(void)
22 { 23 unsigned long long mem_start, mem_len; 24 25 mem_len = quick_kexec_res.end; 26 if (mem_len == 0) 27 return; 28 29 /* Current arm64 boot protocol requires 2MB alignment */ 30 mem_start = memblock_find_in_range(0, arm64_dma_phys_limit, 31 mem_len, SZ_2M); 32 if (mem_start == 0) { 33 pr_warn("cannot allocate quick kexec mem (size:0x%llx)\n", 34 mem_len); 35 quick_kexec_res.end = 0; 36 return; 37 } 38 39 memblock_reserve(mem_start, mem_len); 40 pr_info("quick kexec mem reserved: 0x%016llx - 0x%016llx (%lld MB)\n", 41 mem_start, mem_start + mem_len, mem_len >> 20); 42 43 quick_kexec_res.start = mem_start; 44 quick_kexec_res.end = mem_start + mem_len - 1; 45 } 46
47 void __init request_quick_kexec_res(struct resource *res)