|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * @OSF_COPYRIGHT@ ! 24: */ ! 25: ! 26: /* ! 27: * Mach Operating System ! 28: * Copyright (c) 1991,1990,1989 Carnegie Mellon University ! 29: * All Rights Reserved. ! 30: * ! 31: * Permission to use, copy, modify and distribute this software and its ! 32: * documentation is hereby granted, provided that both the copyright ! 33: * notice and this permission notice appear in all copies of the ! 34: * software, derivative works or modified versions, and any portions ! 35: * thereof, and that both notices appear in supporting documentation. ! 36: * ! 37: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" ! 38: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR ! 39: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. ! 40: * ! 41: * Carnegie Mellon requests users of this software to return to ! 42: * ! 43: * Software Distribution Coordinator or [email protected] ! 44: * School of Computer Science ! 45: * Carnegie Mellon University ! 46: * Pittsburgh PA 15213-3890 ! 47: * ! 48: * any improvements or extensions that they make and grant Carnegie Mellon ! 49: * the rights to redistribute these changes. ! 50: */ ! 51: /* ! 52: */ ! 53: ! 54: /* ! 55: Copyright (c) 1988,1989 Prime Computer, Inc. Natick, MA 01760 ! 56: All Rights Reserved. ! 57: ! 58: Permission to use, copy, modify, and distribute this ! 59: software and its documentation for any purpose and ! 60: without fee is hereby granted, provided that the above ! 61: copyright notice appears in all copies and that both the ! 62: copyright notice and this permission notice appear in ! 63: supporting documentation, and that the name of Prime ! 64: Computer, Inc. not be used in advertising or publicity ! 65: pertaining to distribution of the software without ! 66: specific, written prior permission. ! 67: ! 68: THIS SOFTWARE IS PROVIDED "AS IS", AND PRIME COMPUTER, ! 69: INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS ! 70: SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ! 71: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN ! 72: NO EVENT SHALL PRIME COMPUTER, INC. BE LIABLE FOR ANY ! 73: SPECIAL, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY ! 74: DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR ! 75: PROFITS, WHETHER IN ACTION OF CONTRACT, NEGLIGENCE, OR ! 76: OTHER TORTIOUS ACTION, ARISING OUR OF OR IN CONNECTION ! 77: WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ! 78: */ ! 79: ! 80: #ifndef _I386_PIC_H_ ! 81: #define _I386_PIC_H_ ! 82: ! 83: #include <platforms.h> ! 84: ! 85: #define NINTR 0x10 ! 86: #define NPICS 0x02 ! 87: ! 88: /* ! 89: ** The following are definitions used to locate the PICs in the system ! 90: */ ! 91: ! 92: #define ADDR_PIC_BASE 0x20 ! 93: #define OFF_ICW 0x00 ! 94: #define OFF_OCW 0x01 ! 95: #define SIZE_PIC 0x80 ! 96: ! 97: /* ! 98: ** The following banks of definitions ICW1, ICW2, ICW3, and ICW4 are used ! 99: ** to define the fields of the various ICWs for initialisation of the PICs ! 100: */ ! 101: ! 102: /* ! 103: ** ICW1 ! 104: */ ! 105: ! 106: #define ICW_TEMPLATE 0x10 ! 107: ! 108: #define LEVL_TRIGGER 0x08 ! 109: #define EDGE_TRIGGER 0x00 ! 110: #define ADDR_INTRVL4 0x04 ! 111: #define ADDR_INTRVL8 0x00 ! 112: #define SINGLE__MODE 0x02 ! 113: #define CASCADE_MODE 0x00 ! 114: #define ICW4__NEEDED 0x01 ! 115: #define NO_ICW4_NEED 0x00 ! 116: ! 117: /* ! 118: ** ICW2 ! 119: */ ! 120: ! 121: #define PICM_VECTBASE 0x40 ! 122: #define PICS_VECTBASE PICM_VECTBASE + 0x08 ! 123: ! 124: /* ! 125: ** ICW3 ! 126: */ ! 127: ! 128: #define SLAVE_ON_IR0 0x01 ! 129: #define SLAVE_ON_IR1 0x02 ! 130: #define SLAVE_ON_IR2 0x04 ! 131: #define SLAVE_ON_IR3 0x08 ! 132: #define SLAVE_ON_IR4 0x10 ! 133: #define SLAVE_ON_IR5 0x20 ! 134: #define SLAVE_ON_IR6 0x40 ! 135: #define SLAVE_ON_IR7 0x80 ! 136: ! 137: #define I_AM_SLAVE_0 0x00 ! 138: #define I_AM_SLAVE_1 0x01 ! 139: #define I_AM_SLAVE_2 0x02 ! 140: #define I_AM_SLAVE_3 0x03 ! 141: #define I_AM_SLAVE_4 0x04 ! 142: #define I_AM_SLAVE_5 0x05 ! 143: #define I_AM_SLAVE_6 0x06 ! 144: #define I_AM_SLAVE_7 0x07 ! 145: ! 146: /* ! 147: ** ICW4 ! 148: */ ! 149: ! 150: #define SNF_MODE_ENA 0x10 ! 151: #define SNF_MODE_DIS 0x00 ! 152: #define BUFFERD_MODE 0x08 ! 153: #define NONBUFD_MODE 0x00 ! 154: #define AUTO_EOI_MOD 0x02 ! 155: #define NRML_EOI_MOD 0x00 ! 156: #define I8086_EMM_MOD 0x01 ! 157: #define SET_MCS_MODE 0x00 ! 158: ! 159: /* ! 160: ** OCW1 ! 161: */ ! 162: #define PICM_MASK 0xFF ! 163: #define PICS_MASK 0xFF ! 164: /* ! 165: ** OCW2 ! 166: */ ! 167: ! 168: #define NON_SPEC_EOI 0x20 ! 169: #define SPECIFIC_EOI 0x30 ! 170: #define ROT_NON_SPEC 0x50 ! 171: #define SET_ROT_AEOI 0x40 ! 172: #define RSET_ROTAEOI 0x00 ! 173: #define ROT_SPEC_EOI 0x70 ! 174: #define SET_PRIORITY 0x60 ! 175: #define NO_OPERATION 0x20 ! 176: ! 177: #define SEND_EOI_IR0 0x00 ! 178: #define SEND_EOI_IR1 0x01 ! 179: #define SEND_EOI_IR2 0x02 ! 180: #define SEND_EOI_IR3 0x03 ! 181: #define SEND_EOI_IR4 0x04 ! 182: #define SEND_EOI_IR5 0x05 ! 183: #define SEND_EOI_IR6 0x06 ! 184: #define SEND_EOI_IR7 0x07 ! 185: ! 186: /* ! 187: ** OCW3 ! 188: */ ! 189: ! 190: #define OCW_TEMPLATE 0x08 ! 191: #define SPECIAL_MASK 0x40 ! 192: #define MASK_MDE_SET 0x20 ! 193: #define MASK_MDE_RST 0x00 ! 194: #define POLL_COMMAND 0x04 ! 195: #define NO_POLL_CMND 0x00 ! 196: #define READ_NEXT_RD 0x02 ! 197: #define READ_IR_ONRD 0x00 ! 198: #define READ_IS_ONRD 0x01 ! 199: ! 200: #endif /* _I386_PIC_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.