diff options
Diffstat (limited to 'arch/x86/kernel/acpi/sleep.c')
| -rw-r--r-- | arch/x86/kernel/acpi/sleep.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c index 69fd72aa559..68d1537b8c8 100644 --- a/arch/x86/kernel/acpi/sleep.c +++ b/arch/x86/kernel/acpi/sleep.c | |||
| @@ -12,10 +12,8 @@ | |||
| 12 | #include <linux/cpumask.h> | 12 | #include <linux/cpumask.h> |
| 13 | #include <asm/segment.h> | 13 | #include <asm/segment.h> |
| 14 | #include <asm/desc.h> | 14 | #include <asm/desc.h> |
| 15 | |||
| 16 | #ifdef CONFIG_X86_32 | ||
| 17 | #include <asm/pgtable.h> | 15 | #include <asm/pgtable.h> |
| 18 | #endif | 16 | #include <asm/cacheflush.h> |
| 19 | 17 | ||
| 20 | #include "realmode/wakeup.h" | 18 | #include "realmode/wakeup.h" |
| 21 | #include "sleep.h" | 19 | #include "sleep.h" |
| @@ -100,7 +98,7 @@ int acpi_save_state_mem(void) | |||
| 100 | #else /* CONFIG_64BIT */ | 98 | #else /* CONFIG_64BIT */ |
| 101 | header->trampoline_segment = setup_trampoline() >> 4; | 99 | header->trampoline_segment = setup_trampoline() >> 4; |
| 102 | #ifdef CONFIG_SMP | 100 | #ifdef CONFIG_SMP |
| 103 | stack_start.sp = temp_stack + sizeof(temp_stack); | 101 | stack_start = (unsigned long)temp_stack + sizeof(temp_stack); |
| 104 | early_gdt_descr.address = | 102 | early_gdt_descr.address = |
| 105 | (unsigned long)get_cpu_gdt_table(smp_processor_id()); | 103 | (unsigned long)get_cpu_gdt_table(smp_processor_id()); |
| 106 | initial_gs = per_cpu_offset(smp_processor_id()); | 104 | initial_gs = per_cpu_offset(smp_processor_id()); |
| @@ -149,6 +147,15 @@ void __init acpi_reserve_wakeup_memory(void) | |||
| 149 | memblock_x86_reserve_range(mem, mem + WAKEUP_SIZE, "ACPI WAKEUP"); | 147 | memblock_x86_reserve_range(mem, mem + WAKEUP_SIZE, "ACPI WAKEUP"); |
| 150 | } | 148 | } |
| 151 | 149 | ||
| 150 | int __init acpi_configure_wakeup_memory(void) | ||
| 151 | { | ||
| 152 | if (acpi_realmode) | ||
| 153 | set_memory_x(acpi_realmode, WAKEUP_SIZE >> PAGE_SHIFT); | ||
| 154 | |||
| 155 | return 0; | ||
| 156 | } | ||
| 157 | arch_initcall(acpi_configure_wakeup_memory); | ||
| 158 | |||
| 152 | 159 | ||
| 153 | static int __init acpi_sleep_setup(char *str) | 160 | static int __init acpi_sleep_setup(char *str) |
| 154 | { | 161 | { |
