]>
git.saurik.com Git - apple/boot.git/blob - i386/libsaio/legacy/PCI.h
1 /* Copyright (c) 1994-1996 NeXT Software, Inc. All rights reserved.
3 * PCI Configuration space structure and associated defines.
7 * 13 May 1994 Dean Reece at NeXT
12 /* The IOPCIConfigSpace structure can be used to decode the 256 byte
13 * configuration space presented by each PCI device. This structure
14 * is based on the PCI LOCAL BUS SPECIFICATION, rev 2.1, section 6.1
17 typedef struct _IOPCIConfigSpace
{
18 unsigned short VendorID
;
19 unsigned short DeviceID
;
20 unsigned short Command
;
21 unsigned short Status
;
22 unsigned long RevisionID
:8;
23 unsigned long ClassCode
:24;
24 unsigned char CacheLineSize
;
25 unsigned char LatencyTimer
;
26 unsigned char HeaderType
;
27 unsigned char BuiltInSelfTest
;
28 unsigned long BaseAddress
[6];
29 unsigned long CardbusCISpointer
;
30 unsigned short SubVendorID
;
31 unsigned short SubDeviceID
;
32 unsigned long ROMBaseAddress
;
33 unsigned long reserved3
;
34 unsigned long reserved4
;
35 unsigned char InterruptLine
;
36 unsigned char InterruptPin
;
37 unsigned char MinGrant
;
38 unsigned char MaxLatency
;
39 unsigned long VendorUnique
[48];
43 /* PCI_DEFAULT_DATA is the value resulting from a read to a non-existent
44 * PCI device's configuration space.
47 #define PCI_DEFAULT_DATA 0xffffffff
50 /* PCI_INVALID_VENDOR_ID is a Vendor ID reserved by the PCI/SIG and is
51 * guaranteed not to be assigned to any vendor.
54 #define PCI_INVALID_VENDOR_ID 0xffff