Re: [v2 PATCH 5/5] RISC-V: Add EFI stub support.

From: kbuild test robot
Date: Mon Apr 13 2020 - 20:21:47 EST


Hi Atish,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.7-rc1 next-20200413]
[cannot apply to efi/next arm/for-next arm64/for-next/core linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Atish-Patra/Add-UEFI-support-for-RISC-V/20200414-053224
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 8f3d9f354286745c751374f5f1fcafee6b3f3136
config: riscv-nommu_virt_defconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=riscv

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

drivers/firmware/efi/earlycon.c: In function 'efi_earlycon_map':
>> drivers/firmware/efi/earlycon.c:59:34: error: implicit declaration of function 'pgprot_writecombine' [-Werror=implicit-function-declaration]
59 | fb_prot = fb_wb ? PAGE_KERNEL : pgprot_writecombine(PAGE_KERNEL);
| ^~~~~~~~~~~~~~~~~~~
>> drivers/firmware/efi/earlycon.c:59:32: error: type mismatch in conditional expression
59 | fb_prot = fb_wb ? PAGE_KERNEL : pgprot_writecombine(PAGE_KERNEL);
| ^
cc1: some warnings being treated as errors
--
drivers/firmware/efi/libstub/riscv-stub.c: In function 'efi_enter_kernel':
>> drivers/firmware/efi/libstub/riscv-stub.c:64:33: warning: initialization makes '__attribute__((noreturn))' qualified function pointer from unqualified [-Wdiscarded-qualifiers]
64 | jump_kernel_func jump_kernel = (void (*)(unsigned int, unsigned long))kernel_entry;
| ^

vim +64 drivers/firmware/efi/libstub/riscv-stub.c

53
54 /*
55 * Jump to real kernel here with following constraints.
56 * 1. MMU should be disabled.
57 * 2. a0 should contain hartid
58 * 3. a1 should DT address
59 */
60 void __noreturn efi_enter_kernel(unsigned long entrypoint, unsigned long fdt,
61 unsigned long fdt_size)
62 {
63 unsigned long kernel_entry = entrypoint + (unsigned long)stext_offset;
> 64 jump_kernel_func jump_kernel = (void (*)(unsigned int, unsigned long))kernel_entry;
65 u32 hartid = get_boot_hartid_from_fdt(fdt);
66
67 if (hartid == U32_MAX)
68 /* We can not use panic or BUG at this point */
69 __asm__ __volatile__ ("ebreak");
70 /* Disable MMU */
71 csr_write(CSR_SATP, 0);
72 jump_kernel(hartid, fdt);
73 }
74

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip