aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/include')
-rw-r--r--arch/sparc/include/asm/leon.h5
-rw-r--r--arch/sparc/include/asm/thread_info_32.h2
-rw-r--r--arch/sparc/include/asm/thread_info_64.h25
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
272struct device_node; 272struct device_node;
273struct task_struct;
273extern unsigned int leon_build_device_irq(unsigned int real_irq, 274extern 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);
289extern void leon_clear_profile_irq(int cpu); 290extern void leon_clear_profile_irq(int cpu);
290extern void leon_smp_done(void); 291extern void leon_smp_done(void);
291extern void leon_boot_cpus(void); 292extern void leon_boot_cpus(void);
292extern int leon_boot_one_cpu(int i); 293extern int leon_boot_one_cpu(int i, struct task_struct *);
293void leon_init_smp(void); 294void leon_init_smp(void);
294extern void cpu_idle(void); 295extern void cpu_idle(void);
295extern void init_IRQ(void); 296extern 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
84struct thread_info * alloc_thread_info_node(struct task_struct *tsk, int node); 82struct thread_info * alloc_thread_info_node(struct task_struct *tsk, int node);
85void free_thread_info(struct thread_info *); 83void 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())