LoongArch: Simplify the processing of jumping new kernel for KASLR
authorQing Zhang <zhangqing@loongson.cn>
Wed, 6 Sep 2023 14:54:16 +0000 (22:54 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Wed, 6 Sep 2023 14:54:16 +0000 (22:54 +0800)
commit9fbcc076798ead2af28c854a265d9da83bec8429
treee6a28a961e50a2a2219f101b1c9cf62310cdcbe1
parentfb6d5c1d99ab6958c5e284f7aa5f0cc553f0268c
LoongArch: Simplify the processing of jumping new kernel for KASLR

Modified relocate_kernel() doesn't return new kernel's entry point but
the random_offset. In this way we share the start_kernel() processing
with the normal kernel, which avoids calling 'jr a0' directly and allows
some other operations (e.g, kasan_early_init) before start_kernel() when
KASLR (CONFIG_RANDOMIZE_BASE) is turned on.

Signed-off-by: Qing Zhang <zhangqing@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/include/asm/setup.h
arch/loongarch/kernel/head.S
arch/loongarch/kernel/relocate.c