diff options
Diffstat (limited to 'arch/x86/include/asm/io_apic.h')
| -rw-r--r-- | arch/x86/include/asm/io_apic.h | 41 |
1 files changed, 8 insertions, 33 deletions
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h index 7a1f44ac1f1..59cb4a1317b 100644 --- a/arch/x86/include/asm/io_apic.h +++ b/arch/x86/include/asm/io_apic.h | |||
| @@ -114,38 +114,16 @@ struct IR_IO_APIC_route_entry { | |||
| 114 | extern int nr_ioapics; | 114 | extern int nr_ioapics; |
| 115 | extern int nr_ioapic_registers[MAX_IO_APICS]; | 115 | extern int nr_ioapic_registers[MAX_IO_APICS]; |
| 116 | 116 | ||
| 117 | /* | ||
| 118 | * MP-BIOS irq configuration table structures: | ||
| 119 | */ | ||
| 120 | |||
| 121 | #define MP_MAX_IOAPIC_PIN 127 | 117 | #define MP_MAX_IOAPIC_PIN 127 |
| 122 | 118 | ||
| 123 | struct mp_config_ioapic { | ||
| 124 | unsigned long mp_apicaddr; | ||
| 125 | unsigned int mp_apicid; | ||
| 126 | unsigned char mp_type; | ||
| 127 | unsigned char mp_apicver; | ||
| 128 | unsigned char mp_flags; | ||
| 129 | }; | ||
| 130 | |||
| 131 | struct mp_config_intsrc { | ||
| 132 | unsigned int mp_dstapic; | ||
| 133 | unsigned char mp_type; | ||
| 134 | unsigned char mp_irqtype; | ||
| 135 | unsigned short mp_irqflag; | ||
| 136 | unsigned char mp_srcbus; | ||
| 137 | unsigned char mp_srcbusirq; | ||
| 138 | unsigned char mp_dstirq; | ||
| 139 | }; | ||
| 140 | |||
| 141 | /* I/O APIC entries */ | 119 | /* I/O APIC entries */ |
| 142 | extern struct mp_config_ioapic mp_ioapics[MAX_IO_APICS]; | 120 | extern struct mpc_ioapic mp_ioapics[MAX_IO_APICS]; |
| 143 | 121 | ||
| 144 | /* # of MP IRQ source entries */ | 122 | /* # of MP IRQ source entries */ |
| 145 | extern int mp_irq_entries; | 123 | extern int mp_irq_entries; |
| 146 | 124 | ||
| 147 | /* MP IRQ source entries */ | 125 | /* MP IRQ source entries */ |
| 148 | extern struct mp_config_intsrc mp_irqs[MAX_IRQ_SOURCES]; | 126 | extern struct mpc_intsrc mp_irqs[MAX_IRQ_SOURCES]; |
| 149 | 127 | ||
| 150 | /* non-0 if default (table-less) MP configuration */ | 128 | /* non-0 if default (table-less) MP configuration */ |
| 151 | extern int mpc_default_type; | 129 | extern int mpc_default_type; |
| @@ -165,15 +143,6 @@ extern int noioapicreroute; | |||
| 165 | /* 1 if the timer IRQ uses the '8259A Virtual Wire' mode */ | 143 | /* 1 if the timer IRQ uses the '8259A Virtual Wire' mode */ |
| 166 | extern int timer_through_8259; | 144 | extern int timer_through_8259; |
| 167 | 145 | ||
| 168 | static inline void disable_ioapic_setup(void) | ||
| 169 | { | ||
| 170 | #ifdef CONFIG_PCI | ||
| 171 | noioapicquirk = 1; | ||
| 172 | noioapicreroute = -1; | ||
| 173 | #endif | ||
| 174 | skip_ioapic_setup = 1; | ||
| 175 | } | ||
| 176 | |||
| 177 | /* | 146 | /* |
| 178 | * If we use the IO-APIC for IRQ routing, disable automatic | 147 | * If we use the IO-APIC for IRQ routing, disable automatic |
| 179 | * assignment of PCI IRQ's. | 148 | * assignment of PCI IRQ's. |
| @@ -200,6 +169,12 @@ extern void reinit_intr_remapped_IO_APIC(int); | |||
| 200 | 169 | ||
| 201 | extern void probe_nr_irqs_gsi(void); | 170 | extern void probe_nr_irqs_gsi(void); |
| 202 | 171 | ||
| 172 | extern int setup_ioapic_entry(int apic, int irq, | ||
| 173 | struct IO_APIC_route_entry *entry, | ||
| 174 | unsigned int destination, int trigger, | ||
| 175 | int polarity, int vector); | ||
| 176 | extern void ioapic_write_entry(int apic, int pin, | ||
| 177 | struct IO_APIC_route_entry e); | ||
| 203 | #else /* !CONFIG_X86_IO_APIC */ | 178 | #else /* !CONFIG_X86_IO_APIC */ |
| 204 | #define io_apic_assign_pci_irqs 0 | 179 | #define io_apic_assign_pci_irqs 0 |
| 205 | static const int timer_through_8259 = 0; | 180 | static const int timer_through_8259 = 0; |
