diff options
Diffstat (limited to 'arch/sh/include/asm/processor_32.h')
-rw-r--r-- | arch/sh/include/asm/processor_32.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h index 50b8c9c3fa4..a359898206e 100644 --- a/arch/sh/include/asm/processor_32.h +++ b/arch/sh/include/asm/processor_32.h | |||
@@ -90,11 +90,15 @@ struct sh_fpu_soft_struct { | |||
90 | unsigned long entry_pc; | 90 | unsigned long entry_pc; |
91 | }; | 91 | }; |
92 | 92 | ||
93 | union sh_fpu_union { | 93 | union thread_xstate { |
94 | struct sh_fpu_hard_struct hard; | 94 | struct sh_fpu_hard_struct hardfpu; |
95 | struct sh_fpu_soft_struct soft; | 95 | struct sh_fpu_soft_struct softfpu; |
96 | }; | 96 | }; |
97 | 97 | ||
98 | extern unsigned int xstate_size; | ||
99 | extern void free_thread_xstate(struct task_struct *); | ||
100 | extern struct kmem_cache *task_xstate_cachep; | ||
101 | |||
98 | struct thread_struct { | 102 | struct thread_struct { |
99 | /* Saved registers when thread is descheduled */ | 103 | /* Saved registers when thread is descheduled */ |
100 | unsigned long sp; | 104 | unsigned long sp; |
@@ -103,13 +107,13 @@ struct thread_struct { | |||
103 | /* Hardware debugging registers */ | 107 | /* Hardware debugging registers */ |
104 | unsigned long ubc_pc; | 108 | unsigned long ubc_pc; |
105 | 109 | ||
106 | /* floating point info */ | ||
107 | union sh_fpu_union fpu; | ||
108 | |||
109 | #ifdef CONFIG_SH_DSP | 110 | #ifdef CONFIG_SH_DSP |
110 | /* Dsp status information */ | 111 | /* Dsp status information */ |
111 | struct sh_dsp_struct dsp_status; | 112 | struct sh_dsp_struct dsp_status; |
112 | #endif | 113 | #endif |
114 | |||
115 | /* Extended processor state */ | ||
116 | union thread_xstate *xstate; | ||
113 | }; | 117 | }; |
114 | 118 | ||
115 | /* Count of active tasks with UBC settings */ | 119 | /* Count of active tasks with UBC settings */ |