linux/arch/sparc/kernel/kernel.h
<<
>>
Prefs
   1#ifndef __SPARC_KERNEL_H
   2#define __SPARC_KERNEL_H
   3
   4#include <linux/interrupt.h>
   5
   6#include <asm/traps.h>
   7#include <asm/head.h>
   8#include <asm/io.h>
   9
  10/* cpu.c */
  11extern const char *sparc_pmu_type;
  12extern unsigned int fsr_storage;
  13extern int ncpus_probed;
  14
  15#ifdef CONFIG_SPARC64
  16/* setup_64.c */
  17struct seq_file;
  18extern void cpucap_info(struct seq_file *);
  19
  20static inline unsigned long kimage_addr_to_ra(const char *p)
  21{
  22        unsigned long val = (unsigned long) p;
  23
  24        return kern_base + (val - KERNBASE);
  25}
  26#endif
  27
  28#ifdef CONFIG_SPARC32
  29/* setup_32.c */
  30void sparc32_start_kernel(struct linux_romvec *rp);
  31
  32/* cpu.c */
  33extern void cpu_probe(void);
  34
  35/* traps_32.c */
  36extern void handle_hw_divzero(struct pt_regs *regs, unsigned long pc,
  37                              unsigned long npc, unsigned long psr);
  38/* irq_32.c */
  39extern struct irqaction static_irqaction[];
  40extern int static_irq_count;
  41extern spinlock_t irq_action_lock;
  42
  43extern void unexpected_irq(int irq, void *dev_id, struct pt_regs * regs);
  44extern void init_IRQ(void);
  45
  46/* sun4m_irq.c */
  47extern void sun4m_init_IRQ(void);
  48extern void sun4m_unmask_profile_irq(void);
  49extern void sun4m_clear_profile_irq(int cpu);
  50
  51/* sun4m_smp.c */
  52void sun4m_cpu_pre_starting(void *arg);
  53void sun4m_cpu_pre_online(void *arg);
  54
  55/* sun4d_irq.c */
  56extern spinlock_t sun4d_imsk_lock;
  57
  58extern void sun4d_init_IRQ(void);
  59extern int sun4d_request_irq(unsigned int irq,
  60                             irq_handler_t handler,
  61                             unsigned long irqflags,
  62                             const char *devname, void *dev_id);
  63extern int show_sun4d_interrupts(struct seq_file *, void *);
  64extern void sun4d_distribute_irqs(void);
  65extern void sun4d_free_irq(unsigned int irq, void *dev_id);
  66
  67/* sun4d_smp.c */
  68void sun4d_cpu_pre_starting(void *arg);
  69void sun4d_cpu_pre_online(void *arg);
  70
  71/* leon_smp.c */
  72void leon_cpu_pre_starting(void *arg);
  73void leon_cpu_pre_online(void *arg);
  74
  75/* head_32.S */
  76extern unsigned int t_nmi[];
  77extern unsigned int linux_trap_ipi15_sun4d[];
  78extern unsigned int linux_trap_ipi15_sun4m[];
  79
  80extern struct tt_entry trapbase_cpu1;
  81extern struct tt_entry trapbase_cpu2;
  82extern struct tt_entry trapbase_cpu3;
  83
  84extern char cputypval[];
  85
  86/* entry.S */
  87extern unsigned long lvl14_save[4];
  88extern unsigned int real_irq_entry[];
  89extern unsigned int smp4d_ticker[];
  90extern unsigned int patchme_maybe_smp_msg[];
  91
  92extern void floppy_hardint(void);
  93
  94/* trampoline_32.S */
  95extern unsigned long sun4m_cpu_startup;
  96extern unsigned long sun4d_cpu_startup;
  97
  98#else /* CONFIG_SPARC32 */
  99#endif /* CONFIG_SPARC32 */
 100#endif /* !(__SPARC_KERNEL_H) */
 101