Revision aa9887608e77b835d51f05a54940380391cd4e21 authored by Anup Patel on 27 September 2020, 05:39:16 UTC, committed by Palmer Dabbelt on 30 September 2020, 18:05:14 UTC
The NoMMU kernel is broken for QEMU virt machine from Linux-5.9-rc6
because clint_time_val is used even before CLINT driver is probed
at following places:
1. rand_initialize() calls get_cycles() which in-turn uses
   clint_time_val
2. boot_init_stack_canary() calls get_cycles() which in-turn
   uses clint_time_val

The issue#1 (above) is fixed by providing custom random_get_entropy()
for RISC-V NoMMU kernel. For issue#2 (above), we remove dependency of
boot_init_stack_canary() on get_cycles() and this is aligned with the
boot_init_stack_canary() implementations of ARM, ARM64 and MIPS kernel.

Fixes: d5be89a8d118 ("RISC-V: Resurrect the MMIO timer implementation for M-mode systems")
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Tested-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
1 parent c14decf
History
File Mode Size
lxdialog
tests
.gitignore -rw-r--r-- 123 bytes
Makefile -rw-r--r-- 7.6 KB
conf.c -rw-r--r-- 15.7 KB
confdata.c -rw-r--r-- 27.2 KB
expr.c -rw-r--r-- 30.0 KB
expr.h -rw-r--r-- 9.6 KB
gconf-cfg.sh -rwxr-xr-x 733 bytes
gconf.c -rw-r--r-- 38.1 KB
gconf.glade -rw-r--r-- 25.0 KB
images.c -rw-r--r-- 6.4 KB
images.h -rw-r--r-- 857 bytes
lexer.l -rw-r--r-- 9.1 KB
list.h -rw-r--r-- 3.7 KB
lkc.h -rw-r--r-- 4.3 KB
lkc_proto.h -rw-r--r-- 1.9 KB
mconf-cfg.sh -rwxr-xr-x 1.2 KB
mconf.c -rw-r--r-- 27.3 KB
menu.c -rw-r--r-- 22.2 KB
merge_config.sh -rwxr-xr-x 4.6 KB
nconf-cfg.sh -rwxr-xr-x 1.3 KB
nconf.c -rw-r--r-- 38.1 KB
nconf.gui.c -rw-r--r-- 14.8 KB
nconf.h -rw-r--r-- 1.8 KB
parser.y -rw-r--r-- 15.3 KB
preprocess.c -rw-r--r-- 11.0 KB
qconf-cfg.sh -rwxr-xr-x 846 bytes
qconf.cc -rw-r--r-- 45.1 KB
qconf.h -rw-r--r-- 7.0 KB
streamline_config.pl -rwxr-xr-x 16.7 KB
symbol.c -rw-r--r-- 28.6 KB
util.c -rw-r--r-- 2.2 KB

back to top