diff options
Diffstat (limited to 'arch/x86/kernel/acpi/sleep_32.c')
-rw-r--r-- | arch/x86/kernel/acpi/sleep_32.c | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/arch/x86/kernel/acpi/sleep_32.c b/arch/x86/kernel/acpi/sleep_32.c index 10699489cfe7..63fe5525e026 100644 --- a/arch/x86/kernel/acpi/sleep_32.c +++ b/arch/x86/kernel/acpi/sleep_32.c | |||
@@ -12,76 +12,6 @@ | |||
12 | 12 | ||
13 | #include <asm/smp.h> | 13 | #include <asm/smp.h> |
14 | 14 | ||
15 | /* address in low memory of the wakeup routine. */ | ||
16 | unsigned long acpi_wakeup_address = 0; | ||
17 | unsigned long acpi_realmode_flags; | ||
18 | extern char wakeup_start, wakeup_end; | ||
19 | |||
20 | extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long)); | ||
21 | |||
22 | /** | ||
23 | * acpi_save_state_mem - save kernel state | ||
24 | * | ||
25 | * Create an identity mapped page table and copy the wakeup routine to | ||
26 | * low memory. | ||
27 | */ | ||
28 | int acpi_save_state_mem(void) | ||
29 | { | ||
30 | if (!acpi_wakeup_address) | ||
31 | return 1; | ||
32 | memcpy((void *)acpi_wakeup_address, &wakeup_start, | ||
33 | &wakeup_end - &wakeup_start); | ||
34 | acpi_copy_wakeup_routine(acpi_wakeup_address); | ||
35 | |||
36 | return 0; | ||
37 | } | ||
38 | |||
39 | /* | ||
40 | * acpi_restore_state - undo effects of acpi_save_state_mem | ||
41 | */ | ||
42 | void acpi_restore_state_mem(void) | ||
43 | { | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * acpi_reserve_bootmem - do _very_ early ACPI initialisation | ||
48 | * | ||
49 | * We allocate a page from the first 1MB of memory for the wakeup | ||
50 | * routine for when we come back from a sleep state. The | ||
51 | * runtime allocator allows specification of <16MB pages, but not | ||
52 | * <1MB pages. | ||
53 | */ | ||
54 | void __init acpi_reserve_bootmem(void) | ||
55 | { | ||
56 | if ((&wakeup_end - &wakeup_start) > PAGE_SIZE) { | ||
57 | printk(KERN_ERR | ||
58 | "ACPI: Wakeup code way too big, S3 disabled.\n"); | ||
59 | return; | ||
60 | } | ||
61 | |||
62 | acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE); | ||
63 | if (!acpi_wakeup_address) | ||
64 | printk(KERN_ERR "ACPI: Cannot allocate lowmem, S3 disabled.\n"); | ||
65 | } | ||
66 | |||
67 | static int __init acpi_sleep_setup(char *str) | ||
68 | { | ||
69 | while ((str != NULL) && (*str != '\0')) { | ||
70 | if (strncmp(str, "s3_bios", 7) == 0) | ||
71 | acpi_realmode_flags |= 1; | ||
72 | if (strncmp(str, "s3_mode", 7) == 0) | ||
73 | acpi_realmode_flags |= 2; | ||
74 | if (strncmp(str, "s3_beep", 7) == 0) | ||
75 | acpi_realmode_flags |= 4; | ||
76 | str = strchr(str, ','); | ||
77 | if (str != NULL) | ||
78 | str += strspn(str, ", \t"); | ||
79 | } | ||
80 | return 1; | ||
81 | } | ||
82 | |||
83 | __setup("acpi_sleep=", acpi_sleep_setup); | ||
84 | |||
85 | /* Ouch, we want to delete this. We already have better version in userspace, in | 15 | /* Ouch, we want to delete this. We already have better version in userspace, in |
86 | s2ram from suspend.sf.net project */ | 16 | s2ram from suspend.sf.net project */ |
87 | static __init int reset_videomode_after_s3(const struct dmi_system_id *d) | 17 | static __init int reset_videomode_after_s3(const struct dmi_system_id *d) |