Merge patch series "Introduce 64b relocatable kernel"
authorPalmer Dabbelt <palmer@rivosinc.com>
Wed, 19 Apr 2023 14:47:45 +0000 (07:47 -0700)
committerPalmer Dabbelt <palmer@rivosinc.com>
Wed, 19 Apr 2023 14:47:45 +0000 (07:47 -0700)
Alexandre Ghiti <alexghiti@rivosinc.com> says:

After multiple attempts, this patchset is now based on the fact that the
64b kernel mapping was moved outside the linear mapping.

The first patch allows to build relocatable kernels but is not selected
by default. That patch is a requirement for KASLR.
The second and third patches take advantage of an already existing powerpc
script that checks relocations at compile-time, and uses it for riscv.

* b4-shazam-merge:
  riscv: Use --emit-relocs in order to move .rela.dyn in init
  riscv: Check relocations at compile time
  powerpc: Move script to check relocations at compile time in scripts/
  riscv: Introduce CONFIG_RELOCATABLE
  riscv: Move .rela.dyn outside of init to avoid empty relocations
  riscv: Prepare EFI header for relocatable kernels

Link: https://lore.kernel.org/r/20230329045329.64565-1-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
1  2 
arch/riscv/Kconfig
arch/riscv/Makefile
arch/riscv/include/asm/topology.h
arch/riscv/mm/init.c

Simple merge
Simple merge
index 727e8d1,0000000..e316ab3
mode 100644,000000..100644
--- /dev/null
@@@ -1,20 -1,0 +1,21 @@@
- #define arch_scale_freq_tick  topology_scale_freq_tick
- #define arch_set_freq_scale   topology_set_freq_scale
 +/* SPDX-License-Identifier: GPL-2.0 */
 +#ifndef _ASM_RISCV_TOPOLOGY_H
 +#define _ASM_RISCV_TOPOLOGY_H
 +
 +#include <linux/arch_topology.h>
 +
 +/* Replace task scheduler's default frequency-invariant accounting */
++#define arch_scale_freq_tick          topology_scale_freq_tick
++#define arch_set_freq_scale           topology_set_freq_scale
 +#define arch_scale_freq_capacity      topology_get_freq_scale
 +#define arch_scale_freq_invariant     topology_scale_freq_invariant
 +
 +/* Replace task scheduler's default cpu-invariant accounting */
 +#define arch_scale_cpu_capacity       topology_get_cpu_scale
 +
 +/* Enable topology flag updates */
 +#define arch_update_cpu_topology      topology_update_cpu_topology
 +
 +#include <asm-generic/topology.h>
++
 +#endif /* _ASM_RISCV_TOPOLOGY_H */
Simple merge