diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-12-08 10:04:59 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-08 10:04:59 +0100 |
commit | 8d74e32a537e8dbb22a1d5e9005d11111dab979a (patch) | |
tree | 0a5919ff70abb19060e707754f85a0875b3adb04 /arch/sparc/kernel/entry.h | |
parent | sparc: fix trivial style issues in kernel/pmc.c (diff) | |
download | linux-8d74e32a537e8dbb22a1d5e9005d11111dab979a.tar.xz linux-8d74e32a537e8dbb22a1d5e9005d11111dab979a.zip |
sparc: fix sparse warnings in traps_32.c
o add decalrations to entry.h for functions only used from assembler
o add declaratiosn to kernel.h for functions only used from .c
o removed unused functions/extern declarations
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
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 @@ #include <linux/types.h> #include <linux/init.h> +#ifdef CONFIG_SPARC32 +/* traps */ +extern void do_hw_interrupt(struct pt_regs *regs, unsigned long type); +extern void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); + +extern void do_priv_instruction(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void do_memaccess_unaligned(struct pt_regs *regs, unsigned long pc, + unsigned long npc, + unsigned long psr); +extern void do_fpd_trap(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void do_fpe_trap(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void handle_tag_overflow(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void handle_watchpoint(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void handle_reg_access(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void handle_cp_disabled(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); +extern void handle_cp_exception(struct pt_regs *regs, unsigned long pc, + unsigned long npc, unsigned long psr); + + + +/* entry.S */ +extern void fpsave(unsigned long *fpregs, unsigned long *fsr, + void *fpqueue, unsigned long *fpqdepth); +extern void fpload(unsigned long *fpregs, unsigned long *fsr); + +#else /* CONFIG_SPARC32 */ extern void __init per_cpu_patch(void); extern void __init sun4v_patch(void); extern void __init boot_cpu_id_too_large(int cpu); @@ -189,4 +223,5 @@ extern void handler_irq(int irq, struct pt_regs *regs); extern void init_irqwork_curcpu(void); extern void __cpuinit sun4v_register_mondo_queues(int this_cpu); +#endif /* CONFIG_SPARC32 */ #endif /* _ENTRY_H */ |