plan 9 kernel history: overview | file list | diff list

1995/0517/pc/io.h (diff list | history)

1995/0126/sys/src/9/pc/io.h:33,351995/0517/sys/src/9/pc/io.h:33,72 (short | long | prev | next)
Add PCIcfg.
rsc Fri Mar 4 12:44:25 2005
1994/0908    
	MaxEISA		= 16, 
1995/0126    
	EISAconfig	= 0xC80, 
1991/0704    
}; 
1995/0517    
 
/* 
 * PCI Local Bus support. 
 * Quick hack until we figure out how to 
 * deal with EISA, PCI, PCMCIA, PnP, etc. 
 */ 
enum {					/* configuration mechanism #1 */ 
	PCIaddr		= 0xCF8,	/* CONFIG_ADDRESS */ 
	PCIdata		= 0xCFC,	/* CONFIG_DATA */ 
 
					/* configuration mechanism #2 */ 
	PCIcse		= 0xCF8,	/* configuration space enable */ 
	PCIforward	= 0xCFA,	/* which bus */ 
}; 
 
typedef struct PCIcfg { 
	ushort	vid;			/* vendor ID */ 
	ushort	did;			/* device ID */ 
	ushort	command;	 
	ushort	status;	 
	uchar	rid;			/* revision ID */ 
	uchar	loclass;		/* specific register-level programming interface */ 
	uchar	subclass;	 
	uchar	baseclass;	 
	uchar	clsize;			/* cache line size */ 
	uchar	latency;		/* latency timer */ 
	uchar	header;			/* header type */ 
	uchar	bist;			/* built-in self-test */ 
	ulong	baseaddr[6];		/* memory or I/O base address registers */ 
	ulong	reserved28[2];	 
	ulong	romaddr;		/* expansion ROM base address */ 
	ulong	reserved34[2];	 
	uchar	irq;			/* interrupt line */ 
	uchar	irp;			/* interrupt pin */ 
	uchar	mingnt;			/* burst period length */ 
	uchar	maxlat;			/* maximum latency between bursts */ 
} PCIcfg; 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)