FreeBSD/Linux Kernel Cross Reference
sys/i386ps2/pic_mca.c
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990 Carnegie Mellon University
4 * Copyright (c) 1991 IBM Corporation
5 * All Rights Reserved.
6 *
7 * Permission to use, copy, modify and distribute this software and its
8 * documentation is hereby granted, provided that both the copyright
9 * notice and this permission notice appear in all copies of the
10 * software, derivative works or modified versions, and any portions
11 * thereof, and that both notices appear in supporting documentation,
12 * and that the name IBM not be used in advertising or publicity
13 * pertaining to distribution of the software without specific, written
14 * prior permission.
15 *
16 * CARNEGIE MELLON AND IBM ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS"
17 * CONDITION. CARNEGIE MELLON AND IBM DISCLAIM ANY LIABILITY OF ANY KIND FOR
18 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
19 *
20 * Carnegie Mellon requests users of this software to return to
21 *
22 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
23 * School of Computer Science
24 * Carnegie Mellon University
25 * Pittsburgh PA 15213-3890
26 *
27 * any improvements or extensions that they make and grant Carnegie Mellon
28 * the rights to redistribute these changes.
29 */
30
31 /*
32 * HISTORY
33 * $Log: pic_mca.c,v $
34 * Revision 2.2 93/02/04 08:01:32 danner
35 * Integrate PS2 code from IBM.
36 * [93/01/18 prithvi]
37 * Synched 2.5 & 3.0 at I386q (r2.1.1.2) & XMK35 (r2.1)
38 * [90/11/15 rvb]
39 *
40 * We don't want to see clock interrupts till clkstart(),
41 * but we can not turn the interrupt off so we disable them.
42 * 2.5 ONLY!
43 * [90/11/05 rvb]
44 * Created based on pic.c
45 * [90/06/16 rvb]
46 *
47 */
48
49 #include <sys/types.h>
50 #include <i386/ipl.h>
51 #include <i386/pic.h>
52
53
54 /* These interrupts are always present */
55 extern intnull(), fpintr(), hardclock(), kdintr();
56 extern prtnull();
57
58 int (*ivect[NINTR])() = {
59 /* 00 */ hardclock, /* always */
60 /* 01 */ kdintr, /* kdintr, ... */
61 /* 02 */ intnull,
62 /* 03 */ intnull, /* lnpoll, comintr, ... */
63
64 /* 04 */ intnull, /* comintr, ... */
65 /* 05 */ intnull, /* comintr, wtintr, ... */
66 /* 06 */ intnull, /* fdintr, ... */
67 /* 07 */ prtnull, /* qdintr, ... */
68
69 /* 08 */ intnull,
70 /* 09 */ intnull, /* ether */
71 /* 10 */ intnull,
72 /* 11 */ intnull,
73
74 /* 12 */ intnull,
75 /* 13 */ fpintr, /* always */
76 /* 14 */ intnull, /* hdintr, ... */
77 /* 15 */ intnull, /* ??? */
78 };
79
80 u_char intpri[NINTR] = {
81 #ifdef MACH_KERNEL
82 /* 00 */ SPLHI,
83 /* 01 */ 0,
84 /* 02 */ 0,
85 /* 03 */ 0,
86 #else MACH_KERNEL
87 /* 00 */ 0,
88 /* 01 */ 0,
89 /* 02 */ 0,
90 /* 03 */ 0,
91 #endif MACH_KERNEL
92 /* 04 */ 0, 0, 0, 0,
93 /* 08 */ 0, 0, 0, 0,
94 /* 12 */ 0, SPL1, 0, 0,
95 };
Cache object: 085d54c0bd46899b58c73b2d2eb9626e
|