riscv: Cleanup unnecessary define in asm-offset.c
authorGuo Ren <guoren@linux.alibaba.com>
Sun, 12 Jul 2020 13:41:49 +0000 (13:41 +0000)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Thu, 30 Jul 2020 18:37:44 +0000 (11:37 -0700)
 - TASK_THREAD_SP is duplicated define
 - TASK_STACK is no use at all
 - Don't worry about thread_info's offset in task_struct, have
   a look on comment in include/linux/sched.h:

struct task_struct {
/*
 * For reasons of header soup (see current_thread_info()), this
 * must be the first element of task_struct.
 */
struct thread_info thread_info;

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
arch/riscv/kernel/asm-offsets.c
arch/riscv/kernel/entry.S

index 07cb9c10de4ec21f5b53792037fe5347cf54e089..db203442c08f969ebebcb357ae302f4e52bb189a 100644 (file)
@@ -27,9 +27,6 @@ void asm_offsets(void)
        OFFSET(TASK_THREAD_S9, task_struct, thread.s[9]);
        OFFSET(TASK_THREAD_S10, task_struct, thread.s[10]);
        OFFSET(TASK_THREAD_S11, task_struct, thread.s[11]);
-       OFFSET(TASK_THREAD_SP, task_struct, thread.sp);
-       OFFSET(TASK_STACK, task_struct, stack);
-       OFFSET(TASK_TI, task_struct, thread_info);
        OFFSET(TASK_TI_FLAGS, task_struct, thread_info.flags);
        OFFSET(TASK_TI_PREEMPT_COUNT, task_struct, thread_info.preempt_count);
        OFFSET(TASK_TI_KERNEL_SP, task_struct, thread_info.kernel_sp);
index 124506ef4c5dfd5ae3fb4bcde5316d8d021dd2dc..524d918f3601b2f73b8d4cf88a1936ad507b5f15 100644 (file)
@@ -435,12 +435,8 @@ ENTRY(__switch_to)
        lw a4, TASK_TI_CPU(a1)
        sw a3, TASK_TI_CPU(a1)
        sw a4, TASK_TI_CPU(a0)
-#if TASK_TI != 0
-#error "TASK_TI != 0: tp will contain a 'struct thread_info', not a 'struct task_struct' so get_current() won't work."
-       addi tp, a1, TASK_TI
-#else
+       /* The offset of thread_info in task_struct is zero. */
        move tp, a1
-#endif
        ret
 ENDPROC(__switch_to)