aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/processor_32.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/include/asm/processor_32.h')
-rw-r--r--arch/sh/include/asm/processor_32.h16
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
93union sh_fpu_union { 93union 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
98extern unsigned int xstate_size;
99extern void free_thread_xstate(struct task_struct *);
100extern struct kmem_cache *task_xstate_cachep;
101
98struct thread_struct { 102struct 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 */