diff options
Diffstat (limited to 'arch/sparc/kernel/entry.h')
-rw-r--r-- | arch/sparc/kernel/entry.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/sparc/kernel/entry.h b/arch/sparc/kernel/entry.h index a9ab19aa0411..06db4f18e453 100644 --- a/arch/sparc/kernel/entry.h +++ b/arch/sparc/kernel/entry.h | |||
@@ -5,6 +5,40 @@ | |||
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/init.h> | 6 | #include <linux/init.h> |
7 | 7 | ||
8 | #ifdef CONFIG_SPARC32 | ||
9 | /* traps */ | ||
10 | extern void do_hw_interrupt(struct pt_regs *regs, unsigned long type); | ||
11 | extern void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, | ||
12 | unsigned long npc, unsigned long psr); | ||
13 | |||
14 | extern void do_priv_instruction(struct pt_regs *regs, unsigned long pc, | ||
15 | unsigned long npc, unsigned long psr); | ||
16 | extern void do_memaccess_unaligned(struct pt_regs *regs, unsigned long pc, | ||
17 | unsigned long npc, | ||
18 | unsigned long psr); | ||
19 | extern void do_fpd_trap(struct pt_regs *regs, unsigned long pc, | ||
20 | unsigned long npc, unsigned long psr); | ||
21 | extern void do_fpe_trap(struct pt_regs *regs, unsigned long pc, | ||
22 | unsigned long npc, unsigned long psr); | ||
23 | extern void handle_tag_overflow(struct pt_regs *regs, unsigned long pc, | ||
24 | unsigned long npc, unsigned long psr); | ||
25 | extern void handle_watchpoint(struct pt_regs *regs, unsigned long pc, | ||
26 | unsigned long npc, unsigned long psr); | ||
27 | extern void handle_reg_access(struct pt_regs *regs, unsigned long pc, | ||
28 | unsigned long npc, unsigned long psr); | ||
29 | extern void handle_cp_disabled(struct pt_regs *regs, unsigned long pc, | ||
30 | unsigned long npc, unsigned long psr); | ||
31 | extern void handle_cp_exception(struct pt_regs *regs, unsigned long pc, | ||
32 | unsigned long npc, unsigned long psr); | ||
33 | |||
34 | |||
35 | |||
36 | /* entry.S */ | ||
37 | extern void fpsave(unsigned long *fpregs, unsigned long *fsr, | ||
38 | void *fpqueue, unsigned long *fpqdepth); | ||
39 | extern void fpload(unsigned long *fpregs, unsigned long *fsr); | ||
40 | |||
41 | #else /* CONFIG_SPARC32 */ | ||
8 | extern void __init per_cpu_patch(void); | 42 | extern void __init per_cpu_patch(void); |
9 | extern void __init sun4v_patch(void); | 43 | extern void __init sun4v_patch(void); |
10 | extern void __init boot_cpu_id_too_large(int cpu); | 44 | extern void __init boot_cpu_id_too_large(int cpu); |
@@ -189,4 +223,5 @@ extern void handler_irq(int irq, struct pt_regs *regs); | |||
189 | extern void init_irqwork_curcpu(void); | 223 | extern void init_irqwork_curcpu(void); |
190 | extern void __cpuinit sun4v_register_mondo_queues(int this_cpu); | 224 | extern void __cpuinit sun4v_register_mondo_queues(int this_cpu); |
191 | 225 | ||
226 | #endif /* CONFIG_SPARC32 */ | ||
192 | #endif /* _ENTRY_H */ | 227 | #endif /* _ENTRY_H */ |