Skip to contentSkip to conversation

x86-64 use task_thread_info()

PATCH In review Benjamin LaHaise 1 participant 1 message Nov 30, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 4/9 x86-64 use task_thread_info()

Prepare x86-64 for thread_info in task_struct by using the task_thread_info() macro instead of struct task_struct->thread_info directly.

---

 arch/x86_64/kernel/i387.c    |    2 +-
 arch/x86_64/kernel/process.c |    2 +-
 arch/x86_64/kernel/smpboot.c |    2 +-
 include/asm-x86_64/i387.h    |    8 ++++----
 4 files changed, 7 insertions(+), 7 deletions(-)

applies-to: f7870b25d1df24c7f544559ea8c7295a3a636dd5 dd7b8a32d0da262a26934e79da8c08fcb2c80e89

arch/x86_64/kernel/i387.c +1 -1
index d9b22b6..a5d7e16 100644
@@ -95,7 +95,7 @@ int save_i387(struct _fpstate __user *bu
 	if (!used_math())
 		return 0;
 	clear_used_math(); /* trigger finit */
-	if (tsk->thread_info->status & TS_USEDFPU) {
+	if (task_thread_info(tsk)->status & TS_USEDFPU) {
 		err = save_i387_checking((struct i387_fxsave_struct __user *)buf);
 		if (err) return err;
 		stts();
arch/x86_64/kernel/process.c +1 -1
index 7519fc5..28ebe45 100644
@@ -435,7 +435,7 @@ int copy_thread(int nr, unsigned long cl
 	p->thread.rsp0 = (unsigned long) (childregs+1);
 	p->thread.userrsp = me->thread.userrsp; 
 
-	set_ti_thread_flag(p->thread_info, TIF_FORK);
+	set_ti_thread_flag(task_thread_info(p), TIF_FORK);
 
 	p->thread.fs = me->thread.fs;
 	p->thread.gs = me->thread.gs;
arch/x86_64/kernel/smpboot.c +1 -1
index 683c33f..50d018a 100644
@@ -785,7 +785,7 @@ do_rest:
 	init_rsp = c_idle.idle->thread.rsp;
 	per_cpu(init_tss,cpu).rsp0 = init_rsp;
 	initial_code = start_secondary;
-	clear_ti_thread_flag(c_idle.idle->thread_info, TIF_FORK);
+	clear_ti_thread_flag(task_thread_info(c_idle.idle), TIF_FORK);
 
 	printk(KERN_INFO "Booting processor %d/%d APIC 0x%x\n", cpu,
 		cpus_weight(cpu_present_map),
include/asm-x86_64/i387.h +4 -4
index aa39cfd..ae8b4c1 100644
@@ -30,7 +30,7 @@ extern int save_i387(struct _fpstate __u
  */
 
 #define unlazy_fpu(tsk) do { \
-	if ((tsk)->thread_info->status & TS_USEDFPU) \
+	if (task_thread_info(tsk)->status & TS_USEDFPU) \
 		save_init_fpu(tsk); \
 } while (0)
 
@@ -46,9 +46,9 @@ static inline void tolerant_fwait(void)
 }
 
 #define clear_fpu(tsk) do { \
-	if ((tsk)->thread_info->status & TS_USEDFPU) {		\
+	if (task_thread_info(tsk)->status & TS_USEDFPU) {		\
 		tolerant_fwait();				\
-		(tsk)->thread_info->status &= ~TS_USEDFPU;	\
+		task_thread_info(tsk)->status &= ~TS_USEDFPU;	\
 		stts();						\
 	}							\
 } while (0)
@@ -135,7 +135,7 @@ static inline void save_init_fpu( struct
 {
 	asm volatile( "rex64 ; fxsave %0 ; fnclex"
 		      : "=m" (tsk->thread.i387.fxsave));
-	tsk->thread_info->status &= ~TS_USEDFPU;
+	task_thread_info(tsk)->status &= ~TS_USEDFPU;
 	stts();
 }
 

---
0.99.9.GIT