diff options
Diffstat (limited to 'arch/x86/kernel/acpi/boot.c')
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 47 |
1 files changed, 2 insertions, 45 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index d2a58431a074..680b7300a489 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -78,7 +78,6 @@ int acpi_ht __initdata = 1; /* enable HT */ | |||
78 | int acpi_lapic; | 78 | int acpi_lapic; |
79 | int acpi_ioapic; | 79 | int acpi_ioapic; |
80 | int acpi_strict; | 80 | int acpi_strict; |
81 | EXPORT_SYMBOL(acpi_strict); | ||
82 | 81 | ||
83 | u8 acpi_sci_flags __initdata; | 82 | u8 acpi_sci_flags __initdata; |
84 | int acpi_sci_override_gsi __initdata; | 83 | int acpi_sci_override_gsi __initdata; |
@@ -106,7 +105,7 @@ enum acpi_irq_model_id acpi_irq_model = ACPI_IRQ_MODEL_PIC; | |||
106 | #ifdef CONFIG_X86_64 | 105 | #ifdef CONFIG_X86_64 |
107 | 106 | ||
108 | /* rely on all ACPI tables being in the direct mapping */ | 107 | /* rely on all ACPI tables being in the direct mapping */ |
109 | char *__acpi_map_table(unsigned long phys_addr, unsigned long size) | 108 | char *__init __acpi_map_table(unsigned long phys_addr, unsigned long size) |
110 | { | 109 | { |
111 | if (!phys_addr || !size) | 110 | if (!phys_addr || !size) |
112 | return NULL; | 111 | return NULL; |
@@ -131,7 +130,7 @@ char *__acpi_map_table(unsigned long phys_addr, unsigned long size) | |||
131 | * from the fixed base. That's why we start at FIX_IO_APIC_BASE_END and | 130 | * from the fixed base. That's why we start at FIX_IO_APIC_BASE_END and |
132 | * count idx down while incrementing the phys address. | 131 | * count idx down while incrementing the phys address. |
133 | */ | 132 | */ |
134 | char *__acpi_map_table(unsigned long phys, unsigned long size) | 133 | char *__init __acpi_map_table(unsigned long phys, unsigned long size) |
135 | { | 134 | { |
136 | unsigned long base, offset, mapped_size; | 135 | unsigned long base, offset, mapped_size; |
137 | int idx; | 136 | int idx; |
@@ -490,8 +489,6 @@ int acpi_register_gsi(u32 gsi, int triggering, int polarity) | |||
490 | return irq; | 489 | return irq; |
491 | } | 490 | } |
492 | 491 | ||
493 | EXPORT_SYMBOL(acpi_register_gsi); | ||
494 | |||
495 | /* | 492 | /* |
496 | * ACPI based hotplug support for CPU | 493 | * ACPI based hotplug support for CPU |
497 | */ | 494 | */ |
@@ -587,25 +584,6 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base) | |||
587 | 584 | ||
588 | EXPORT_SYMBOL(acpi_unregister_ioapic); | 585 | EXPORT_SYMBOL(acpi_unregister_ioapic); |
589 | 586 | ||
590 | static unsigned long __init | ||
591 | acpi_scan_rsdp(unsigned long start, unsigned long length) | ||
592 | { | ||
593 | unsigned long offset = 0; | ||
594 | unsigned long sig_len = sizeof("RSD PTR ") - 1; | ||
595 | |||
596 | /* | ||
597 | * Scan all 16-byte boundaries of the physical memory region for the | ||
598 | * RSDP signature. | ||
599 | */ | ||
600 | for (offset = 0; offset < length; offset += 16) { | ||
601 | if (strncmp((char *)(phys_to_virt(start) + offset), "RSD PTR ", sig_len)) | ||
602 | continue; | ||
603 | return (start + offset); | ||
604 | } | ||
605 | |||
606 | return 0; | ||
607 | } | ||
608 | |||
609 | static int __init acpi_parse_sbf(struct acpi_table_header *table) | 587 | static int __init acpi_parse_sbf(struct acpi_table_header *table) |
610 | { | 588 | { |
611 | struct acpi_table_boot *sb; | 589 | struct acpi_table_boot *sb; |
@@ -748,27 +726,6 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) | |||
748 | return 0; | 726 | return 0; |
749 | } | 727 | } |
750 | 728 | ||
751 | unsigned long __init acpi_find_rsdp(void) | ||
752 | { | ||
753 | unsigned long rsdp_phys = 0; | ||
754 | |||
755 | if (efi_enabled) { | ||
756 | if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) | ||
757 | return efi.acpi20; | ||
758 | else if (efi.acpi != EFI_INVALID_TABLE_ADDR) | ||
759 | return efi.acpi; | ||
760 | } | ||
761 | /* | ||
762 | * Scan memory looking for the RSDP signature. First search EBDA (low | ||
763 | * memory) paragraphs and then search upper memory (E0000-FFFFF). | ||
764 | */ | ||
765 | rsdp_phys = acpi_scan_rsdp(0, 0x400); | ||
766 | if (!rsdp_phys) | ||
767 | rsdp_phys = acpi_scan_rsdp(0xE0000, 0x20000); | ||
768 | |||
769 | return rsdp_phys; | ||
770 | } | ||
771 | |||
772 | #ifdef CONFIG_X86_LOCAL_APIC | 729 | #ifdef CONFIG_X86_LOCAL_APIC |
773 | /* | 730 | /* |
774 | * Parse LAPIC entries in MADT | 731 | * Parse LAPIC entries in MADT |