Loading arch/mips/Kconfig +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,8 @@ config MIPS select HAVE_MOD_ARCH_SPECIFIC select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_REL select MODULES_USE_ELF_REL select MODULES_USE_ELF_RELA if 64BIT select MODULES_USE_ELF_RELA if 64BIT select GENERIC_KERNEL_THREAD select GENERIC_KERNEL_EXECVE menu "Machine selection" menu "Machine selection" Loading arch/mips/include/asm/processor.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -310,8 +310,6 @@ struct task_struct; /* Free all resources held by a thread. */ /* Free all resources held by a thread. */ #define release_thread(thread) do { } while(0) #define release_thread(thread) do { } while(0) extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); extern unsigned long thread_saved_pc(struct task_struct *tsk); extern unsigned long thread_saved_pc(struct task_struct *tsk); /* /* Loading arch/mips/include/asm/ptrace.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -61,4 +61,10 @@ static inline void die_if_kernel(const char *str, struct pt_regs *regs) die(str, regs); die(str, regs); } } #define current_pt_regs() \ ({ \ unsigned long sp = (unsigned long)__builtin_frame_address(0); \ (struct pt_regs *)((sp | (THREAD_SIZE - 1)) + 1 - 32) - 1; \ }) #endif /* _ASM_PTRACE_H */ #endif /* _ASM_PTRACE_H */ arch/mips/include/asm/unistd.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,7 @@ #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_SYS_ALARM #define __ARCH_WANT_SYS_ALARM #define __ARCH_WANT_SYS_EXECVE #define __ARCH_WANT_SYS_GETHOSTNAME #define __ARCH_WANT_SYS_GETHOSTNAME #define __ARCH_WANT_SYS_IPC #define __ARCH_WANT_SYS_IPC #define __ARCH_WANT_SYS_PAUSE #define __ARCH_WANT_SYS_PAUSE Loading arch/mips/kernel/entry.S +6 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,12 @@ need_resched: b need_resched b need_resched #endif #endif FEXPORT(ret_from_kernel_thread) jal schedule_tail # a0 = struct task_struct *prev move a0, s1 jal s0 j syscall_exit FEXPORT(ret_from_fork) FEXPORT(ret_from_fork) jal schedule_tail # a0 = struct task_struct *prev jal schedule_tail # a0 = struct task_struct *prev Loading Loading
arch/mips/Kconfig +2 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,8 @@ config MIPS select HAVE_MOD_ARCH_SPECIFIC select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_REL select MODULES_USE_ELF_REL select MODULES_USE_ELF_RELA if 64BIT select MODULES_USE_ELF_RELA if 64BIT select GENERIC_KERNEL_THREAD select GENERIC_KERNEL_EXECVE menu "Machine selection" menu "Machine selection" Loading
arch/mips/include/asm/processor.h +0 −2 Original line number Original line Diff line number Diff line Loading @@ -310,8 +310,6 @@ struct task_struct; /* Free all resources held by a thread. */ /* Free all resources held by a thread. */ #define release_thread(thread) do { } while(0) #define release_thread(thread) do { } while(0) extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); extern unsigned long thread_saved_pc(struct task_struct *tsk); extern unsigned long thread_saved_pc(struct task_struct *tsk); /* /* Loading
arch/mips/include/asm/ptrace.h +6 −0 Original line number Original line Diff line number Diff line Loading @@ -61,4 +61,10 @@ static inline void die_if_kernel(const char *str, struct pt_regs *regs) die(str, regs); die(str, regs); } } #define current_pt_regs() \ ({ \ unsigned long sp = (unsigned long)__builtin_frame_address(0); \ (struct pt_regs *)((sp | (THREAD_SIZE - 1)) + 1 - 32) - 1; \ }) #endif /* _ASM_PTRACE_H */ #endif /* _ASM_PTRACE_H */
arch/mips/include/asm/unistd.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -20,6 +20,7 @@ #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_SYS_ALARM #define __ARCH_WANT_SYS_ALARM #define __ARCH_WANT_SYS_EXECVE #define __ARCH_WANT_SYS_GETHOSTNAME #define __ARCH_WANT_SYS_GETHOSTNAME #define __ARCH_WANT_SYS_IPC #define __ARCH_WANT_SYS_IPC #define __ARCH_WANT_SYS_PAUSE #define __ARCH_WANT_SYS_PAUSE Loading
arch/mips/kernel/entry.S +6 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,12 @@ need_resched: b need_resched b need_resched #endif #endif FEXPORT(ret_from_kernel_thread) jal schedule_tail # a0 = struct task_struct *prev move a0, s1 jal s0 j syscall_exit FEXPORT(ret_from_fork) FEXPORT(ret_from_fork) jal schedule_tail # a0 = struct task_struct *prev jal schedule_tail # a0 = struct task_struct *prev Loading