From: Nigel Cunningham <nigel@suspend2.net>
To: linux-kernel@vger.kernel.org
Subject: [Suspend2][ 20/20] [Suspend2] Prepare image header file
Date: Tue, 27 Jun 2006 08:35:55 +1000 [thread overview]
Message-ID: <20060626223553.4050.55187.stgit@nigel.suspend2.net> (raw)
In-Reply-To: <20060626223446.4050.9897.stgit@nigel.suspend2.net>
Header file for image preparation routines and exported functions.
Signed-off-by: Nigel Cunningham <nigel@suspend2.net>
kernel/power/prepare_image.h | 92 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 92 insertions(+), 0 deletions(-)
diff --git a/kernel/power/prepare_image.h b/kernel/power/prepare_image.h
new file mode 100644
index 0000000..912f570
--- /dev/null
+++ b/kernel/power/prepare_image.h
@@ -0,0 +1,92 @@
+/*
+ * kernel/power/prepare_image.h
+ *
+ * Copyright (C) 2003-2006 Nigel Cunningham <nigel@suspend.net>
+ *
+ * This file is released under the GPLv2.
+ *
+ */
+
+extern int suspend_prepare_image(void);
+extern void suspend_recalculate_image_contents(int storage_available);
+extern long real_nr_free_pages(void);
+extern long image_size_limit;
+extern long pageset1_sizelow, pageset2_sizelow;
+
+struct pageset_sizes_result {
+ long size1; /* Can't be unsigned - breaks MAX function */
+ long size1low;
+ long size2;
+ long size2low;
+};
+
+#ifdef CONFIG_CRYPTO
+extern int suspend_expected_compression_ratio(void);
+#else
+static inline int suspend_expected_compression_ratio(void)
+{
+ return 0;
+};
+#endif
+
+#define MIN_FREE_RAM 2000
+#define MIN_EXTRA_PAGES_ALLOWANCE 500
+
+extern long extra_pd1_pages_allowance;
+extern long storage_needed(int use_ecr, int ignore_extra_p1_allowance);
+extern long ram_to_suspend(void);
+
+#ifdef CONFIG_DEBUG_RODATA
+extern char __start_rodata, __end_rodata;
+
+static inline struct page* rodata_start_page(void)
+{
+ return virt_to_page(&__start_rodata);
+}
+
+static inline struct page* rodata_end_page(void)
+{
+ return virt_to_page(&__end_rodata);
+}
+
+#else
+static inline struct page* rodata_start_page(void)
+{
+ return NULL;
+}
+
+static inline struct page* rodata_end_page(void)
+{
+ return NULL;
+}
+#endif
+
+#ifdef CONFIG_PPC
+extern char _etext[];
+
+static inline struct page* rotext_start_page(void)
+{
+ return virt_to_page(PAGE_OFFSET);
+}
+#else
+extern char _text[], _etext[];
+static inline struct page* rotext_start_page(void)
+{
+ return virt_to_page(_text);
+}
+#endif
+
+static inline struct page* rotext_end_page(void)
+{
+ return virt_to_page(_etext);
+}
+
+static inline struct page* nosave_start_page(void)
+{
+ return virt_to_page(&__nosave_begin);
+}
+
+static inline struct page* nosave_end_page(void)
+{
+ return virt_to_page(&__nosave_end);
+}
--
Nigel Cunningham nigel at suspend2 dot net
prev parent reply other threads:[~2006-06-26 22:36 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-26 22:34 [Suspend2][ 00/20] Prepare image Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 01/20] [Suspend2] Prepare_image.c header Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 02/20] [Suspend2] Get number of pcp pages Nigel Cunningham
2006-06-26 22:34 ` [Suspend2][ 03/20] [Suspend2] Get the real number of free pages (incl. pcp) Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 04/20] [Suspend2] Calculate pagedir1 growth allowance Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 05/20] [Suspend2] Get the amount of storage needed for the image proper Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 06/20] [Suspend2] Calculate header storage needed Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 07/20] [Suspend2] Display image vital statistics Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 08/20] [Suspend2] Generate free page bitmap Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 09/20] [Suspend2] Get size of a free region Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 10/20] [Suspend2] Count pages in image parts Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 11/20] [Suspend2] Amount of memory still to be freed Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 12/20] [Suspend2] Recalculate image contents Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 13/20] [Suspend2] Try to refreeze processes Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 14/20] [Suspend2] Update the image Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 15/20] [Suspend2] Attempt to freeze processes Nigel Cunningham
2006-06-27 13:45 ` Pavel Machek
2006-06-27 23:38 ` Nigel Cunningham
2006-06-28 18:59 ` Hugh Dickins
2006-06-28 22:10 ` Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 16/20] [Suspend2] Calculate storage needed for an image Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 17/20] [Suspend2] Calculate the amount of free memory needed Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 18/20] [Suspend2] Free up memory if necessary Nigel Cunningham
2006-06-26 22:35 ` [Suspend2][ 19/20] [Suspend2] Prepare an image Nigel Cunningham
2006-06-26 22:35 ` Nigel Cunningham [this message]
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=20060626223553.4050.55187.stgit@nigel.suspend2.net \
--to=nigel@suspend2.net \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox