Commit 17a68777 authored by Guo Ren's avatar Guo Ren
Browse files

csky: remove unused members in processor.h



Cleanup struct cpuinfo_csky and struct thread_struct, remove all esp0
related code. We could get pt_regs from sp and backtrace could use fp
in switch_stack.

Signed-off-by: default avatarGuo Ren <ren_guo@c-sky.com>
parent 8f4f1639
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -17,14 +17,7 @@
#endif

struct cpuinfo_csky {
	unsigned long udelay_val;
	unsigned long asid_cache;
	/*
	 * Capability and feature descriptor structure for CSKY CPU
	 */
	unsigned long options;
	unsigned int processor_id[4];
	unsigned int fpu_id;
} __aligned(SMP_CACHE_BYTES);

extern struct cpuinfo_csky cpu_data[];
@@ -50,11 +43,6 @@ extern struct cpuinfo_csky cpu_data[];
struct thread_struct {
	unsigned long  ksp;       /* kernel stack pointer */
	unsigned long  sr;        /* saved status register */
	unsigned long  esp0;      /* points to SR of stack frame */

	/* Other stuff associated with the thread. */
	unsigned long address;      /* Last user fault */
	unsigned long error_code;

	/* FPU regs */
	struct user_fp __aligned(16) user_fp;
+0 −1
Original line number Diff line number Diff line
@@ -20,7 +20,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_ESP0,       offsetof(struct thread_struct, esp0));
	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));
+0 −12
Original line number Diff line number Diff line
@@ -122,16 +122,6 @@ ENTRY(csky_systemcall)

	psrset  ee, ie

	/* Stack frame for syscall, origin call set_esp0 */
	mov     r12, sp

	bmaski  r11, 13
	andn    r12, r11
	bgeni   r11, 9
	addi    r11, 32
	addu    r12, r11
	st      sp, (r12, 0)

	lrw     r11, __NR_syscalls
	cmphs   syscallid, r11		/* Check nr of syscall */
	bt      ret_from_exception
@@ -230,8 +220,6 @@ resume_userspace:
1:  RESTORE_ALL

exit_work:
	mov	a0, sp			/* Stack address is arg[0] */
	jbsr	set_esp0		/* Call C level */
	btsti	r8, TIF_NEED_RESCHED
	bt	work_resched
	/* If thread_info->flag is empty, RESTORE_ALL */
+0 −4
Original line number Diff line number Diff line
@@ -50,15 +50,11 @@ static void singlestep_enable(struct task_struct *tsk)
 */
void user_enable_single_step(struct task_struct *child)
{
	if (child->thread.esp0 == 0)
		return;
	singlestep_enable(child);
}

void user_disable_single_step(struct task_struct *child)
{
	if (child->thread.esp0 == 0)
		return;
	singlestep_disable(child);
}

+0 −2
Original line number Diff line number Diff line
@@ -238,8 +238,6 @@ static void do_signal(struct pt_regs *regs, int syscall)
	if (!user_mode(regs))
		return;

	current->thread.esp0 = (unsigned long)regs;

	/*
	 * If we were from a system call, check for system call restarting...
	 */
Loading