Commit b195e466 authored by Paul Mundt's avatar Paul Mundt

Merge branch 'sh/stable-updates'

parents d780613a 457b6461
...@@ -121,7 +121,7 @@ noresched: ...@@ -121,7 +121,7 @@ noresched:
ENTRY(resume_userspace) ENTRY(resume_userspace)
! r8: current_thread_info ! r8: current_thread_info
cli cli
TRACE_IRQS_OfF TRACE_IRQS_OFF
mov.l @(TI_FLAGS,r8), r0 ! current_thread_info->flags mov.l @(TI_FLAGS,r8), r0 ! current_thread_info->flags
tst #(_TIF_WORK_MASK & 0xff), r0 tst #(_TIF_WORK_MASK & 0xff), r0
bt/s __restore_all bt/s __restore_all
......
...@@ -553,6 +553,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) ...@@ -553,6 +553,8 @@ static int show_cpuinfo(struct seq_file *m, void *v)
if (cpu == 0) if (cpu == 0)
seq_printf(m, "machine\t\t: %s\n", get_system_type()); seq_printf(m, "machine\t\t: %s\n", get_system_type());
else
seq_printf(m, "\n");
seq_printf(m, "processor\t: %d\n", cpu); seq_printf(m, "processor\t: %d\n", cpu);
seq_printf(m, "cpu family\t: %s\n", init_utsname()->machine); seq_printf(m, "cpu family\t: %s\n", init_utsname()->machine);
......
...@@ -145,7 +145,7 @@ static inline int restore_sigcontext_fpu(struct sigcontext __user *sc) ...@@ -145,7 +145,7 @@ static inline int restore_sigcontext_fpu(struct sigcontext __user *sc)
{ {
struct task_struct *tsk = current; struct task_struct *tsk = current;
if (!(current_cpu_data.flags & CPU_HAS_FPU)) if (!(boot_cpu_data.flags & CPU_HAS_FPU))
return 0; return 0;
set_used_math(); set_used_math();
...@@ -158,7 +158,7 @@ static inline int save_sigcontext_fpu(struct sigcontext __user *sc, ...@@ -158,7 +158,7 @@ static inline int save_sigcontext_fpu(struct sigcontext __user *sc,
{ {
struct task_struct *tsk = current; struct task_struct *tsk = current;
if (!(current_cpu_data.flags & CPU_HAS_FPU)) if (!(boot_cpu_data.flags & CPU_HAS_FPU))
return 0; return 0;
if (!used_math()) { if (!used_math()) {
...@@ -199,7 +199,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p ...@@ -199,7 +199,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p
#undef COPY #undef COPY
#ifdef CONFIG_SH_FPU #ifdef CONFIG_SH_FPU
if (current_cpu_data.flags & CPU_HAS_FPU) { if (boot_cpu_data.flags & CPU_HAS_FPU) {
int owned_fp; int owned_fp;
struct task_struct *tsk = current; struct task_struct *tsk = current;
...@@ -472,6 +472,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, ...@@ -472,6 +472,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
err |= __put_user(OR_R0_R0, &frame->retcode[6]); err |= __put_user(OR_R0_R0, &frame->retcode[6]);
err |= __put_user((__NR_rt_sigreturn), &frame->retcode[7]); err |= __put_user((__NR_rt_sigreturn), &frame->retcode[7]);
regs->pr = (unsigned long) frame->retcode; regs->pr = (unsigned long) frame->retcode;
flush_icache_range(regs->pr, regs->pr + sizeof(frame->retcode));
} }
if (err) if (err)
...@@ -497,8 +498,6 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, ...@@ -497,8 +498,6 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
pr_debug("SIG deliver (%s:%d): sp=%p pc=%08lx pr=%08lx\n", pr_debug("SIG deliver (%s:%d): sp=%p pc=%08lx pr=%08lx\n",
current->comm, task_pid_nr(current), frame, regs->pc, regs->pr); current->comm, task_pid_nr(current), frame, regs->pc, regs->pr);
flush_icache_range(regs->pr, regs->pr + sizeof(frame->retcode));
return 0; return 0;
give_sigsegv: give_sigsegv:
......
...@@ -35,6 +35,8 @@ static inline void __init smp_store_cpu_info(unsigned int cpu) ...@@ -35,6 +35,8 @@ static inline void __init smp_store_cpu_info(unsigned int cpu)
{ {
struct sh_cpuinfo *c = cpu_data + cpu; struct sh_cpuinfo *c = cpu_data + cpu;
memcpy(c, &boot_cpu_data, sizeof(struct sh_cpuinfo));
c->loops_per_jiffy = loops_per_jiffy; c->loops_per_jiffy = loops_per_jiffy;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment