diff options
Diffstat (limited to 'arch/x86/include/asm/mpspec.h')
-rw-r--r-- | arch/x86/include/asm/mpspec.h | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/arch/x86/include/asm/mpspec.h b/arch/x86/include/asm/mpspec.h index bd22f2a3713f..642fc7fc8cdc 100644 --- a/arch/x86/include/asm/mpspec.h +++ b/arch/x86/include/asm/mpspec.h | |||
@@ -9,7 +9,18 @@ extern int apic_version[MAX_APICS]; | |||
9 | extern int pic_mode; | 9 | extern int pic_mode; |
10 | 10 | ||
11 | #ifdef CONFIG_X86_32 | 11 | #ifdef CONFIG_X86_32 |
12 | #include <mach_mpspec.h> | 12 | |
13 | /* | ||
14 | * Summit or generic (i.e. installer) kernels need lots of bus entries. | ||
15 | * Maximum 256 PCI busses, plus 1 ISA bus in each of 4 cabinets. | ||
16 | */ | ||
17 | #if CONFIG_BASE_SMALL == 0 | ||
18 | # define MAX_MP_BUSSES 260 | ||
19 | #else | ||
20 | # define MAX_MP_BUSSES 32 | ||
21 | #endif | ||
22 | |||
23 | #define MAX_IRQ_SOURCES 256 | ||
13 | 24 | ||
14 | extern unsigned int def_to_bigsmp; | 25 | extern unsigned int def_to_bigsmp; |
15 | extern u8 apicid_2_node[]; | 26 | extern u8 apicid_2_node[]; |
@@ -20,15 +31,15 @@ extern int mp_bus_id_to_local[MAX_MP_BUSSES]; | |||
20 | extern int quad_local_to_mp_bus_id [NR_CPUS/4][4]; | 31 | extern int quad_local_to_mp_bus_id [NR_CPUS/4][4]; |
21 | #endif | 32 | #endif |
22 | 33 | ||
23 | #define MAX_APICID 256 | 34 | #define MAX_APICID 256 |
24 | 35 | ||
25 | #else | 36 | #else /* CONFIG_X86_64: */ |
26 | 37 | ||
27 | #define MAX_MP_BUSSES 256 | 38 | #define MAX_MP_BUSSES 256 |
28 | /* Each PCI slot may be a combo card with its own bus. 4 IRQ pins per slot. */ | 39 | /* Each PCI slot may be a combo card with its own bus. 4 IRQ pins per slot. */ |
29 | #define MAX_IRQ_SOURCES (MAX_MP_BUSSES * 4) | 40 | #define MAX_IRQ_SOURCES (MAX_MP_BUSSES * 4) |
30 | 41 | ||
31 | #endif | 42 | #endif /* CONFIG_X86_64 */ |
32 | 43 | ||
33 | extern void early_find_smp_config(void); | 44 | extern void early_find_smp_config(void); |
34 | extern void early_get_smp_config(void); | 45 | extern void early_get_smp_config(void); |
@@ -45,11 +56,13 @@ extern int smp_found_config; | |||
45 | extern int mpc_default_type; | 56 | extern int mpc_default_type; |
46 | extern unsigned long mp_lapic_addr; | 57 | extern unsigned long mp_lapic_addr; |
47 | 58 | ||
48 | extern void find_smp_config(void); | ||
49 | extern void get_smp_config(void); | 59 | extern void get_smp_config(void); |
60 | |||
50 | #ifdef CONFIG_X86_MPPARSE | 61 | #ifdef CONFIG_X86_MPPARSE |
62 | extern void find_smp_config(void); | ||
51 | extern void early_reserve_e820_mpc_new(void); | 63 | extern void early_reserve_e820_mpc_new(void); |
52 | #else | 64 | #else |
65 | static inline void find_smp_config(void) { } | ||
53 | static inline void early_reserve_e820_mpc_new(void) { } | 66 | static inline void early_reserve_e820_mpc_new(void) { } |
54 | #endif | 67 | #endif |
55 | 68 | ||
@@ -64,6 +77,8 @@ extern int acpi_probe_gsi(void); | |||
64 | #ifdef CONFIG_X86_IO_APIC | 77 | #ifdef CONFIG_X86_IO_APIC |
65 | extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, | 78 | extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, |
66 | u32 gsi, int triggering, int polarity); | 79 | u32 gsi, int triggering, int polarity); |
80 | extern int mp_find_ioapic(int gsi); | ||
81 | extern int mp_find_ioapic_pin(int ioapic, int gsi); | ||
67 | #else | 82 | #else |
68 | static inline int | 83 | static inline int |
69 | mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, | 84 | mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, |
@@ -148,4 +163,8 @@ static inline void physid_set_mask_of_physid(int physid, physid_mask_t *map) | |||
148 | 163 | ||
149 | extern physid_mask_t phys_cpu_present_map; | 164 | extern physid_mask_t phys_cpu_present_map; |
150 | 165 | ||
166 | extern int generic_mps_oem_check(struct mpc_table *, char *, char *); | ||
167 | |||
168 | extern int default_acpi_madt_oem_check(char *, char *); | ||
169 | |||
151 | #endif /* _ASM_X86_MPSPEC_H */ | 170 | #endif /* _ASM_X86_MPSPEC_H */ |