OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-alpha/] [irq.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _ALPHA_IRQ_H
2
#define _ALPHA_IRQ_H
3
 
4
/*
5
 *      linux/include/alpha/irq.h
6
 *
7
 *      (C) 1994 Linus Torvalds
8
 */
9
 
10
#include <linux/linkage.h>
11
#include <linux/config.h>
12
 
13
#if   defined(CONFIG_ALPHA_GENERIC)
14
 
15
/* Here NR_IRQS is not exact, but rather an upper bound.  This is used
16
   many places throughout the kernel to size static arrays.  That's ok,
17
   we'll use alpha_mv.nr_irqs when we want the real thing.  */
18
 
19
/* When LEGACY_START_ADDRESS is selected, we leave out:
20
     TITAN
21
     WILDFIRE
22
     MARVEL
23
*/
24
 
25
# if defined(CONFIG_ALPHA_LEGACY_START_ADDRESS)
26
#  define NR_IRQS       (128)           /* max is RAWHIDE/TAKARA */
27
# else
28
#  define NR_IRQS       (32768 + 16)    /* marvel - 32 pids */
29
# endif
30
 
31
#elif defined(CONFIG_ALPHA_CABRIOLET) || \
32
      defined(CONFIG_ALPHA_EB66P)     || \
33
      defined(CONFIG_ALPHA_EB164)     || \
34
      defined(CONFIG_ALPHA_PC164)     || \
35
      defined(CONFIG_ALPHA_LX164)
36
# define NR_IRQS        35
37
 
38
#elif defined(CONFIG_ALPHA_EB66)      || \
39
      defined(CONFIG_ALPHA_EB64P)     || \
40
      defined(CONFIG_ALPHA_MIKASA)
41
# define NR_IRQS        32
42
 
43
#elif defined(CONFIG_ALPHA_ALCOR)     || \
44
      defined(CONFIG_ALPHA_XLT)       || \
45
      defined(CONFIG_ALPHA_MIATA)     || \
46
      defined(CONFIG_ALPHA_RUFFIAN)   || \
47
      defined(CONFIG_ALPHA_RX164)     || \
48
      defined(CONFIG_ALPHA_NORITAKE)
49
# define NR_IRQS        48
50
 
51
#elif defined(CONFIG_ALPHA_SABLE)     || \
52
      defined(CONFIG_ALPHA_SX164)
53
# define NR_IRQS        40
54
 
55
#elif defined(CONFIG_ALPHA_DP264) || \
56
      defined(CONFIG_ALPHA_LYNX)  || \
57
      defined(CONFIG_ALPHA_SHARK) || \
58
      defined(CONFIG_ALPHA_EIGER)
59
# define NR_IRQS        64
60
 
61
#elif defined(CONFIG_ALPHA_TITAN)
62
#define NR_IRQS         80
63
 
64
#elif defined(CONFIG_ALPHA_RAWHIDE) || \
65
        defined(CONFIG_ALPHA_TAKARA)
66
# define NR_IRQS        128
67
 
68
#elif defined(CONFIG_ALPHA_WILDFIRE)
69
# define NR_IRQS        2048 /* enuff for 8 QBBs */
70
 
71
#elif defined(CONFIG_ALPHA_MARVEL)
72
# define NR_IRQS        (32768 + 16)    /* marvel - 32 pids */
73
 
74
#else /* everyone else */
75
# define NR_IRQS        16
76
#endif
77
 
78
static __inline__ int irq_cannonicalize(int irq)
79
{
80
        /*
81
         * XXX is this true for all Alpha's?  The old serial driver
82
         * did it this way for years without any complaints, so....
83
         */
84
        return ((irq == 2) ? 9 : irq);
85
}
86
 
87
extern void disable_irq(unsigned int);
88
extern void disable_irq_nosync(unsigned int);
89
extern void enable_irq(unsigned int);
90
 
91
struct pt_regs;
92
extern void (*perf_irq)(unsigned long, struct pt_regs *);
93
 
94
 
95
#endif /* _ALPHA_IRQ_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.