diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-01-19 01:40:03 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-01-19 01:40:03 -0500 |
commit | 3ef2932b8c1fc89408ef1fd4b1e1c2caabc7f07d (patch) | |
tree | 0b12eea51d98e1edd1ef891ed7fe0a7feec4341c /arch/sh/include/asm | |
parent | cb6d04468d16de5a6161167ec7e76a43be540a80 (diff) |
sh64: Fix up the build for the thread_xstate changes.
This updates the sh64 processor info with the sh32 changes in order to
tie in to the generic task_xstate management code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm')
-rw-r--r-- | arch/sh/include/asm/processor.h | 6 | ||||
-rw-r--r-- | arch/sh/include/asm/processor_32.h | 4 | ||||
-rw-r--r-- | arch/sh/include/asm/processor_64.h | 18 |
3 files changed, 15 insertions, 13 deletions
diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h index a522e5d8f44f..87a8d1ef64e4 100644 --- a/arch/sh/include/asm/processor.h +++ b/arch/sh/include/asm/processor.h | |||
@@ -98,9 +98,15 @@ extern struct sh_cpuinfo cpu_data[]; | |||
98 | 98 | ||
99 | /* Forward decl */ | 99 | /* Forward decl */ |
100 | struct seq_operations; | 100 | struct seq_operations; |
101 | struct task_struct; | ||
101 | 102 | ||
102 | extern struct pt_regs fake_swapper_regs; | 103 | extern struct pt_regs fake_swapper_regs; |
103 | 104 | ||
105 | /* arch/sh/kernel/process.c */ | ||
106 | extern unsigned int xstate_size; | ||
107 | extern void free_thread_xstate(struct task_struct *); | ||
108 | extern struct kmem_cache *task_xstate_cachep; | ||
109 | |||
104 | /* arch/sh/mm/init.c */ | 110 | /* arch/sh/mm/init.c */ |
105 | extern unsigned int mem_init_done; | 111 | extern unsigned int mem_init_done; |
106 | 112 | ||
diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h index 5fd83125fb89..488f0a906a41 100644 --- a/arch/sh/include/asm/processor_32.h +++ b/arch/sh/include/asm/processor_32.h | |||
@@ -96,10 +96,6 @@ union thread_xstate { | |||
96 | struct sh_fpu_soft_struct softfpu; | 96 | struct sh_fpu_soft_struct softfpu; |
97 | }; | 97 | }; |
98 | 98 | ||
99 | extern unsigned int xstate_size; | ||
100 | extern void free_thread_xstate(struct task_struct *); | ||
101 | extern struct kmem_cache *task_xstate_cachep; | ||
102 | |||
103 | struct thread_struct { | 99 | struct thread_struct { |
104 | /* Saved registers when thread is descheduled */ | 100 | /* Saved registers when thread is descheduled */ |
105 | unsigned long sp; | 101 | unsigned long sp; |
diff --git a/arch/sh/include/asm/processor_64.h b/arch/sh/include/asm/processor_64.h index 5727d31b0ccf..7b1560f03d14 100644 --- a/arch/sh/include/asm/processor_64.h +++ b/arch/sh/include/asm/processor_64.h | |||
@@ -87,20 +87,21 @@ struct sh_fpu_hard_struct { | |||
87 | /* long status; * software status information */ | 87 | /* long status; * software status information */ |
88 | }; | 88 | }; |
89 | 89 | ||
90 | #if 0 | ||
91 | /* Dummy fpu emulator */ | 90 | /* Dummy fpu emulator */ |
92 | struct sh_fpu_soft_struct { | 91 | struct sh_fpu_soft_struct { |
93 | unsigned long long fp_regs[32]; | 92 | unsigned long fp_regs[64]; |
94 | unsigned int fpscr; | 93 | unsigned int fpscr; |
95 | unsigned char lookahead; | 94 | unsigned char lookahead; |
96 | unsigned long entry_pc; | 95 | unsigned long entry_pc; |
97 | }; | 96 | }; |
98 | #endif | ||
99 | 97 | ||
100 | union sh_fpu_union { | 98 | union thread_xstate { |
101 | struct sh_fpu_hard_struct hard; | 99 | struct sh_fpu_hard_struct hardfpu; |
102 | /* 'hard' itself only produces 32 bit alignment, yet we need | 100 | struct sh_fpu_soft_struct softfpu; |
103 | to access it using 64 bit load/store as well. */ | 101 | /* |
102 | * The structure definitions only produce 32 bit alignment, yet we need | ||
103 | * to access them using 64 bit load/store as well. | ||
104 | */ | ||
104 | unsigned long long alignment_dummy; | 105 | unsigned long long alignment_dummy; |
105 | }; | 106 | }; |
106 | 107 | ||
@@ -122,7 +123,7 @@ struct thread_struct { | |||
122 | /* Hardware debugging registers may come here */ | 123 | /* Hardware debugging registers may come here */ |
123 | 124 | ||
124 | /* floating point info */ | 125 | /* floating point info */ |
125 | union sh_fpu_union fpu; | 126 | union thread_xstate *xstate; |
126 | }; | 127 | }; |
127 | 128 | ||
128 | #define INIT_MMAP \ | 129 | #define INIT_MMAP \ |
@@ -137,7 +138,6 @@ struct thread_struct { | |||
137 | .trap_no = 0, \ | 138 | .trap_no = 0, \ |
138 | .error_code = 0, \ | 139 | .error_code = 0, \ |
139 | .address = 0, \ | 140 | .address = 0, \ |
140 | .fpu = { { { 0, } }, } \ | ||
141 | } | 141 | } |
142 | 142 | ||
143 | /* | 143 | /* |