From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Len Brown <lenb@kernel.org>
Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
pm list <linux-pm@lists.linux-foundation.org>,
Zhang Rui <rui.zhang@intel.com>, Ingo Molnar <mingo@elte.hu>
Subject: [PATCH 3/4] x86 hibernate: Mark ACPI NVS memory region at startup
Date: Wed, 22 Oct 2008 22:53:15 +0200 [thread overview]
Message-ID: <200810222253.16264.rjw@sisk.pl> (raw)
In-Reply-To: <200810222249.20629.rjw@sisk.pl>
From: Rafael J. Wysocki <rjw@sisk.pl>
x86 hibernate: Mark ACPI NVS memory region at startup
Introduce new initcall for marking the ACPI NVS memory at startup, so
that it can be saved/restore during hibernation/resume.
Based on a patch by Zhang Rui.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Zhang Rui <rui.zhang@intel.com>
---
arch/x86/kernel/e820.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: linux-2.6/arch/x86/kernel/e820.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/e820.c
+++ linux-2.6/arch/x86/kernel/e820.c
@@ -20,6 +20,7 @@
#include <linux/pfn.h>
#include <linux/suspend.h>
#include <linux/firmware-map.h>
+#include <linux/efi.h>
#include <asm/pgtable.h>
#include <asm/page.h>
@@ -665,6 +666,30 @@ void __init e820_mark_nosave_regions(uns
}
#endif
+#ifdef CONFIG_HIBERNATION
+/**
+ * Mark ACPI NVS memory region, so that we can save/restore it during
+ * hibernation and the subsequent resume.
+ */
+static int __init e820_mark_nvs_memory(void)
+{
+ int i;
+
+ if (efi_enabled)
+ return 0;
+
+ for (i = 0; i < e820.nr_map; i++) {
+ struct e820entry *ei = &e820.map[i];
+
+ if (ei->type == E820_NVS)
+ hibernate_nvs_register(ei->addr, ei->size);
+ }
+
+ return 0;
+}
+core_initcall(e820_mark_nvs_memory);
+#endif
+
/*
* Early reserved memory areas.
*/
next prev parent reply other threads:[~2008-10-22 20:50 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-22 20:49 [PATCH 0/4] Hibernate: Handle ACPI NVS memory as required by the spec Rafael J. Wysocki
2008-10-22 20:50 ` [PATCH 1/4] Hibernate: Call platform_begin before swsusp_shrink_memory Rafael J. Wysocki
2008-10-22 20:50 ` Rafael J. Wysocki
2008-10-22 22:37 ` Nigel Cunningham
2008-10-26 12:00 ` [linux-pm] " Pavel Machek
2008-10-26 12:00 ` Pavel Machek
2008-10-22 20:52 ` [PATCH 2/4] ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory Rafael J. Wysocki
2008-10-22 20:52 ` Rafael J. Wysocki
2008-10-22 22:48 ` Nigel Cunningham
2008-10-22 22:48 ` [linux-pm] " Nigel Cunningham
2008-10-22 23:08 ` Rafael J. Wysocki
2008-10-22 23:08 ` [linux-pm] " Rafael J. Wysocki
2008-10-23 1:37 ` Nigel Cunningham
2008-10-23 5:47 ` [PATCH 2/4] ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory (rev. 2) Rafael J. Wysocki
2008-10-23 5:47 ` Rafael J. Wysocki
2008-10-23 8:03 ` Nigel Cunningham
2008-10-23 8:03 ` Nigel Cunningham
2008-10-23 1:37 ` [PATCH 2/4] ACPI hibernate: Add a mechanism to save/restore ACPI NVS memory Nigel Cunningham
2008-10-26 12:08 ` Pavel Machek
2008-10-26 12:08 ` [linux-pm] " Pavel Machek
2008-10-26 12:23 ` Rafael J. Wysocki
2008-10-26 12:23 ` [linux-pm] " Rafael J. Wysocki
2008-11-18 16:14 ` Pavel Machek
2008-11-18 16:14 ` [linux-pm] " Pavel Machek
2008-10-22 20:53 ` [PATCH 3/4] x86 hibernate: Mark ACPI NVS memory region at startup Rafael J. Wysocki
2008-10-22 20:53 ` Rafael J. Wysocki [this message]
2008-10-26 12:14 ` [linux-pm] " Pavel Machek
2008-10-26 12:29 ` Rafael J. Wysocki
2008-10-26 12:29 ` [linux-pm] " Rafael J. Wysocki
2008-10-29 9:21 ` Zhang Rui
2008-10-29 11:18 ` Pavel Machek
2008-10-29 11:18 ` [linux-pm] " Pavel Machek
2008-10-30 23:59 ` Rafael J. Wysocki
2008-10-30 23:59 ` Rafael J. Wysocki
2008-10-29 9:21 ` Zhang Rui
2008-10-26 12:14 ` Pavel Machek
2008-10-22 20:54 ` [PATCH 4/4] ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs Rafael J. Wysocki
2008-10-22 22:51 ` Nigel Cunningham
2008-10-22 22:51 ` [linux-pm] " Nigel Cunningham
2008-10-22 23:10 ` Rafael J. Wysocki
2008-10-22 23:19 ` [PATCH 4/4] ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs (rev. 2) Rafael J. Wysocki
2008-10-26 12:18 ` [linux-pm] " Pavel Machek
2008-10-26 12:18 ` Pavel Machek
2008-10-22 23:19 ` Rafael J. Wysocki
2008-10-22 23:10 ` [PATCH 4/4] ACPI hibernate: Introduce new kernel parameter acpi_sleep=s4_nonvs Rafael J. Wysocki
2008-10-22 20:54 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2008-10-26 19:48 [PATCH 0/4] Hibernate: Handle ACPI NVS memory as required by the spec (rev. 2) Rafael J. Wysocki
2008-10-26 19:54 ` [PATCH 3/4] x86 hibernate: Mark ACPI NVS memory region at startup Rafael J. Wysocki
2008-10-26 19:54 ` Rafael J. Wysocki
2008-10-28 9:17 ` Yinghai Lu
2008-10-28 9:17 ` Yinghai Lu
2008-10-28 13:30 ` Rafael J. Wysocki
2008-10-28 13:30 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200810222253.16264.rjw@sisk.pl \
--to=rjw@sisk.pl \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=mingo@elte.hu \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.