Commit 9e2ca153 authored by Guo Ren's avatar Guo Ren

csky: Fixup remove unnecessary save/restore PSR code

All processes' PSR could success from SETUP_MMU, so need set it
in INIT_THREAD again.

And use a3 instead of r7 in __switch_to for code convention.
Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
parent 6633a5aa
...@@ -42,7 +42,6 @@ extern struct cpuinfo_csky cpu_data[]; ...@@ -42,7 +42,6 @@ extern struct cpuinfo_csky cpu_data[];
struct thread_struct { struct thread_struct {
unsigned long ksp; /* kernel stack pointer */ unsigned long ksp; /* kernel stack pointer */
unsigned long sr; /* saved status register */
unsigned long trap_no; /* saved status register */ unsigned long trap_no; /* saved status register */
/* FPU regs */ /* FPU regs */
...@@ -51,7 +50,6 @@ struct thread_struct { ...@@ -51,7 +50,6 @@ struct thread_struct {
#define INIT_THREAD { \ #define INIT_THREAD { \
.ksp = sizeof(init_stack) + (unsigned long) &init_stack, \ .ksp = sizeof(init_stack) + (unsigned long) &init_stack, \
.sr = DEFAULT_PSR_VALUE, \
} }
/* /*
......
...@@ -19,7 +19,6 @@ int main(void) ...@@ -19,7 +19,6 @@ int main(void)
/* offsets into the thread struct */ /* offsets into the thread struct */
DEFINE(THREAD_KSP, offsetof(struct thread_struct, ksp)); DEFINE(THREAD_KSP, offsetof(struct thread_struct, ksp));
DEFINE(THREAD_SR, offsetof(struct thread_struct, sr));
DEFINE(THREAD_FESR, offsetof(struct thread_struct, user_fp.fesr)); DEFINE(THREAD_FESR, offsetof(struct thread_struct, user_fp.fesr));
DEFINE(THREAD_FCR, offsetof(struct thread_struct, user_fp.fcr)); DEFINE(THREAD_FCR, offsetof(struct thread_struct, user_fp.fcr));
DEFINE(THREAD_FPREG, offsetof(struct thread_struct, user_fp.vr)); DEFINE(THREAD_FPREG, offsetof(struct thread_struct, user_fp.vr));
......
...@@ -330,9 +330,6 @@ ENTRY(__switch_to) ...@@ -330,9 +330,6 @@ ENTRY(__switch_to)
lrw a3, TASK_THREAD lrw a3, TASK_THREAD
addu a3, a0 addu a3, a0
mfcr a2, psr /* Save PSR value */
stw a2, (a3, THREAD_SR) /* Save PSR in task struct */
SAVE_SWITCH_STACK SAVE_SWITCH_STACK
stw sp, (a3, THREAD_KSP) stw sp, (a3, THREAD_KSP)
...@@ -343,12 +340,9 @@ ENTRY(__switch_to) ...@@ -343,12 +340,9 @@ ENTRY(__switch_to)
ldw sp, (a3, THREAD_KSP) /* Set next kernel sp */ ldw sp, (a3, THREAD_KSP) /* Set next kernel sp */
ldw a2, (a3, THREAD_SR) /* Set next PSR */
mtcr a2, psr
#if defined(__CSKYABIV2__) #if defined(__CSKYABIV2__)
addi r7, a1, TASK_THREAD_INFO addi a3, a1, TASK_THREAD_INFO
ldw tls, (r7, TINFO_TP_VALUE) ldw tls, (a3, TINFO_TP_VALUE)
#endif #endif
RESTORE_SWITCH_STACK RESTORE_SWITCH_STACK
......
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