diff options
Diffstat (limited to 'arch/sparc/include')
-rw-r--r-- | arch/sparc/include/asm/leon.h | 5 | ||||
-rw-r--r-- | arch/sparc/include/asm/thread_info_32.h | 2 | ||||
-rw-r--r-- | arch/sparc/include/asm/thread_info_64.h | 25 |
3 files changed, 5 insertions, 27 deletions
diff --git a/arch/sparc/include/asm/leon.h b/arch/sparc/include/asm/leon.h index 24f802beffb9..07659124c140 100644 --- a/arch/sparc/include/asm/leon.h +++ b/arch/sparc/include/asm/leon.h | |||
@@ -270,6 +270,7 @@ struct leon2_cacheregs { | |||
270 | #include <linux/interrupt.h> | 270 | #include <linux/interrupt.h> |
271 | 271 | ||
272 | struct device_node; | 272 | struct device_node; |
273 | struct task_struct; | ||
273 | extern unsigned int leon_build_device_irq(unsigned int real_irq, | 274 | extern unsigned int leon_build_device_irq(unsigned int real_irq, |
274 | irq_flow_handler_t flow_handler, | 275 | irq_flow_handler_t flow_handler, |
275 | const char *name, int do_ack); | 276 | const char *name, int do_ack); |
@@ -289,7 +290,7 @@ extern int leon_smp_nrcpus(void); | |||
289 | extern void leon_clear_profile_irq(int cpu); | 290 | extern void leon_clear_profile_irq(int cpu); |
290 | extern void leon_smp_done(void); | 291 | extern void leon_smp_done(void); |
291 | extern void leon_boot_cpus(void); | 292 | extern void leon_boot_cpus(void); |
292 | extern int leon_boot_one_cpu(int i); | 293 | extern int leon_boot_one_cpu(int i, struct task_struct *); |
293 | void leon_init_smp(void); | 294 | void leon_init_smp(void); |
294 | extern void cpu_idle(void); | 295 | extern void cpu_idle(void); |
295 | extern void init_IRQ(void); | 296 | extern void init_IRQ(void); |
@@ -325,7 +326,7 @@ extern int leon_ipi_irq; | |||
325 | #define init_leon() do {} while (0) | 326 | #define init_leon() do {} while (0) |
326 | #define leon_smp_done() do {} while (0) | 327 | #define leon_smp_done() do {} while (0) |
327 | #define leon_boot_cpus() do {} while (0) | 328 | #define leon_boot_cpus() do {} while (0) |
328 | #define leon_boot_one_cpu(i) 1 | 329 | #define leon_boot_one_cpu(i, t) 1 |
329 | #define leon_init_smp() do {} while (0) | 330 | #define leon_init_smp() do {} while (0) |
330 | 331 | ||
331 | #endif /* !defined(CONFIG_SPARC_LEON) */ | 332 | #endif /* !defined(CONFIG_SPARC_LEON) */ |
diff --git a/arch/sparc/include/asm/thread_info_32.h b/arch/sparc/include/asm/thread_info_32.h index cd0b2dc8fab9..21a38946541d 100644 --- a/arch/sparc/include/asm/thread_info_32.h +++ b/arch/sparc/include/asm/thread_info_32.h | |||
@@ -79,8 +79,6 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
79 | */ | 79 | */ |
80 | #define THREAD_INFO_ORDER 1 | 80 | #define THREAD_INFO_ORDER 1 |
81 | 81 | ||
82 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR | ||
83 | |||
84 | struct thread_info * alloc_thread_info_node(struct task_struct *tsk, int node); | 82 | struct thread_info * alloc_thread_info_node(struct task_struct *tsk, int node); |
85 | void free_thread_info(struct thread_info *); | 83 | void free_thread_info(struct thread_info *); |
86 | 84 | ||
diff --git a/arch/sparc/include/asm/thread_info_64.h b/arch/sparc/include/asm/thread_info_64.h index 01d057fe6a3f..7f0981b09451 100644 --- a/arch/sparc/include/asm/thread_info_64.h +++ b/arch/sparc/include/asm/thread_info_64.h | |||
@@ -138,32 +138,11 @@ register struct thread_info *current_thread_info_reg asm("g6"); | |||
138 | 138 | ||
139 | /* thread information allocation */ | 139 | /* thread information allocation */ |
140 | #if PAGE_SHIFT == 13 | 140 | #if PAGE_SHIFT == 13 |
141 | #define __THREAD_INFO_ORDER 1 | 141 | #define THREAD_SIZE_ORDER 1 |
142 | #else /* PAGE_SHIFT == 13 */ | 142 | #else /* PAGE_SHIFT == 13 */ |
143 | #define __THREAD_INFO_ORDER 0 | 143 | #define THREAD_SIZE_ORDER 0 |
144 | #endif /* PAGE_SHIFT == 13 */ | 144 | #endif /* PAGE_SHIFT == 13 */ |
145 | 145 | ||
146 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR | ||
147 | |||
148 | #ifdef CONFIG_DEBUG_STACK_USAGE | ||
149 | #define THREAD_FLAGS (GFP_KERNEL | __GFP_ZERO) | ||
150 | #else | ||
151 | #define THREAD_FLAGS (GFP_KERNEL) | ||
152 | #endif | ||
153 | |||
154 | #define alloc_thread_info_node(tsk, node) \ | ||
155 | ({ \ | ||
156 | struct page *page = alloc_pages_node(node, THREAD_FLAGS, \ | ||
157 | __THREAD_INFO_ORDER); \ | ||
158 | struct thread_info *ret; \ | ||
159 | \ | ||
160 | ret = page ? page_address(page) : NULL; \ | ||
161 | ret; \ | ||
162 | }) | ||
163 | |||
164 | #define free_thread_info(ti) \ | ||
165 | free_pages((unsigned long)(ti),__THREAD_INFO_ORDER) | ||
166 | |||
167 | #define __thread_flag_byte_ptr(ti) \ | 146 | #define __thread_flag_byte_ptr(ti) \ |
168 | ((unsigned char *)(&((ti)->flags))) | 147 | ((unsigned char *)(&((ti)->flags))) |
169 | #define __cur_thread_flag_byte_ptr __thread_flag_byte_ptr(current_thread_info()) | 148 | #define __cur_thread_flag_byte_ptr __thread_flag_byte_ptr(current_thread_info()) |