summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/amd64/amd64/acpi_wakecode.S5
-rw-r--r--sys/kern/subr_hibernate.c9
2 files changed, 3 insertions, 11 deletions
diff --git a/sys/arch/amd64/amd64/acpi_wakecode.S b/sys/arch/amd64/amd64/acpi_wakecode.S
index 2d33068d879..c9b264edd49 100644
--- a/sys/arch/amd64/amd64/acpi_wakecode.S
+++ b/sys/arch/amd64/amd64/acpi_wakecode.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: acpi_wakecode.S,v 1.26 2014/01/22 03:09:39 kettenis Exp $ */
+/* $OpenBSD: acpi_wakecode.S,v 1.27 2014/02/01 07:10:33 mlarkin Exp $ */
/*
* Copyright (c) 2001 Takanori Watanabe <takawata@jp.freebsd.org>
* Copyright (c) 2001 Mitsuru IWASAKI <iwasaki@jp.freebsd.org>
@@ -494,8 +494,7 @@ NENTRY(hibernate_switch_stack_machdep)
ret
NENTRY(hibernate_flush)
- movq $HIBERNATE_PML4T, %rax
- movq %rax, %cr3
+ invlpg HIBERNATE_INFLATE_PAGE
ret
#endif /* HIBERNATE */
diff --git a/sys/kern/subr_hibernate.c b/sys/kern/subr_hibernate.c
index 09e9f397498..147a3e1803b 100644
--- a/sys/kern/subr_hibernate.c
+++ b/sys/kern/subr_hibernate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_hibernate.c,v 1.83 2014/01/21 01:48:44 tedu Exp $ */
+/* $OpenBSD: subr_hibernate.c,v 1.84 2014/02/01 07:10:33 mlarkin Exp $ */
/*
* Copyright (c) 2011 Ariane van der Steldt <ariane@stack.nl>
@@ -825,9 +825,6 @@ hibernate_inflate_region(union hibernate_info *hib, paddr_t dest,
hibernate_state->hib_stream.avail_in = size;
do {
- /* Flush cache and TLB */
- hibernate_flush();
-
/*
* Is this a special page? If yes, redirect the
* inflate output to a scratch page (eg, discard it)
@@ -1269,7 +1266,6 @@ hibernate_copy_chunk_to_piglet(paddr_t img_cur, vaddr_t piglet, size_t size)
src += ct;
dest += ct;
}
- wbinvd();
/* Copy remaining pages */
while (src < size + img_cur) {
@@ -1281,9 +1277,6 @@ hibernate_copy_chunk_to_piglet(paddr_t img_cur, vaddr_t piglet, size_t size)
src += ct;
dest += ct;
}
-
- hibernate_flush();
- wbinvd();
}
/*