Merge tag 'csky-for-linus-5.9-rc1' of https://github.com/c-sky/csky-linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Aug 2020 17:15:28 +0000 (10:15 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 6 Aug 2020 17:15:28 +0000 (10:15 -0700)
Pull arch/csky updates from Guo Ren:
 "New features:
   - seccomp-filter
   - err-injection
   - top-down&random mmap-layout
   - irq_work
   - show_ipi
   - context-tracking

  Fixes & Optimizations:
   - kprobe_on_ftrace
   - optimize panic print"

* tag 'csky-for-linus-5.9-rc1' of https://github.com/c-sky/csky-linux:
  csky: Add context tracking support
  csky: Add arch_show_interrupts for IPI interrupts
  csky: Add irq_work support
  csky: Fixup warning by EXPORT_SYMBOL(kmap)
  csky: Set CONFIG_NR_CPU 4 as default
  csky: Use top-down mmap layout
  csky: Optimize the trap processing flow
  csky: Add support for function error injection
  csky: Fixup kprobes handler couldn't change pc
  csky: Fixup duplicated restore sp in RESTORE_REGS_FTRACE
  csky: Add cpu feature register hint for smp
  csky: Add SECCOMP_FILTER supported
  csky: remove unusued thread_saved_pc and *_segments functions/macros

1  2 
arch/csky/Kconfig
arch/csky/kernel/process.c
tools/testing/selftests/seccomp/seccomp_bpf.c

@@@ -38,6 -39,11 +39,10 @@@ config CSK
        select GX6605S_TIMER if CPU_CK610
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARCH_AUDITSYSCALL
 -      select HAVE_COPY_THREAD_TLS
+       select HAVE_ARCH_MMAP_RND_BITS
+       select HAVE_ARCH_SECCOMP_FILTER
+       select HAVE_CONTEXT_TRACKING
+       select HAVE_VIRT_CPU_ACCOUNTING_GEN
        select HAVE_DEBUG_BUGVERBOSE
        select HAVE_DYNAMIC_FTRACE
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
@@@ -30,17 -30,7 +30,7 @@@ asmlinkage void ret_from_kernel_thread(
   */
  void flush_thread(void){}
  
- /*
-  * Return saved PC from a blocked thread
-  */
- unsigned long thread_saved_pc(struct task_struct *tsk)
- {
-       struct switch_stack *sw = (struct switch_stack *)tsk->thread.sp;
-       return sw->r15;
- }
 -int copy_thread_tls(unsigned long clone_flags,
 +int copy_thread(unsigned long clone_flags,
                unsigned long usp,
                unsigned long kthread_arg,
                struct task_struct *p,
@@@ -1781,7 -1704,7 +1791,7 @@@ void change_syscall(struct __test_metad
  
  #if defined(__x86_64__) || defined(__i386__) || defined(__powerpc__) || \
        defined(__s390__) || defined(__hppa__) || defined(__riscv) || \
-       defined(__xtensa__)
 -      defined(__csky__)
++      defined(__xtensa__) || defined(__csky__)
        {
                regs.SYSCALL_NUM = syscall;
        }