aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-01-19 01:40:03 -0500
committerPaul Mundt <lethal@linux-sh.org>2010-01-19 01:40:03 -0500
commit3ef2932b8c1fc89408ef1fd4b1e1c2caabc7f07d (patch)
tree0b12eea51d98e1edd1ef891ed7fe0a7feec4341c /arch/sh/include/asm
parentcb6d04468d16de5a6161167ec7e76a43be540a80 (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.h6
-rw-r--r--arch/sh/include/asm/processor_32.h4
-rw-r--r--arch/sh/include/asm/processor_64.h18
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 */
100struct seq_operations; 100struct seq_operations;
101struct task_struct;
101 102
102extern struct pt_regs fake_swapper_regs; 103extern struct pt_regs fake_swapper_regs;
103 104
105/* arch/sh/kernel/process.c */
106extern unsigned int xstate_size;
107extern void free_thread_xstate(struct task_struct *);
108extern struct kmem_cache *task_xstate_cachep;
109
104/* arch/sh/mm/init.c */ 110/* arch/sh/mm/init.c */
105extern unsigned int mem_init_done; 111extern 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
99extern unsigned int xstate_size;
100extern void free_thread_xstate(struct task_struct *);
101extern struct kmem_cache *task_xstate_cachep;
102
103struct thread_struct { 99struct 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 */
92struct sh_fpu_soft_struct { 91struct 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
100union sh_fpu_union { 98union 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/*