diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-16 18:20:36 -0400 |
commit | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch) | |
tree | 0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/i386/pci/pci.h |
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.
Let it rip!
Diffstat (limited to 'arch/i386/pci/pci.h')
-rw-r--r-- | arch/i386/pci/pci.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/arch/i386/pci/pci.h b/arch/i386/pci/pci.h new file mode 100644 index 000000000000..a8fc80ca69f3 --- /dev/null +++ b/arch/i386/pci/pci.h | |||
@@ -0,0 +1,74 @@ | |||
1 | /* | ||
2 | * Low-Level PCI Access for i386 machines. | ||
3 | * | ||
4 | * (c) 1999 Martin Mares <mj@ucw.cz> | ||
5 | */ | ||
6 | |||
7 | #undef DEBUG | ||
8 | |||
9 | #ifdef DEBUG | ||
10 | #define DBG(x...) printk(x) | ||
11 | #else | ||
12 | #define DBG(x...) | ||
13 | #endif | ||
14 | |||
15 | #define PCI_PROBE_BIOS 0x0001 | ||
16 | #define PCI_PROBE_CONF1 0x0002 | ||
17 | #define PCI_PROBE_CONF2 0x0004 | ||
18 | #define PCI_PROBE_MMCONF 0x0008 | ||
19 | #define PCI_PROBE_MASK 0x000f | ||
20 | |||
21 | #define PCI_NO_SORT 0x0100 | ||
22 | #define PCI_BIOS_SORT 0x0200 | ||
23 | #define PCI_NO_CHECKS 0x0400 | ||
24 | #define PCI_USE_PIRQ_MASK 0x0800 | ||
25 | #define PCI_ASSIGN_ROMS 0x1000 | ||
26 | #define PCI_BIOS_IRQ_SCAN 0x2000 | ||
27 | #define PCI_ASSIGN_ALL_BUSSES 0x4000 | ||
28 | |||
29 | extern unsigned int pci_probe; | ||
30 | |||
31 | /* pci-i386.c */ | ||
32 | |||
33 | extern unsigned int pcibios_max_latency; | ||
34 | |||
35 | void pcibios_resource_survey(void); | ||
36 | int pcibios_enable_resources(struct pci_dev *, int); | ||
37 | |||
38 | /* pci-pc.c */ | ||
39 | |||
40 | extern int pcibios_last_bus; | ||
41 | extern struct pci_bus *pci_root_bus; | ||
42 | extern struct pci_ops pci_root_ops; | ||
43 | |||
44 | /* pci-irq.c */ | ||
45 | |||
46 | struct irq_info { | ||
47 | u8 bus, devfn; /* Bus, device and function */ | ||
48 | struct { | ||
49 | u8 link; /* IRQ line ID, chipset dependent, 0=not routed */ | ||
50 | u16 bitmap; /* Available IRQs */ | ||
51 | } __attribute__((packed)) irq[4]; | ||
52 | u8 slot; /* Slot number, 0=onboard */ | ||
53 | u8 rfu; | ||
54 | } __attribute__((packed)); | ||
55 | |||
56 | struct irq_routing_table { | ||
57 | u32 signature; /* PIRQ_SIGNATURE should be here */ | ||
58 | u16 version; /* PIRQ_VERSION */ | ||
59 | u16 size; /* Table size in bytes */ | ||
60 | u8 rtr_bus, rtr_devfn; /* Where the interrupt router lies */ | ||
61 | u16 exclusive_irqs; /* IRQs devoted exclusively to PCI usage */ | ||
62 | u16 rtr_vendor, rtr_device; /* Vendor and device ID of interrupt router */ | ||
63 | u32 miniport_data; /* Crap */ | ||
64 | u8 rfu[11]; | ||
65 | u8 checksum; /* Modulo 256 checksum must give zero */ | ||
66 | struct irq_info slots[0]; | ||
67 | } __attribute__((packed)); | ||
68 | |||
69 | extern unsigned int pcibios_irq_mask; | ||
70 | |||
71 | extern int pcibios_scanned; | ||
72 | extern spinlock_t pci_config_lock; | ||
73 | |||
74 | extern int (*pcibios_enable_irq)(struct pci_dev *dev); | ||