]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Merge remote-tracking branch 'risc-v/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 5 May 2021 23:08:11 +0000 (09:08 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 5 May 2021 23:08:11 +0000 (09:08 +1000)
# Conflicts:
# Documentation/admin-guide/kernel-parameters.txt
# arch/riscv/kernel/setup.c
# arch/riscv/mm/kasan_init.c

14 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
arch/riscv/Kconfig
arch/riscv/Kconfig.socs
arch/riscv/include/asm/sbi.h
arch/riscv/kernel/Makefile
arch/riscv/kernel/entry.S
arch/riscv/kernel/probes/kprobes.c
arch/riscv/kernel/sbi.c
arch/riscv/kernel/time.c
arch/riscv/kernel/traps.c
arch/riscv/mm/fault.c
arch/riscv/mm/init.c
arch/riscv/mm/kasan_init.c
scripts/recordmcount.pl

index d3338a3a5a98efcb2091c6ee1b1f066955434098,20447b5316302fe43649ae31f4495e4a210f4e13..5f6ae82affc8de4b3a87dafde4cb38626fb47646
                        seconds.  Use this parameter to check at some
                        other rate.  0 disables periodic checking.
  
-       memtest=        [KNL,X86,ARM,PPC] Enable memtest
 +      memory_hotplug.memmap_on_memory
 +                      [KNL,X86,ARM] Boolean flag to enable this feature.
 +                      Format: {on | off (default)}
 +                      When enabled, runtime hotplugged memory will
 +                      allocate its internal metadata (struct pages)
 +                      from the hotadded memory which will allow to
 +                      hotadd a lot of memory without requiring
 +                      additional memory to do so.
 +                      This feature is disabled by default because it
 +                      has some implication on large (e.g. GB)
 +                      allocations in some configurations (e.g. small
 +                      memory blocks).
 +                      The state of the flag can be read in
 +                      /sys/module/memory_hotplug/parameters/memmap_on_memory.
 +                      Note that even when enabled, there are a few cases where
 +                      the feature is not effective.
 +
+       memtest=        [KNL,X86,ARM,PPC,RISCV] Enable memtest
                        Format: <integer>
                        default : 0 <disable>
                        Specifies the number of memtest passes to be
index 6860c0c211902cce1a8e9f91105f5627ef4dcb9b,6ddf5a2eb84d3a7b8a7920b74ee01cc77d700398..a8ad8eb761206ab51d29f0351f6606048a867bb6
@@@ -27,10 -28,11 +28,12 @@@ config RISC
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SET_DIRECT_MAP
        select ARCH_HAS_SET_MEMORY
-       select ARCH_HAS_STRICT_KERNEL_RWX if MMU
+       select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
+       select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
+       select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
 +      select ARCH_SUPPORTS_HUGETLBFS if MMU
        select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
        select ARCH_WANT_FRAME_POINTERS
        select ARCH_WANT_HUGE_PMD_SHARE if 64BIT
Simple merge
Simple merge
index 647a47f5484a18274ac9696e6aa9ef29d14e55e9,56d5cd2a598277b1223df60a5c6605e512d0edce..d3081e4d96006d3ea33ec21f50da493025d36c2e
@@@ -8,8 -8,11 +8,12 @@@ CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTR
  CFLAGS_REMOVE_patch.o = $(CC_FLAGS_FTRACE)
  CFLAGS_REMOVE_sbi.o   = $(CC_FLAGS_FTRACE)
  endif
 +CFLAGS_syscall_table.o        += $(call cc-option,-Wno-override-init,)
  
+ ifdef CONFIG_KEXEC
+ AFLAGS_kexec_relocate.o := -mcmodel=medany -mno-relax
+ endif
  extra-y += head.o
  extra-y += vmlinux.lds
  
Simple merge
Simple merge
Simple merge
index 1b432264f7ef86be3dd201d2babe5d7fa9327fcf,302ceafe0f81b597b23d4a808cd8087753469a14..8217b0f67c6cbf1f516db1b48c1897d72c5e3f4e
@@@ -9,9 -9,8 +9,9 @@@
  #include <linux/delay.h>
  #include <asm/sbi.h>
  #include <asm/processor.h>
 +#include <asm/timex.h>
  
- unsigned long riscv_timebase;
+ unsigned long riscv_timebase __ro_after_init;
  EXPORT_SYMBOL_GPL(riscv_timebase);
  
  void __init time_init(void)
Simple merge
Simple merge
Simple merge
index 937d13ce9ab8a9d69276581658c8a86641f89a07,4fa412a314f94730ffe3de2a2481760ee28085c4..c3e3db5177aa20768564e148fd7531af05ac6310
@@@ -159,36 -162,8 +162,10 @@@ static void __init kasan_shallow_popula
  {
        unsigned long vaddr = (unsigned long)start & PAGE_MASK;
        unsigned long vend = PAGE_ALIGN((unsigned long)end);
-       unsigned long pfn;
-       int index;
-       void *p;
-       pud_t *pud_dir, *pud_k;
-       pgd_t *pgd_dir, *pgd_k;
-       p4d_t *p4d_dir, *p4d_k;
-       while (vaddr < vend) {
-               index = pgd_index(vaddr);
-               pfn = csr_read(CSR_SATP) & SATP_PPN;
-               pgd_dir = (pgd_t *)pfn_to_virt(pfn) + index;
-               pgd_k = init_mm.pgd + index;
-               pgd_dir = pgd_offset_k(vaddr);
-               set_pgd(pgd_dir, *pgd_k);
-               p4d_dir = p4d_offset(pgd_dir, vaddr);
-               p4d_k  = p4d_offset(pgd_k, vaddr);
-               vaddr = (vaddr + PUD_SIZE) & PUD_MASK;
-               pud_dir = pud_offset(p4d_dir, vaddr);
-               pud_k = pud_offset(p4d_k, vaddr);
-               if (pud_present(*pud_dir)) {
-                       p = early_alloc(PAGE_SIZE, NUMA_NO_NODE);
-                       pud_populate(&init_mm, pud_dir, p);
-               }
-               vaddr += PAGE_SIZE;
-       }
+       kasan_shallow_populate_pgd(vaddr, vend);
 +
 +      local_flush_tlb_all();
  }
  
  void __init kasan_init(void)
                        break;
  
                kasan_populate(kasan_mem_to_shadow(start), kasan_mem_to_shadow(end));
 -      };
 +      }
  
+       /* Populate kernel, BPF, modules mapping */
+       kasan_populate(kasan_mem_to_shadow((const void *)MODULES_VADDR),
+                      kasan_mem_to_shadow((const void *)BPF_JIT_REGION_END));
        for (i = 0; i < PTRS_PER_PTE; i++)
                set_pte(&kasan_early_shadow_pte[i],
                        mk_pte(virt_to_page(kasan_early_shadow_page),
Simple merge