diff options
Diffstat (limited to 'target/linux/generic/backport-5.4/300-MIPS-Exclude-more-dsemul-code-when-CONFIG_MIPS_FP_SU.patch')
-rw-r--r-- | target/linux/generic/backport-5.4/300-MIPS-Exclude-more-dsemul-code-when-CONFIG_MIPS_FP_SU.patch | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/target/linux/generic/backport-5.4/300-MIPS-Exclude-more-dsemul-code-when-CONFIG_MIPS_FP_SU.patch b/target/linux/generic/backport-5.4/300-MIPS-Exclude-more-dsemul-code-when-CONFIG_MIPS_FP_SU.patch deleted file mode 100644 index 0bc58e756b..0000000000 --- a/target/linux/generic/backport-5.4/300-MIPS-Exclude-more-dsemul-code-when-CONFIG_MIPS_FP_SU.patch +++ /dev/null @@ -1,134 +0,0 @@ -From d96c3157f9ca177727fbad960fcf6f52f145f471 Mon Sep 17 00:00:00 2001 -From: Yousong Zhou <yszhou4tech@gmail.com> -Date: Thu, 9 Jan 2020 11:33:19 +0800 -Subject: [PATCH] MIPS: Exclude more dsemul code when CONFIG_MIPS_FP_SUPPORT=n - -This furthers what commit 42b10815d559 ("MIPS: Don't compile math-emu -when CONFIG_MIPS_FP_SUPPORT=n") has done - -Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> ---- - arch/mips/include/asm/processor.h | 12 ++++++------ - arch/mips/kernel/process.c | 10 ++++++++-- - arch/mips/kernel/vdso.c | 26 +++++++++++++++----------- - 3 files changed, 29 insertions(+), 19 deletions(-) - ---- a/arch/mips/include/asm/processor.h -+++ b/arch/mips/include/asm/processor.h -@@ -253,13 +253,13 @@ struct thread_struct { - #ifdef CONFIG_MIPS_FP_SUPPORT - /* Saved fpu/fpu emulator stuff. */ - struct mips_fpu_struct fpu FPU_ALIGN; --#endif - /* Assigned branch delay slot 'emulation' frame */ - atomic_t bd_emu_frame; - /* PC of the branch from a branch delay slot 'emulation' */ - unsigned long bd_emu_branch_pc; - /* PC to continue from following a branch delay slot 'emulation' */ - unsigned long bd_emu_cont_pc; -+#endif - #ifdef CONFIG_MIPS_MT_FPAFF - /* Emulated instruction count */ - unsigned long emulated_fp; -@@ -302,7 +302,11 @@ struct thread_struct { - .fpr = {{{0,},},}, \ - .fcr31 = 0, \ - .msacsr = 0, \ -- }, -+ }, \ -+ /* Delay slot emulation */ \ -+ .bd_emu_frame = ATOMIC_INIT(BD_EMUFRAME_NONE), \ -+ .bd_emu_branch_pc = 0, \ -+ .bd_emu_cont_pc = 0, - #else - # define FPU_INIT - #endif -@@ -334,10 +338,6 @@ struct thread_struct { - * FPU affinity state (null if not FPAFF) \ - */ \ - FPAFF_INIT \ -- /* Delay slot emulation */ \ -- .bd_emu_frame = ATOMIC_INIT(BD_EMUFRAME_NONE), \ -- .bd_emu_branch_pc = 0, \ -- .bd_emu_cont_pc = 0, \ - /* \ - * Saved DSP stuff \ - */ \ ---- a/arch/mips/kernel/process.c -+++ b/arch/mips/kernel/process.c -@@ -75,7 +75,9 @@ void start_thread(struct pt_regs * regs, - lose_fpu(0); - clear_thread_flag(TIF_MSA_CTX_LIVE); - clear_used_math(); -+#ifdef CONFIG_MIPS_FP_SUPPORT - atomic_set(¤t->thread.bd_emu_frame, BD_EMUFRAME_NONE); -+#endif - init_dsp(); - regs->cp0_epc = pc; - regs->regs[29] = sp; -@@ -176,7 +178,9 @@ int copy_thread_tls(unsigned long clone_ - clear_tsk_thread_flag(p, TIF_FPUBOUND); - #endif /* CONFIG_MIPS_MT_FPAFF */ - -+#ifdef CONFIG_MIPS_FP_SUPPORT - atomic_set(&p->thread.bd_emu_frame, BD_EMUFRAME_NONE); -+#endif - - if (clone_flags & CLONE_SETTLS) - ti->tp_value = tls; -@@ -650,8 +654,10 @@ unsigned long mips_stack_top(void) - { - unsigned long top = TASK_SIZE & PAGE_MASK; - -- /* One page for branch delay slot "emulation" */ -- top -= PAGE_SIZE; -+ if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT)) { -+ /* One page for branch delay slot "emulation" */ -+ top -= PAGE_SIZE; -+ } - - /* Space for the VDSO, data page & GIC user page */ - top -= PAGE_ALIGN(current->thread.abi->vdso->size); ---- a/arch/mips/kernel/vdso.c -+++ b/arch/mips/kernel/vdso.c -@@ -71,10 +71,12 @@ subsys_initcall(init_vdso); - - static unsigned long vdso_base(void) - { -- unsigned long base; -+ unsigned long base = STACK_TOP; - -- /* Skip the delay slot emulation page */ -- base = STACK_TOP + PAGE_SIZE; -+ if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT)) { -+ /* Skip the delay slot emulation page */ -+ base += PAGE_SIZE; -+ } - - if (current->flags & PF_RANDOMIZE) { - base += get_random_int() & (VDSO_RANDOMIZE_SIZE - 1); -@@ -95,14 +97,16 @@ int arch_setup_additional_pages(struct l - if (down_write_killable(&mm->mmap_sem)) - return -EINTR; - -- /* Map delay slot emulation page */ -- base = mmap_region(NULL, STACK_TOP, PAGE_SIZE, -- VM_READ | VM_EXEC | -- VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC, -- 0, NULL); -- if (IS_ERR_VALUE(base)) { -- ret = base; -- goto out; -+ if (IS_ENABLED(CONFIG_MIPS_FP_SUPPORT)) { -+ /* Map delay slot emulation page */ -+ base = mmap_region(NULL, STACK_TOP, PAGE_SIZE, -+ VM_READ | VM_EXEC | -+ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC, -+ 0, NULL); -+ if (IS_ERR_VALUE(base)) { -+ ret = base; -+ goto out; -+ } - } - - /* |