csky: Fixup remove unnecessary save/restore PSR code
authorGuo Ren <guoren@linux.alibaba.com>
Wed, 13 May 2020 09:16:26 +0000 (17:16 +0800)
committerGuo Ren <guoren@linux.alibaba.com>
Wed, 13 May 2020 09:55:06 +0000 (17:55 +0800)
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: Guo Ren <guoren@linux.alibaba.com>
arch/csky/include/asm/processor.h
arch/csky/kernel/asm-offsets.c
arch/csky/kernel/entry.S

index c6bcd7f7c720bbc2485bb32697881787c07edfb1..79eaaaed3d23507aaf9c0e27d378d0ef7e346f2c 100644 (file)
@@ -42,7 +42,6 @@ extern struct cpuinfo_csky cpu_data[];
 
 struct thread_struct {
        unsigned long  ksp;       /* kernel stack pointer */
-       unsigned long  sr;        /* saved status register */
        unsigned long  trap_no;   /* saved status register */
 
        /* FPU regs */
@@ -51,7 +50,6 @@ struct thread_struct {
 
 #define INIT_THREAD  { \
        .ksp = sizeof(init_stack) + (unsigned long) &init_stack, \
-       .sr = DEFAULT_PSR_VALUE, \
 }
 
 /*
index f8be348df9e49a656d0e7099724313a522d7f20b..bbc259eed23395e540d9ee365c2a59ed74983315 100644 (file)
@@ -19,7 +19,6 @@ int main(void)
 
        /* offsets into the thread struct */
        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_FCR,        offsetof(struct thread_struct, user_fp.fcr));
        DEFINE(THREAD_FPREG,      offsetof(struct thread_struct, user_fp.vr));
index 6a468ff7543213c1768fc4562de1f154169213f2..3760397fdd3d9ea83a563f42635a80fccdaeb002 100644 (file)
@@ -330,9 +330,6 @@ ENTRY(__switch_to)
        lrw     a3, TASK_THREAD
        addu    a3, a0
 
-       mfcr    a2, psr                 /* Save PSR value */
-       stw     a2, (a3, THREAD_SR)     /* Save PSR in task struct */
-
        SAVE_SWITCH_STACK
 
        stw     sp, (a3, THREAD_KSP)
@@ -343,12 +340,9 @@ ENTRY(__switch_to)
 
        ldw     sp, (a3, THREAD_KSP)    /* Set next kernel sp */
 
-       ldw     a2, (a3, THREAD_SR)     /* Set next PSR */
-       mtcr    a2, psr
-
 #if  defined(__CSKYABIV2__)
-       addi    r7, a1, TASK_THREAD_INFO
-       ldw     tls, (r7, TINFO_TP_VALUE)
+       addi    a3, a1, TASK_THREAD_INFO
+       ldw     tls, (a3, TINFO_TP_VALUE)
 #endif
 
        RESTORE_SWITCH_STACK