diff options
| -rw-r--r-- | Documentation/kernel-parameters.txt | 5 | ||||
| -rw-r--r-- | drivers/acpi/osl.c | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index aa47be71df4c..37713bcf7778 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -163,6 +163,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
| 163 | 163 | ||
| 164 | See also Documentation/power/pm.txt, pci=noacpi | 164 | See also Documentation/power/pm.txt, pci=noacpi |
| 165 | 165 | ||
| 166 | acpi_rsdp= [ACPI,EFI,KEXEC] | ||
| 167 | Pass the RSDP address to the kernel, mostly used | ||
| 168 | on machines running EFI runtime service to boot the | ||
| 169 | second kernel for kdump. | ||
| 170 | |||
| 166 | acpi_apic_instance= [ACPI, IOAPIC] | 171 | acpi_apic_instance= [ACPI, IOAPIC] |
| 167 | Format: <int> | 172 | Format: <int> |
| 168 | 2: use 2nd APIC table, if available | 173 | 2: use 2nd APIC table, if available |
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 52ca9649d769..27cd1408f6d8 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
| @@ -237,8 +237,23 @@ void acpi_os_vprintf(const char *fmt, va_list args) | |||
| 237 | #endif | 237 | #endif |
| 238 | } | 238 | } |
| 239 | 239 | ||
| 240 | #ifdef CONFIG_KEXEC | ||
| 241 | static unsigned long acpi_rsdp; | ||
| 242 | static int __init setup_acpi_rsdp(char *arg) | ||
| 243 | { | ||
| 244 | acpi_rsdp = simple_strtoul(arg, NULL, 16); | ||
| 245 | return 0; | ||
| 246 | } | ||
| 247 | early_param("acpi_rsdp", setup_acpi_rsdp); | ||
| 248 | #endif | ||
| 249 | |||
| 240 | acpi_physical_address __init acpi_os_get_root_pointer(void) | 250 | acpi_physical_address __init acpi_os_get_root_pointer(void) |
| 241 | { | 251 | { |
| 252 | #ifdef CONFIG_KEXEC | ||
| 253 | if (acpi_rsdp) | ||
| 254 | return acpi_rsdp; | ||
| 255 | #endif | ||
| 256 | |||
| 242 | if (efi_enabled) { | 257 | if (efi_enabled) { |
| 243 | if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) | 258 | if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) |
| 244 | return efi.acpi20; | 259 | return efi.acpi20; |
