git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
arch
/
x86_64
/
kernel
/
acpi
/
sleep.c
diff --git
a/arch/x86_64/kernel/acpi/sleep.c
b/arch/x86_64/kernel/acpi/sleep.c
index
3331a56
..
eb4c730
100644
(file)
--- a/
arch/x86_64/kernel/acpi/sleep.c
+++ b/
arch/x86_64/kernel/acpi/sleep.c
@@
-61,9
+61,13
@@
extern char wakeup_start, wakeup_end;
extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long));
extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long));
+static pgd_t low_ptr;
+
static void init_low_mapping(void)
{
static void init_low_mapping(void)
{
- cpu_pda[0].level4_pgt[0] = cpu_pda[0].level4_pgt[pml4_index(PAGE_OFFSET)];
+ pgd_t *slot0 = pgd_offset(current->mm, 0UL);
+ low_ptr = *slot0;
+ set_pgd(slot0, *pgd_offset(current->mm, PAGE_OFFSET));
flush_tlb_all();
}
flush_tlb_all();
}
@@
-97,7
+101,7
@@
int acpi_save_state_disk (void)
*/
void acpi_restore_state_mem (void)
{
*/
void acpi_restore_state_mem (void)
{
-
cpu_pda[0].level4_pgt[0] = 0
;
+
set_pgd(pgd_offset(current->mm, 0UL), low_ptr)
;
flush_tlb_all();
}
flush_tlb_all();
}