linux-bk/include/asm-i386/irq.h History
<<
>>
Prefs
   1#ifndef _ASM_IRQ_H
   2#define _ASM_IRQ_H
   3
   4/*
   5 *      linux/include/asm/irq.h
   6 *
   7 *      (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
   8 *
   9 *      IRQ/IPI changes taken from work by Thomas Radke
  10 *      <tomsoft@informatik.tu-chemnitz.de>
  11 */
  12
  13#include <linux/config.h>
  14#include <linux/sched.h>
  15/* include comes from machine specific directory */
  16#include "irq_vectors.h"
  17#include <asm/thread_info.h>
  18
  19static __inline__ int irq_canonicalize(int irq)
  20{
  21        return ((irq == 2) ? 9 : irq);
  22}
  23
  24extern void disable_irq(unsigned int);
  25extern void disable_irq_nosync(unsigned int);
  26extern void enable_irq(unsigned int);
  27extern void release_x86_irqs(struct task_struct *);
  28extern int can_request_irq(unsigned int, unsigned long flags);
  29
  30#ifdef CONFIG_X86_LOCAL_APIC
  31#define ARCH_HAS_NMI_WATCHDOG           /* See include/linux/nmi.h */
  32#endif
  33
  34#ifdef CONFIG_4KSTACKS
  35/*
  36 * per-CPU IRQ handling contexts (thread information and stack)
  37 */
  38union irq_ctx {
  39        struct thread_info      tinfo;
  40        u32                     stack[THREAD_SIZE/sizeof(u32)];
  41};
  42
  43extern union irq_ctx *hardirq_ctx[NR_CPUS];
  44extern union irq_ctx *softirq_ctx[NR_CPUS];
  45
  46extern void irq_ctx_init(int cpu);
  47
  48#define __ARCH_HAS_DO_SOFTIRQ
  49#else
  50#define irq_ctx_init(cpu) do { ; } while (0)
  51#endif
  52
  53struct irqaction;
  54struct pt_regs;
  55asmlinkage int handle_IRQ_event(unsigned int, struct pt_regs *,
  56                                struct irqaction *);
  57
  58#endif /* _ASM_IRQ_H */
  59
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.