diff options
Diffstat (limited to 'arch/i386/kernel/setup.c')
| -rw-r--r-- | arch/i386/kernel/setup.c | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index e29fd5aeaf8e..dc39ca6a7eca 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
| @@ -87,14 +87,14 @@ EXPORT_SYMBOL(boot_cpu_data); | |||
| 87 | 87 | ||
| 88 | unsigned long mmu_cr4_features; | 88 | unsigned long mmu_cr4_features; |
| 89 | 89 | ||
| 90 | #ifdef CONFIG_ACPI_INTERPRETER | 90 | #ifdef CONFIG_ACPI |
| 91 | int acpi_disabled = 0; | 91 | int acpi_disabled = 0; |
| 92 | #else | 92 | #else |
| 93 | int acpi_disabled = 1; | 93 | int acpi_disabled = 1; |
| 94 | #endif | 94 | #endif |
| 95 | EXPORT_SYMBOL(acpi_disabled); | 95 | EXPORT_SYMBOL(acpi_disabled); |
| 96 | 96 | ||
| 97 | #ifdef CONFIG_ACPI_BOOT | 97 | #ifdef CONFIG_ACPI |
| 98 | int __initdata acpi_force = 0; | 98 | int __initdata acpi_force = 0; |
| 99 | extern acpi_interrupt_flags acpi_sci_flags; | 99 | extern acpi_interrupt_flags acpi_sci_flags; |
| 100 | #endif | 100 | #endif |
| @@ -139,6 +139,7 @@ struct sys_desc_table_struct { | |||
| 139 | unsigned char table[0]; | 139 | unsigned char table[0]; |
| 140 | }; | 140 | }; |
| 141 | struct edid_info edid_info; | 141 | struct edid_info edid_info; |
| 142 | EXPORT_SYMBOL_GPL(edid_info); | ||
| 142 | struct ist_info ist_info; | 143 | struct ist_info ist_info; |
| 143 | #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ | 144 | #if defined(CONFIG_X86_SPEEDSTEP_SMI) || \ |
| 144 | defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) | 145 | defined(CONFIG_X86_SPEEDSTEP_SMI_MODULE) |
| @@ -798,7 +799,7 @@ static void __init parse_cmdline_early (char ** cmdline_p) | |||
| 798 | } | 799 | } |
| 799 | #endif | 800 | #endif |
| 800 | 801 | ||
| 801 | #ifdef CONFIG_ACPI_BOOT | 802 | #ifdef CONFIG_ACPI |
| 802 | /* "acpi=off" disables both ACPI table parsing and interpreter */ | 803 | /* "acpi=off" disables both ACPI table parsing and interpreter */ |
| 803 | else if (!memcmp(from, "acpi=off", 8)) { | 804 | else if (!memcmp(from, "acpi=off", 8)) { |
| 804 | disable_acpi(); | 805 | disable_acpi(); |
| @@ -850,11 +851,16 @@ static void __init parse_cmdline_early (char ** cmdline_p) | |||
| 850 | #endif | 851 | #endif |
| 851 | 852 | ||
| 852 | #ifdef CONFIG_X86_LOCAL_APIC | 853 | #ifdef CONFIG_X86_LOCAL_APIC |
| 854 | if (!memcmp(from, "disable_timer_pin_1", 19)) | ||
| 855 | disable_timer_pin_1 = 1; | ||
| 856 | if (!memcmp(from, "enable_timer_pin_1", 18)) | ||
| 857 | disable_timer_pin_1 = -1; | ||
| 858 | |||
| 853 | /* disable IO-APIC */ | 859 | /* disable IO-APIC */ |
| 854 | else if (!memcmp(from, "noapic", 6)) | 860 | else if (!memcmp(from, "noapic", 6)) |
| 855 | disable_ioapic_setup(); | 861 | disable_ioapic_setup(); |
| 856 | #endif /* CONFIG_X86_LOCAL_APIC */ | 862 | #endif /* CONFIG_X86_LOCAL_APIC */ |
| 857 | #endif /* CONFIG_ACPI_BOOT */ | 863 | #endif /* CONFIG_ACPI */ |
| 858 | 864 | ||
| 859 | #ifdef CONFIG_X86_LOCAL_APIC | 865 | #ifdef CONFIG_X86_LOCAL_APIC |
| 860 | /* enable local APIC */ | 866 | /* enable local APIC */ |
| @@ -1299,7 +1305,7 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat | |||
| 1299 | */ | 1305 | */ |
| 1300 | static void __init register_memory(void) | 1306 | static void __init register_memory(void) |
| 1301 | { | 1307 | { |
| 1302 | unsigned long gapstart, gapsize; | 1308 | unsigned long gapstart, gapsize, round; |
| 1303 | unsigned long long last; | 1309 | unsigned long long last; |
| 1304 | int i; | 1310 | int i; |
| 1305 | 1311 | ||
| @@ -1344,14 +1350,14 @@ static void __init register_memory(void) | |||
| 1344 | } | 1350 | } |
| 1345 | 1351 | ||
| 1346 | /* | 1352 | /* |
| 1347 | * Start allocating dynamic PCI memory a bit into the gap, | 1353 | * See how much we want to round up: start off with |
| 1348 | * aligned up to the nearest megabyte. | 1354 | * rounding to the next 1MB area. |
| 1349 | * | ||
| 1350 | * Question: should we try to pad it up a bit (do something | ||
| 1351 | * like " + (gapsize >> 3)" in there too?). We now have the | ||
| 1352 | * technology. | ||
| 1353 | */ | 1355 | */ |
| 1354 | pci_mem_start = (gapstart + 0xfffff) & ~0xfffff; | 1356 | round = 0x100000; |
| 1357 | while ((gapsize >> 4) > round) | ||
| 1358 | round += round; | ||
| 1359 | /* Fun with two's complement */ | ||
| 1360 | pci_mem_start = (gapstart + round) & -round; | ||
| 1355 | 1361 | ||
| 1356 | printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n", | 1362 | printk("Allocating PCI resources starting at %08lx (gap: %08lx:%08lx)\n", |
| 1357 | pci_mem_start, gapstart, gapsize); | 1363 | pci_mem_start, gapstart, gapsize); |
| @@ -1579,7 +1585,7 @@ void __init setup_arch(char **cmdline_p) | |||
| 1579 | if (efi_enabled) | 1585 | if (efi_enabled) |
| 1580 | efi_map_memmap(); | 1586 | efi_map_memmap(); |
| 1581 | 1587 | ||
| 1582 | #ifdef CONFIG_ACPI_BOOT | 1588 | #ifdef CONFIG_ACPI |
| 1583 | /* | 1589 | /* |
| 1584 | * Parse the ACPI tables for possible boot-time SMP configuration. | 1590 | * Parse the ACPI tables for possible boot-time SMP configuration. |
| 1585 | */ | 1591 | */ |
