⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci.h

📁 Minix3.11的源码。[MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。]
💻 H
字号:
/*pci.hCreated:	Jan 2000 by Philip Homburg <philip@cs.vu.nl>*//* tempory functions: to be replaced later (see pci_intel.h) */_PROTOTYPE( unsigned pci_inb, (U16_t port) );_PROTOTYPE( unsigned pci_inw, (U16_t port) );_PROTOTYPE( unsigned pci_inl, (U16_t port) );_PROTOTYPE( void pci_outb, (U16_t port, U8_t value) );_PROTOTYPE( void pci_outw, (U16_t port, U16_t value) );_PROTOTYPE( void pci_outl, (U16_t port, U32_t value) );/* pci.c */_PROTOTYPE( void pci_init, (void)					);_PROTOTYPE( int pci_find_dev, (U8_t bus, U8_t dev, U8_t func,							int *devindp)	);_PROTOTYPE( int pci_first_dev, (int *devindp, u16_t *vidp, u16_t *didp)	);_PROTOTYPE( int pci_next_dev, (int *devindp, u16_t *vidp, u16_t *didp)	);_PROTOTYPE( void pci_reserve, (int devind)				);_PROTOTYPE( void pci_ids, (int devind, u16_t *vidp, u16_t *didp)	);_PROTOTYPE( char *pci_slot_name, (int devind)				);_PROTOTYPE( char *pci_dev_name, (U16_t vid, U16_t did)			);_PROTOTYPE( u8_t pci_attr_r8, (int devind, int port)			);_PROTOTYPE( u16_t pci_attr_r16, (int devind, int port)			);_PROTOTYPE( u32_t pci_attr_r32, (int devind, int port)			);_PROTOTYPE( void pci_attr_w16, (int devind, int port, U16_t value)	);_PROTOTYPE( void pci_attr_w32, (int devind, int port, u32_t value)	);#define PCI_VID		0x00	/* Vendor ID, 16-bit */#define PCI_DID		0x02	/* Device ID, 16-bit */#define PCI_CR		0x04	/* Command Register, 16-bit */#define PCI_PCISTS	0x06	/* PCI status, 16-bit */#define		 PSR_SSE	0x4000	/* Signaled System Error */#define		 PSR_RMAS	0x2000	/* Received Master Abort Status */#define		 PSR_RTAS	0x1000	/* Received Target Abort Status */#define PCI_REV		0x08	/* Revision ID */#define PCI_PIFR	0x09	/* Prog. Interface Register */#define PCI_SCR		0x0A	/* Sub-Class Register */#define PCI_BCR		0x0B	/* Base-Class Register */#define PCI_HEADT	0x0E	/* Header type, 8-bit */#define		PHT_MULTIFUNC	0x80	/* Multiple functions */#define PCI_BAR		0x10	/* Base Address Register */#define PCI_BAR_2	0x14	/* Base Address Register */#define PCI_BAR_3	0x18	/* Base Address Register */#define PCI_BAR_4	0x1C	/* Base Address Register */#define PCI_ILR		0x3C	/* Interrupt Line Register */#define PCI_IPR		0x3D	/* Interrupt Pin Register *//* Device type values as ([PCI_BCR] << 16) | ([PCI_SCR] << 8) | [PCI_PIFR] */#define	PCI_T3_PCI2PCI		0x060400	/* PCI-to-PCI Bridge device */#define	PCI_T3_PCI2PCI_SUBTR	0x060401	/* Subtr. PCI-to-PCI Bridge *//* PCI bridge devices (AGP) */#define PPB_SBUSN	0x19	/* Secondary Bus Number *//* Intel compatible PCI bridge devices (AGP) */#define PPB_SSTS	0x1E	/* Secondary PCI-to-PCI Status Register */#define NO_VID		0xffff	/* No PCI card present */struct pci_vendor{	u16_t vid;	char *name;};struct pci_device{	u16_t vid;	u16_t did;	char *name;};struct pci_baseclass{	u8_t baseclass;	char *name;};struct pci_subclass{	u8_t baseclass;	u8_t subclass;	u16_t infclass;	char *name;};struct pci_intel_ctrl{	u16_t vid;	u16_t did;};struct pci_isabridge{	u16_t vid;	u16_t did;	int checkclass;	int type;};struct pci_pcibridge{	u16_t vid;	u16_t did;	int type;};#define PCI_IB_PIIX	1	/* Intel PIIX compatible ISA bridge */#define PCI_IB_VIA	2	/* VIA compatible ISA bridge */#define PCI_IB_AMD	3	/* AMD compatible ISA bridge */#define PCI_IB_SIS	4	/* SIS compatible ISA bridge */#define PCI_PCIB_INTEL	1	/* Intel compatible PCI bridge */#define PCI_AGPB_INTEL	2	/* Intel compatible AGP bridge */#define PCI_AGPB_VIA	3	/* VIA compatible AGP bridge */extern struct pci_vendor pci_vendor_table[];extern struct pci_device pci_device_table[];extern struct pci_baseclass pci_baseclass_table[];extern struct pci_subclass pci_subclass_table[];extern struct pci_intel_ctrl pci_intel_ctrl[];extern struct pci_isabridge pci_isabridge[];extern struct pci_pcibridge pci_pcibridge[];/* * $PchId: pci.h,v 1.4 2001/12/06 20:21:22 philip Exp $ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -