📄 eisa.h
字号:
/*** -----------------------------------------------------------------------------**** Perle Specialix driver for Linux** Ported from existing RIO Driver for SCO sources. * * (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.**** Module : eisa.h** SID : 1.2** Last Modified : 11/6/98 11:34:10** Retrieved : 11/6/98 11:34:21**** ident @(#)eisa.h 1.2**** -----------------------------------------------------------------------------*/#ifndef __rio_eisa_h__#define __rio_eisa_h__#ifdef SCCS_LABELS#ifndef lintstatic char *_eisa_h_sccs_ = "@(#)eisa.h 1.2";#endif#endif/*** things to do with the EISA bus*/#define RIO_EISA_STRING_ADDRESS 0xfffd9 /* where EISA is stored */#define RIO_MAX_EISA_SLOTS 16 /* how many EISA slots? */#define RIO_EISA_IDENT 0x984D /* Specialix */#define RIO_EISA_PRODUCT_CODE 0x14 /* Code 14 */#define RIO_EISA_ENABLE_BIT 0x01 /* To enable card */#define EISA_MEMORY_BASE_LO 0xC00 /* A16-A23 */#define EISA_MEMORY_BASE_HI 0xC01 /* A24-A31 */#define EISA_INTERRUPT_VEC 0xC02 /* see below */#define EISA_CONTROL_PORT 0xC02 /* see below */#define EISA_INTERRUPT_RESET 0xC03 /* read to clear IRQ */#define EISA_PRODUCT_IDENT_LO 0xC80 /* where RIO_EISA_IDENT is */#define EISA_PRODUCT_IDENT_HI 0xC81#define EISA_PRODUCT_NUMBER 0xC82 /* where PROD_CODE is */#define EISA_REVISION_NUMBER 0xC83 /* revision (1dp) */#define EISA_ENABLE 0xC84 /* set LSB to enable card */#define EISA_UNIQUE_NUM_0 0xC88 /* vomit */#define EISA_UNIQUE_NUM_1 0xC8A#define EISA_UNIQUE_NUM_2 0xC90 /* bit strangely arranged */#define EISA_UNIQUE_NUM_3 0xC92#define EISA_MANUF_YEAR 0xC98 /* when */#define EISA_MANUF_WEEK 0xC9A /* more when */#define EISA_TP_BOOT_FROM_RAM 0x01#define EISA_TP_BOOT_FROM_LINK 0x00#define EISA_TP_FAST_LINKS 0x02#define EISA_TP_SLOW_LINKS 0x00#define EISA_TP_BUS_ENABLE 0x04#define EISA_TP_BUS_DISABLE 0x00#define EISA_TP_RUN 0x08#define EISA_TP_RESET 0x00#define EISA_POLLED 0x00#define EISA_IRQ_3 0x30#define EISA_IRQ_4 0x40#define EISA_IRQ_5 0x50#define EISA_IRQ_6 0x60#define EISA_IRQ_7 0x70#define EISA_IRQ_9 0x90#define EISA_IRQ_10 0xA0#define EISA_IRQ_11 0xB0#define EISA_IRQ_12 0xC0#define EISA_IRQ_14 0xE0#define EISA_IRQ_15 0xF0#define EISA_INTERRUPT_MASK 0xF0#define EISA_CONTROL_MASK 0x0F#define RIO_EISA_DEFAULT_MODE EISA_TP_SLOW_LINKS#define RIOEisaToIvec(X) (uchar )((uchar)((X) & EISA_INTERRUPT_MASK)>>4)#define INBZ(z,x) inb(((z)<<12) | (x))#define OUTBZ(z,x,y) outb((((z)<<12) | (x)), y)#endif /* __rio_eisa_h__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -