RISC-V Fixes for 5.13-rc7
* A build fix to always build modules with the medany code model, as the module loader doesn't support medlow. * A Kconfig warning fix for the SiFive errata. * A pair of fixes that for regressions to the recent memory layout changes. * A fix for the FU740 device tree. -----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEKzw3R0RoQ7JKlDp6LhMZ81+7GIkFAmDOEBITHHBhbG1lckBk YWJiZWx0LmNvbQAKCRAuExnzX7sYiZhsD/90A+I0pI0MWsjHYbzpSIK/jWKQ6kgY Y6HtzZrt31BX3Cq5IshOxsOlHyQkGiu8rHXH2kWPId3WX1bM0q2bSO3EoaTch5/s OJ2KKxlp2L758VRaK41ec098QHxjs4Iv1YwnNmcKhCkYvYNV1sq/Vp2RgBXVIoS+ Jk7sWPN+5CCCcDjKuig+mwZILwHlMsLtm9w61bB4+GWCz3OHKHSIWmPkSfmQT7Sk n/KvKrLAonVQxTuBI3syEywy5uHcBooSSNf8kMi8BGwbqmo6CI0CMO9dddeubizK ehmColwQWnke3fR02Mt2ATurGeE0epZHTND1ZTyOSCLUSbJecPsAhmGkUkjPoFoH wufhc+1+KHAT731/o9KQ4TMt0SQHIZHeMOxIBjnw9evg6pVx5iYistvKmfTvsf/j YsRGdrm7//HSZ406Who2qkiTPRYnKJdKpN4wac/XZ/NXN65LL05e5UPxjrH8RShs 2PpIdyNdfBx7d9VlRkHnNNNF7EFC1S5lg7SkW6CXqOTbfVHRO4szH6OUd6QdD83Y MqKRjT2VitnW+tFkX+iYOMEj4bAfFKlmVgjWXUMBJrgnDg6KiZEXCwNbynR/nZA+ 8ssbJqQ2oDZsR/G4s+ePzrNz8Pd2R/9gfmnx1nY016p3JJ/dvX8pBzjQN/X9r8SS 3dKmB8XZ9i/LUA== =HsNS -----END PGP SIGNATURE----- Merge tag 'riscv-for-linus-5.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux Pull RISC-V fixes from Palmer Dabbelt: - A build fix to always build modules with the 'medany' code model, as the module loader doesn't support 'medlow'. - A Kconfig warning fix for the SiFive errata. - A pair of fixes that for regressions to the recent memory layout changes. - A fix for the FU740 device tree. * tag 'riscv-for-linus-5.13-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux: riscv: dts: fu740: fix cache-controller interrupts riscv: Ensure BPF_JIT_REGION_START aligned with PMD size riscv: kasan: Fix MODULES_VADDR evaluation due to local variables' name riscv: sifive: fix Kconfig errata warning riscv32: Use medany C model for modules
This commit is contained in:
Коммит
d9403d307d
|
@ -58,6 +58,6 @@ RISC-V Linux Kernel SV39
|
||||||
|
|
|
|
||||||
____________________________________________________________|____________________________________________________________
|
____________________________________________________________|____________________________________________________________
|
||||||
| | | |
|
| | | |
|
||||||
ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | modules
|
ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | modules, BPF
|
||||||
ffffffff80000000 | -2 GB | ffffffffffffffff | 2 GB | kernel, BPF
|
ffffffff80000000 | -2 GB | ffffffffffffffff | 2 GB | kernel
|
||||||
__________________|____________|__________________|_________|____________________________________________________________
|
__________________|____________|__________________|_________|____________________________________________________________
|
||||||
|
|
|
@ -14,6 +14,7 @@ config SOC_SIFIVE
|
||||||
select CLK_SIFIVE
|
select CLK_SIFIVE
|
||||||
select CLK_SIFIVE_PRCI
|
select CLK_SIFIVE_PRCI
|
||||||
select SIFIVE_PLIC
|
select SIFIVE_PLIC
|
||||||
|
select RISCV_ERRATA_ALTERNATIVE
|
||||||
select ERRATA_SIFIVE
|
select ERRATA_SIFIVE
|
||||||
help
|
help
|
||||||
This enables support for SiFive SoC platform hardware.
|
This enables support for SiFive SoC platform hardware.
|
||||||
|
|
|
@ -16,7 +16,7 @@ ifeq ($(CONFIG_DYNAMIC_FTRACE),y)
|
||||||
CC_FLAGS_FTRACE := -fpatchable-function-entry=8
|
CC_FLAGS_FTRACE := -fpatchable-function-entry=8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_64BIT)$(CONFIG_CMODEL_MEDLOW),yy)
|
ifeq ($(CONFIG_CMODEL_MEDLOW),y)
|
||||||
KBUILD_CFLAGS_MODULE += -mcmodel=medany
|
KBUILD_CFLAGS_MODULE += -mcmodel=medany
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
@ -273,7 +273,7 @@
|
||||||
cache-size = <2097152>;
|
cache-size = <2097152>;
|
||||||
cache-unified;
|
cache-unified;
|
||||||
interrupt-parent = <&plic0>;
|
interrupt-parent = <&plic0>;
|
||||||
interrupts = <19 20 21 22>;
|
interrupts = <19 21 22 20>;
|
||||||
reg = <0x0 0x2010000 0x0 0x1000>;
|
reg = <0x0 0x2010000 0x0 0x1000>;
|
||||||
};
|
};
|
||||||
gpio: gpio@10060000 {
|
gpio: gpio@10060000 {
|
||||||
|
|
|
@ -30,9 +30,8 @@
|
||||||
|
|
||||||
#define BPF_JIT_REGION_SIZE (SZ_128M)
|
#define BPF_JIT_REGION_SIZE (SZ_128M)
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
/* KASLR should leave at least 128MB for BPF after the kernel */
|
#define BPF_JIT_REGION_START (BPF_JIT_REGION_END - BPF_JIT_REGION_SIZE)
|
||||||
#define BPF_JIT_REGION_START PFN_ALIGN((unsigned long)&_end)
|
#define BPF_JIT_REGION_END (MODULES_END)
|
||||||
#define BPF_JIT_REGION_END (BPF_JIT_REGION_START + BPF_JIT_REGION_SIZE)
|
|
||||||
#else
|
#else
|
||||||
#define BPF_JIT_REGION_START (PAGE_OFFSET - BPF_JIT_REGION_SIZE)
|
#define BPF_JIT_REGION_START (PAGE_OFFSET - BPF_JIT_REGION_SIZE)
|
||||||
#define BPF_JIT_REGION_END (VMALLOC_END)
|
#define BPF_JIT_REGION_END (VMALLOC_END)
|
||||||
|
|
|
@ -169,7 +169,7 @@ static void __init kasan_shallow_populate(void *start, void *end)
|
||||||
|
|
||||||
void __init kasan_init(void)
|
void __init kasan_init(void)
|
||||||
{
|
{
|
||||||
phys_addr_t _start, _end;
|
phys_addr_t p_start, p_end;
|
||||||
u64 i;
|
u64 i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -189,9 +189,9 @@ void __init kasan_init(void)
|
||||||
(void *)kasan_mem_to_shadow((void *)VMALLOC_END));
|
(void *)kasan_mem_to_shadow((void *)VMALLOC_END));
|
||||||
|
|
||||||
/* Populate the linear mapping */
|
/* Populate the linear mapping */
|
||||||
for_each_mem_range(i, &_start, &_end) {
|
for_each_mem_range(i, &p_start, &p_end) {
|
||||||
void *start = (void *)__va(_start);
|
void *start = (void *)__va(p_start);
|
||||||
void *end = (void *)__va(_end);
|
void *end = (void *)__va(p_end);
|
||||||
|
|
||||||
if (start >= end)
|
if (start >= end)
|
||||||
break;
|
break;
|
||||||
|
@ -201,7 +201,7 @@ void __init kasan_init(void)
|
||||||
|
|
||||||
/* Populate kernel, BPF, modules mapping */
|
/* Populate kernel, BPF, modules mapping */
|
||||||
kasan_populate(kasan_mem_to_shadow((const void *)MODULES_VADDR),
|
kasan_populate(kasan_mem_to_shadow((const void *)MODULES_VADDR),
|
||||||
kasan_mem_to_shadow((const void *)BPF_JIT_REGION_END));
|
kasan_mem_to_shadow((const void *)MODULES_VADDR + SZ_2G));
|
||||||
|
|
||||||
for (i = 0; i < PTRS_PER_PTE; i++)
|
for (i = 0; i < PTRS_PER_PTE; i++)
|
||||||
set_pte(&kasan_early_shadow_pte[i],
|
set_pte(&kasan_early_shadow_pte[i],
|
||||||
|
|
Загрузка…
Ссылка в новой задаче