3 typedef unsigned long pciaddr_t
;
8 struct pci_dev
*next
; /* Next device in the chain */
9 word bus
; /* Higher byte can select host bridges */
10 byte dev
, func
; /* Device and function */
12 /* These fields are set by pci_fill_info() */
13 int known_fields
; /* Set of info fields already known */
14 word vendor_id
, device_id
; /* Identity of the device */
15 int irq
; /* IRQ number */
16 pciaddr_t base_addr
[6]; /* Base addresses */
17 pciaddr_t size
[6]; /* Region sizes */
18 pciaddr_t rom_base_addr
; /* Expansion ROM base address */
19 pciaddr_t rom_size
; /* Expansion ROM size */
21 /* Fields used internally: */
24 byte
*cache
; /* Cached information */
26 int hdrtype
; /* Direct methods: header type */
27 void *aux
; /* Auxillary data */
32 int bus
, slot
, func
; /* -1 = ANY */
37 #define PCITAG struct pci_filter *
38 #define pciVideoPtr struct pci_dev *
40 extern int pciNumBuses
;
46 PCITAG
findPci(unsigned short bx
);
47 u32
pciSlotBX(pciVideoPtr pvp
);
49 void pciWriteLong(PCITAG tag
, u32 idx
, u32 data
);
50 void pciWriteWord(PCITAG tag
, u32 idx
, u16 data
);
51 void pciWriteByte(PCITAG tag
, u32 idx
, u8 data
);
53 u32
pciReadLong(PCITAG tag
, u32 idx
);
54 u16
pciReadWord(PCITAG tag
, u32 idx
);
55 u8
pciReadByte(PCITAG tag
, u32 idx
);