summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Brix Andersen <brix@gentoo.org>2005-12-27 22:02:27 +0000
committerHenrik Brix Andersen <brix@gentoo.org>2005-12-27 22:02:27 +0000
commit191a9246ed1a49e0e5bbbc32f2a4e269808b9e92 (patch)
treeb1695ab82a2b06db22eb0a07b6b8088ef97bf199 /sys-kernel/suspend2-sources
parentVersion bump. (diff)
downloadgentoo-2-191a9246ed1a49e0e5bbbc32f2a4e269808b9e92.tar.gz
gentoo-2-191a9246ed1a49e0e5bbbc32f2a4e269808b9e92.tar.bz2
gentoo-2-191a9246ed1a49e0e5bbbc32f2a4e269808b9e92.zip
Revision bump to use genpatches-2.6.14-6 and Software Suspend 2.2-rc15 + patches.
(Portage version: 2.0.53)
Diffstat (limited to 'sys-kernel/suspend2-sources')
-rw-r--r--sys-kernel/suspend2-sources/ChangeLog14
-rw-r--r--sys-kernel/suspend2-sources/Manifest45
-rw-r--r--sys-kernel/suspend2-sources/files/digest-suspend2-sources-2.6.14-r84
-rw-r--r--sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-get-next-bit-on.patch173
-rw-r--r--sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-listen-to-abort-request.patch32
-rw-r--r--sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-mce-config.patch32
-rw-r--r--sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-no-pageflags.patch31
-rw-r--r--sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-pageflags.h.patch100
-rw-r--r--sys-kernel/suspend2-sources/suspend2-sources-2.6.14-r8.ebuild65
9 files changed, 476 insertions, 20 deletions
diff --git a/sys-kernel/suspend2-sources/ChangeLog b/sys-kernel/suspend2-sources/ChangeLog
index 3f567c3df855..d05eb91e5235 100644
--- a/sys-kernel/suspend2-sources/ChangeLog
+++ b/sys-kernel/suspend2-sources/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for sys-kernel/suspend2-sources
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/suspend2-sources/ChangeLog,v 1.28 2005/12/14 22:51:39 brix Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/suspend2-sources/ChangeLog,v 1.29 2005/12/27 22:02:27 brix Exp $
+
+*suspend2-sources-2.6.14-r8 (27 Dec 2005)
+
+ 27 Dec 2005; Henrik Brix Andersen <brix@gentoo.org>
+ +files/suspend2-2.2-rc15-get-next-bit-on.patch,
+ +files/suspend2-2.2-rc15-listen-to-abort-request.patch,
+ +files/suspend2-2.2-rc15-mce-config.patch,
+ +files/suspend2-2.2-rc15-no-pageflags.patch,
+ +files/suspend2-2.2-rc15-pageflags.h.patch,
+ +suspend2-sources-2.6.14-r8.ebuild:
+ Revision bump to use genpatches-2.6.14-6 and Software Suspend 2.2-rc15 +
+ patches.
14 Dec 2005; Henrik Brix Andersen <brix@gentoo.org>
suspend2-sources-2.6.14-r7.ebuild:
diff --git a/sys-kernel/suspend2-sources/Manifest b/sys-kernel/suspend2-sources/Manifest
index ff821ad7e9a7..3644fd63e2fd 100644
--- a/sys-kernel/suspend2-sources/Manifest
+++ b/sys-kernel/suspend2-sources/Manifest
@@ -1,32 +1,39 @@
-MD5 c950b654d066e171c4d916bbfe099502 suspend2-sources-2.6.13-r4.ebuild 1966
-MD5 df999badafc06dd65c6f777b684ad9d6 suspend2-sources-2.6.13-r1.ebuild 2006
-MD5 2cee4a689fad003d7e2e33b9533d0c84 suspend2-sources-2.6.13.ebuild 2063
-MD5 5cfda97b5ce288a6978bc4cb747df913 suspend2-sources-2.6.14-r5.ebuild 1809
-MD5 3d963bf6d8c5faa596abbb068dec2318 suspend2-sources-2.6.13-r3.ebuild 1967
-MD5 47b7971f89ffc40fd62aded939d754c3 suspend2-sources-2.6.14-r7.ebuild 2079
-MD5 9a1a245c42ac8ba5b633d8c1c4e51382 suspend2-sources-2.6.13-r5.ebuild 1967
-MD5 aa65b078bf0942f139815933db9c3a46 suspend2-sources-2.6.14-r4.ebuild 1762
-MD5 5d404bb0571ae11e7702c33c9577af76 suspend2-sources-2.6.13-r2.ebuild 1967
-MD5 c6ead69177e3808b0e77d823e7b9b778 ChangeLog 6574
-MD5 e40cb3df546efa5003fe3778c5a50854 metadata.xml 275
-MD5 a24f87b3199f5a851070c6ce817dc3ca suspend2-sources-2.6.14.ebuild 1758
-MD5 ef0d8e7f3382db7f92650dca96517ac3 suspend2-sources-2.6.14-r6.ebuild 1762
+MD5 375adc0686cdeeed29508750917f0242 ChangeLog 7042
MD5 8c885e50de95004ba759a137c3f93495 files/101-software-suspend-2.2-rc3-for-2.6.13-gcc4.patch 877
-MD5 10e1c89732c17d3cb31f8742aedcee13 files/suspend2-2.2-rc14-remove-pfn_to_kaddr.patch 1149
-MD5 4c9a2a6532217c3e54a52f6633e33c9f files/suspend2-2.2-rc13-filewriter.patch 5283
-MD5 3a1912556d15f96edb9a356555dadf67 files/suspend2-2.2-rc14-do-correct-init-routine.patch 744
-MD5 ae183cf8eb4f23506651725c3ba32f67 files/suspend2-2.2-rc14-test-filewriter.patch 6262
+MD5 a67db8b8f894652b4d1456406d307a37 files/digest-suspend2-sources-2.6.13 310
MD5 5ff92c313009119044ed51956fb509f9 files/digest-suspend2-sources-2.6.13-r1 310
MD5 16d093ac8154cc561af7a4a90179d885 files/digest-suspend2-sources-2.6.13-r2 310
MD5 63ce46eba91fa8e586a2a26ed6432987 files/digest-suspend2-sources-2.6.13-r3 310
MD5 a1ecfa4588d9177bc680ebe3acf020b9 files/digest-suspend2-sources-2.6.13-r4 310
MD5 906ae7417b7d3ae2f2bf7859812f8396 files/digest-suspend2-sources-2.6.13-r5 310
+MD5 ae95e997f0e9496adfb824ee7f166c5d files/digest-suspend2-sources-2.6.14 301
MD5 92ba5acc4df4d19ceaa8d998eb57738d files/digest-suspend2-sources-2.6.14-r4 303
MD5 92ba5acc4df4d19ceaa8d998eb57738d files/digest-suspend2-sources-2.6.14-r5 303
MD5 55fb5d3c6fea0515663795871515faf9 files/digest-suspend2-sources-2.6.14-r6 303
MD5 55fb5d3c6fea0515663795871515faf9 files/digest-suspend2-sources-2.6.14-r7 303
+MD5 da3f42bad1e36436b75ebe041d853c0a files/digest-suspend2-sources-2.6.14-r8 303
MD5 d1eff82a3bab3c5b67dec45a552888e4 files/linux-2.6.13-poweroff.patch 500
+MD5 4c9a2a6532217c3e54a52f6633e33c9f files/suspend2-2.2-rc13-filewriter.patch 5283
+MD5 3a1912556d15f96edb9a356555dadf67 files/suspend2-2.2-rc14-do-correct-init-routine.patch 744
MD5 185ab2bbe913834d2839b1f010120e5b files/suspend2-2.2-rc14-freeze-fses-in-reverse-mount-order.patch 2487
+MD5 10e1c89732c17d3cb31f8742aedcee13 files/suspend2-2.2-rc14-remove-pfn_to_kaddr.patch 1149
MD5 55ffe19645dea1cc8df6866ff95737dd files/suspend2-2.2-rc14-select-hotplug-cpu-instead-of-depending-on.patch 671
-MD5 a67db8b8f894652b4d1456406d307a37 files/digest-suspend2-sources-2.6.13 310
-MD5 ae95e997f0e9496adfb824ee7f166c5d files/digest-suspend2-sources-2.6.14 301
+MD5 ae183cf8eb4f23506651725c3ba32f67 files/suspend2-2.2-rc14-test-filewriter.patch 6262
+MD5 f4d1a2c278cb3e823c8f7da71afed4ee files/suspend2-2.2-rc15-get-next-bit-on.patch 5368
+MD5 aa1349c52fa5f56680b2e612d415a6cb files/suspend2-2.2-rc15-listen-to-abort-request.patch 956
+MD5 7761c9dd108bf9dca9d3427b721f44f1 files/suspend2-2.2-rc15-mce-config.patch 873
+MD5 d33577823e512a90a2b24754f74fdc07 files/suspend2-2.2-rc15-no-pageflags.patch 998
+MD5 6cd7d0c37cc50881f3d3b0feffedb4f1 files/suspend2-2.2-rc15-pageflags.h.patch 3990
+MD5 e40cb3df546efa5003fe3778c5a50854 metadata.xml 275
+MD5 df999badafc06dd65c6f777b684ad9d6 suspend2-sources-2.6.13-r1.ebuild 2006
+MD5 5d404bb0571ae11e7702c33c9577af76 suspend2-sources-2.6.13-r2.ebuild 1967
+MD5 3d963bf6d8c5faa596abbb068dec2318 suspend2-sources-2.6.13-r3.ebuild 1967
+MD5 c950b654d066e171c4d916bbfe099502 suspend2-sources-2.6.13-r4.ebuild 1966
+MD5 9a1a245c42ac8ba5b633d8c1c4e51382 suspend2-sources-2.6.13-r5.ebuild 1967
+MD5 2cee4a689fad003d7e2e33b9533d0c84 suspend2-sources-2.6.13.ebuild 2063
+MD5 aa65b078bf0942f139815933db9c3a46 suspend2-sources-2.6.14-r4.ebuild 1762
+MD5 5cfda97b5ce288a6978bc4cb747df913 suspend2-sources-2.6.14-r5.ebuild 1809
+MD5 ef0d8e7f3382db7f92650dca96517ac3 suspend2-sources-2.6.14-r6.ebuild 1762
+MD5 47b7971f89ffc40fd62aded939d754c3 suspend2-sources-2.6.14-r7.ebuild 2079
+MD5 061602510f2ef2ffffd9c3298ffcb4d5 suspend2-sources-2.6.14-r8.ebuild 1898
+MD5 a24f87b3199f5a851070c6ce817dc3ca suspend2-sources-2.6.14.ebuild 1758
diff --git a/sys-kernel/suspend2-sources/files/digest-suspend2-sources-2.6.14-r8 b/sys-kernel/suspend2-sources/files/digest-suspend2-sources-2.6.14-r8
new file mode 100644
index 000000000000..615037c70523
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/digest-suspend2-sources-2.6.14-r8
@@ -0,0 +1,4 @@
+MD5 7b4596d457b6ee6555467510f93beae1 genpatches-2.6.14-6.base.tar.bz2 43416
+MD5 9f4f1a2c33dcbf0e90cd03d8429ff0af genpatches-2.6.14-6.extras.tar.bz2 142535
+MD5 66d02cbd723876c6d69846a067875a22 linux-2.6.14.tar.bz2 39172170
+MD5 a390d689dc5de91222f905cae7d0d406 suspend2-2.2-rc15-for-2.6.14.tar.bz2 113332
diff --git a/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-get-next-bit-on.patch b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-get-next-bit-on.patch
new file mode 100644
index 000000000000..ca39df44ec31
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-get-next-bit-on.patch
@@ -0,0 +1,173 @@
+Hi.
+
+This patch makes a backup of zone info we use before starting the
+restoration of original kernel data, and uses that info rather than the
+struct zones themselves when restoring the kernel data.
+
+Regards,
+
+Nigel
+
+ atomic_copy.c | 74 ++++++++++++++++++++++++++++++++++++++++------------------
+ 1 files changed, 52 insertions(+), 22 deletions(-)
+diff -ruNp 9040-get-next-bit-on.patch-old/kernel/power/atomic_copy.c 9040-get-next-bit-on.patch-new/kernel/power/atomic_copy.c
+--- 9040-get-next-bit-on.patch-old/kernel/power/atomic_copy.c 2005-12-27 20:52:30.000000000 +1000
++++ 9040-get-next-bit-on.patch-new/kernel/power/atomic_copy.c 2005-12-27 20:52:18.000000000 +1000
+@@ -32,11 +32,12 @@ static dyn_pageflags_t __nosavedata copy
+ static int __nosavedata origoffset;
+ static int __nosavedata copyoffset;
+ static int __nosavedata loop;
+-static __nosavedata struct zone *o_zone, *c_zone;
+ static __nosavedata int o_zone_num, c_zone_num;
+ static __nosavedata int is_resuming;
+
+ __nosavedata char resume_commandline[COMMAND_LINE_SIZE];
++static __nosavedata unsigned long *zone_nosave;
++static __nosavedata int num_zones;
+
+ static atomic_t atomic_copy_hold;
+ static atomic_t restore_thread_ready;
+@@ -44,28 +45,59 @@ static atomic_t restore_thread_ready;
+ suspend2_saved_context_t suspend2_saved_context; /* temporary storage */
+ cpumask_t saved_affinity[NR_IRQS];
+
++/*
++ * Zone information might be overwritten during the copy back,
++ * so we copy the fields we need to a non-conflicting page and
++ * use it.
++ */
++static void init_nosave_zone_table(void)
++{
++ struct zone *zone;
++
++ zone_nosave = (unsigned long *) suspend2_get_nonconflicting_pages(0);
++
++ BUG_ON(!zone_nosave);
++
++ for_each_zone(zone) {
++ if (zone->spanned_pages) {
++ zone_nosave[num_zones * 3 ] = zone->zone_start_pfn;
++ zone_nosave[num_zones * 3 + 1] = zone->zone_start_pfn +
++ zone->spanned_pages;
++ zone_nosave[num_zones * 3 + 2] = is_highmem(zone);
++ }
++ num_zones++;
++ }
++}
++
+ /* For Suspend2, where this all has to be inlined */
+-static int __get_next_bit_on(dyn_pageflags_t bitmap, struct zone **zone,
+- int *zone_num, int counter)
++static int __get_next_bit_on(dyn_pageflags_t bitmap, int *zone_num, int counter)
+ {
+ unsigned long *ul_ptr = NULL;
+ int reset_ul_ptr = 1;
+ BUG_ON(counter == max_pfn);
+
+- if (counter == -1)
+- counter = pgdat_list->node_zones->zone_start_pfn - 1;
++ if (counter == -1) {
++ *zone_num = 0;
++
++ /*
++ * Test the end because the start can validly
++ * be zero.
++ */
++ while (!zone_nosave[(*zone_num) * 3 + 1])
++ *zone_num++;
++ counter = zone_nosave[*zone_num * 3] - 1;
++ }
+
+ do {
+ counter++;
+- if (counter >= ((*zone)->zone_start_pfn + (*zone)->spanned_pages)) {
+- do {
+- *zone = next_zone(*zone);
++ if (counter >= zone_nosave[(*zone_num) * 3 + 1]) {
++ (*zone_num)++;
++ while (!zone_nosave[(*zone_num) * 3 + 1] && *zone_num < num_zones)
+ (*zone_num)++;
+- } while (*zone && !(*zone)->spanned_pages);
+
+- if (!*zone)
++ if (*zone_num == num_zones)
+ return max_pfn;
+- counter = (*zone)->zone_start_pfn;
++ counter = zone_nosave[(*zone_num) * 3];
+ reset_ul_ptr = 1;
+ } else
+ if (!(counter & BIT_NUM_MASK))
+@@ -73,9 +105,9 @@ static int __get_next_bit_on(dyn_pagefla
+ if (reset_ul_ptr) {
+ reset_ul_ptr = 0;
+ ul_ptr = PAGE_UL_PTR(bitmap, *zone_num,
+- (counter - (*zone)->zone_start_pfn));
++ (counter - zone_nosave[(*zone_num) * 3]));
+ if (!*ul_ptr) {
+- counter += BIT_NUM_MASK;
++ counter += BIT_NUM_MASK - 1;
+ continue;
+ }
+ }
+@@ -100,6 +132,8 @@ static void copyback_prepare(void)
+ io_speed_save[loop/2][loop%2] =
+ suspend_io_time[loop/2][loop%2];
+
++ init_nosave_zone_table();
++
+ memcpy(resume_commandline, saved_command_line, COMMAND_LINE_SIZE);
+
+ suspend2_map_atomic_copy_pages();
+@@ -235,19 +269,17 @@ static inline void copyback_low(void)
+ unsigned long *origpage;
+ unsigned long *copypage;
+
+- o_zone = pgdat_list->node_zones;
+ o_zone_num = 0;
+- c_zone = pgdat_list->node_zones;
+ c_zone_num = 0;
+
+ origmap = pageset1_map;
+ copymap = pageset1_copy_map;
+
+- origoffset = __get_next_bit_on(origmap, &o_zone, &o_zone_num, -1);
+- copyoffset = __get_next_bit_on(copymap, &c_zone, &c_zone_num, -1);
++ origoffset = __get_next_bit_on(origmap, &o_zone_num, -1);
++ copyoffset = __get_next_bit_on(copymap, &c_zone_num, -1);
+
+ while (origoffset < max_pfn) {
+- if (!is_highmem(o_zone)) {
++ if (!zone_nosave[o_zone_num * 3 + 2]) {
+ origpage = (unsigned long *) __va(origoffset << PAGE_SHIFT);
+ copypage = (unsigned long *) __va(copyoffset << PAGE_SHIFT);
+
+@@ -259,9 +291,9 @@ static inline void copyback_low(void)
+ }
+ }
+
+- origoffset = __get_next_bit_on(origmap, &o_zone, &o_zone_num,
++ origoffset = __get_next_bit_on(origmap, &o_zone_num,
+ origoffset);
+- copyoffset = __get_next_bit_on(copymap, &c_zone, &c_zone_num,
++ copyoffset = __get_next_bit_on(copymap, &c_zone_num,
+ copyoffset);
+ }
+ }
+@@ -274,9 +306,7 @@ void copyback_high(void)
+ unsigned long *origpage;
+ unsigned long *copypage;
+
+- o_zone = pgdat_list->node_zones;
+ o_zone_num = 0;
+- c_zone = pgdat_list->node_zones;
+ c_zone_num = 0;
+
+ origoffset = get_next_bit_on(origmap, -1);
+
+
+
+_______________________________________________
+Suspend2-devel mailing list
+Suspend2-devel@lists.suspend2.net
+http://lists.suspend2.net/mailman/listinfo/suspend2-devel
+
diff --git a/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-listen-to-abort-request.patch b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-listen-to-abort-request.patch
new file mode 100644
index 000000000000..312967671c2b
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-listen-to-abort-request.patch
@@ -0,0 +1,32 @@
+Hi.
+
+The loop in the i/o core that submits I/O lost the check for aborting in
+the recent cleanup.
+
+This patch restores it.
+
+Nigel
+
+ io.c | 3 +++
+ 1 files changed, 3 insertions(+)
+diff -ruNp 9030-listen-to-abort-request.patch-old/kernel/power/io.c 9030-listen-to-abort-request.patch-new/kernel/power/io.c
+--- 9030-listen-to-abort-request.patch-old/kernel/power/io.c 2005-12-27 20:44:56.000000000 +1000
++++ 9030-listen-to-abort-request.patch-new/kernel/power/io.c 2005-12-26 21:42:20.000000000 +1000
+@@ -315,6 +315,9 @@ static int do_rw_loop(int write, int fin
+ /* Interactivity*/
+ check_shift_keys(0, NULL);
+
++ if (test_result_state(SUSPEND_ABORTED) && write)
++ return 1;
++
+ /* Prepare next */
+ current_page_index = get_next_bit_on(*pageflags,
+ current_page_index);
+
+
+
+_______________________________________________
+Suspend2-devel mailing list
+Suspend2-devel@lists.suspend2.net
+http://lists.suspend2.net/mailman/listinfo/suspend2-devel
+
diff --git a/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-mce-config.patch b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-mce-config.patch
new file mode 100644
index 000000000000..3179f86314b4
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-mce-config.patch
@@ -0,0 +1,32 @@
+Hi.
+
+This patch makes reinitialising mces dependant upon support for mces
+actually being compiled in.
+
+Regards,
+
+Nigel
+
+ suspend2.h | 2 ++
+ 1 files changed, 2 insertions(+)
+diff -ruNp 9010-mce-config.patch-old/include/asm-i386/suspend2.h 9010-mce-config.patch-new/include/asm-i386/suspend2.h
+--- 9010-mce-config.patch-old/include/asm-i386/suspend2.h 2005-12-27 20:44:01.000000000 +1000
++++ 9010-mce-config.patch-new/include/asm-i386/suspend2.h 2005-12-26 20:56:11.000000000 +1000
+@@ -258,7 +258,9 @@ static inline void suspend2_arch_restore
+ do_fpu_end();
+
+ mtrr_ap_init();
++#ifdef CONFIG_X86_MCE
+ mcheck_init(&boot_cpu_data);
++#endif
+ }
+
+ static inline void suspend2_arch_flush_caches(void)
+
+
+
+_______________________________________________
+Suspend2-devel mailing list
+Suspend2-devel@lists.suspend2.net
+http://lists.suspend2.net/mailman/listinfo/suspend2-devel
+
diff --git a/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-no-pageflags.patch b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-no-pageflags.patch
new file mode 100644
index 000000000000..c96600e85e77
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-no-pageflags.patch
@@ -0,0 +1,31 @@
+Hi.
+
+This patch against 2.2-rc15 removes the only use of a pageflags macro.
+The macro itself is removed in a forthcoming patch.
+
+Regards,
+
+Nigel
+
+ prepare_image.c | 2 +-
+ 1 files changed, 1 insertion(+), 1 deletion(-)
+diff -ruNp 9000.patch-old/kernel/power/prepare_image.c 9000.patch-new/kernel/power/prepare_image.c
+--- 9000.patch-old/kernel/power/prepare_image.c 2005-12-27 20:43:33.000000000 +1000
++++ 9000.patch-new/kernel/power/prepare_image.c 2005-12-26 17:13:02.000000000 +1000
+@@ -108,7 +108,7 @@ static inline int header_storage_needed(
+ sizeof(struct suspend_header) +
+ sizeof(struct plugin_header) +
+ (int) header_storage_for_plugins() +
+- (PAGES_PER_DYN_PAGEFLAG << PAGE_SHIFT) +
++ (dyn_pageflags_pages_per_bitmap() << PAGE_SHIFT) +
+ num_plugins *
+ (sizeof(struct plugin_header) + sizeof(int)));
+
+
+
+
+_______________________________________________
+Suspend2-devel mailing list
+Suspend2-devel@lists.suspend2.net
+http://lists.suspend2.net/mailman/listinfo/suspend2-devel
+
diff --git a/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-pageflags.h.patch b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-pageflags.h.patch
new file mode 100644
index 000000000000..57e7e922d333
--- /dev/null
+++ b/sys-kernel/suspend2-sources/files/suspend2-2.2-rc15-pageflags.h.patch
@@ -0,0 +1,100 @@
+Hi.
+
+This patch cleans up some duplication in include/linux/dyn_pageflags,
+kernel/power/pageflags.h and lib/dyn_pageflags.c.
+
+Regards,
+
+Nigel
+
+ include/linux/dyn_pageflags.h | 16 +++++++++-------
+ kernel/power/pageflags.h | 4 ----
+ lib/dyn_pageflags.c | 19 -------------------
+ 3 files changed, 9 insertions(+), 30 deletions(-)
+diff -ruNp 9050-pageflags.h-old/include/linux/dyn_pageflags.h 9050-pageflags.h-new/include/linux/dyn_pageflags.h
+--- 9050-pageflags.h-old/include/linux/dyn_pageflags.h 2005-12-27 20:25:56.000000000 +1000
++++ 9050-pageflags.h-new/include/linux/dyn_pageflags.h 2005-12-27 20:25:49.000000000 +1000
+@@ -40,23 +40,25 @@ typedef unsigned long *** dyn_pageflags_
+
+ #define PAGE_UL_PTR(bitmap, zone_num, zone_pfn) \
+ ((bitmap[zone_num][PAGENUMBER(zone_pfn)])+PAGEINDEX(zone_pfn))
+-#define PAGES_PER_DYN_PAGEFLAG (dyn_pageflags_pages_per_bitmap())
+
+ /* With the above macros defined, you can do...
+
+-#define PageInUse(page) \
+- test_bit(PAGEBIT(page), PAGE_UL_PTR(in_use_map, page))
+-#define SetPageInUse(page) \
+- set_bit(PAGEBIT(page), PAGE_UL_PTR(in_use_map, page))
+-#define ClearPageInUse(page) \
+- clear_bit(PAGEBIT(page), PAGE_UL_PTR(in_use_map, page))
++#define PagePageset1(page) (test_dynpageflag(&pageset1_map, page))
++#define SetPagePageset1(page) (set_dynpageflag(&pageset1_map, page))
++#define ClearPagePageset1(page) (clear_dynpageflag(&pageset1_map, page))
+ */
+
++#define BITMAP_FOR_EACH_SET(bitmap, counter) \
++ for (counter = get_next_bit_on(bitmap, -1); counter < max_pfn; \
++ counter = get_next_bit_on(bitmap, counter))
++
+ extern void clear_dyn_pageflags(dyn_pageflags_t pagemap);
+ extern int allocate_dyn_pageflags(dyn_pageflags_t *pagemap);
+ extern int free_dyn_pageflags(dyn_pageflags_t *pagemap);
+ extern int dyn_pageflags_pages_per_bitmap(void);
+ extern int get_next_bit_on(dyn_pageflags_t bitmap, int counter);
++extern unsigned long *dyn_pageflags_ul_ptr(dyn_pageflags_t *bitmap,
++ struct page *pg);
+
+ extern int test_dynpageflag(dyn_pageflags_t *bitmap, struct page *page);
+ extern void set_dynpageflag(dyn_pageflags_t *bitmap, struct page *page);
+diff -ruNp 9050-pageflags.h-old/kernel/power/pageflags.h 9050-pageflags.h-new/kernel/power/pageflags.h
+--- 9050-pageflags.h-old/kernel/power/pageflags.h 2005-12-27 20:25:56.000000000 +1000
++++ 9050-pageflags.h-new/kernel/power/pageflags.h 2005-12-27 10:17:51.000000000 +1000
+@@ -80,10 +80,6 @@ static inline void ClearPageChecksumIgno
+ clear_dynpageflag(&checksum_map, page);
+ };
+
+-#define BITMAP_FOR_EACH_SET(bitmap, counter) \
+- for (counter = get_next_bit_on(bitmap, -1); counter < max_pfn; \
+- counter = get_next_bit_on(bitmap, counter))
+-
+ extern void save_dyn_pageflags(dyn_pageflags_t pagemap);
+ extern void load_dyn_pageflags(dyn_pageflags_t pagemap);
+ void relocate_dyn_pageflags(dyn_pageflags_t *pagemap);
+diff -ruNp 9050-pageflags.h-old/lib/dyn_pageflags.c 9050-pageflags.h-new/lib/dyn_pageflags.c
+--- 9050-pageflags.h-old/lib/dyn_pageflags.c 2005-12-27 20:25:56.000000000 +1000
++++ 9050-pageflags.h-new/lib/dyn_pageflags.c 2005-12-27 10:07:36.000000000 +1000
+@@ -23,25 +23,6 @@
+
+ #define page_to_zone_offset(pg) (page_to_pfn(pg) - page_zone(pg)->zone_start_pfn)
+
+-#if BITS_PER_LONG == 32
+-#define UL_SHIFT 5
+-#else
+-#if BITS_PER_LONG == 64
+-#define UL_SHIFT 6
+-#else
+-#error Bits per long not 32 or 64?
+-#endif
+-#endif
+-
+-#define BIT_NUM_MASK (sizeof(unsigned long) * 8 - 1)
+-#define PAGE_NUM_MASK (~((1 << (PAGE_SHIFT + 3)) - 1))
+-#define UL_NUM_MASK (~(BIT_NUM_MASK | PAGE_NUM_MASK))
+-
+-#define BITS_PER_PAGE (PAGE_SIZE << 3)
+-#define PAGENUMBER(zone_offset) (zone_offset >> (PAGE_SHIFT + 3))
+-#define PAGEINDEX(zone_offset) ((zone_offset & UL_NUM_MASK) >> UL_SHIFT)
+-#define PAGEBIT(zone_offset) (zone_offset & BIT_NUM_MASK)
+-
+ int num_zones(void)
+ {
+ int result = 0;
+
+
+
+_______________________________________________
+Suspend2-devel mailing list
+Suspend2-devel@lists.suspend2.net
+http://lists.suspend2.net/mailman/listinfo/suspend2-devel
+
diff --git a/sys-kernel/suspend2-sources/suspend2-sources-2.6.14-r8.ebuild b/sys-kernel/suspend2-sources/suspend2-sources-2.6.14-r8.ebuild
new file mode 100644
index 000000000000..4ee9b2765340
--- /dev/null
+++ b/sys-kernel/suspend2-sources/suspend2-sources-2.6.14-r8.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/suspend2-sources/suspend2-sources-2.6.14-r8.ebuild,v 1.1 2005/12/27 22:02:27 brix Exp $
+
+ETYPE="sources"
+K_WANT_GENPATCHES="base extras"
+K_GENPATCHES_VER="6"
+
+inherit eutils kernel-2
+detect_version
+detect_arch
+
+DESCRIPTION="Software Suspend 2 + Gentoo patchset sources"
+HOMEPAGE="http://dev.gentoo.org/~dsd/genpatches http://www.suspend2.net"
+
+SUSPEND2_VERSION="2.2-rc15"
+SUSPEND2_TARGET="${PV}"
+SUSPEND2_SRC="suspend2-${SUSPEND2_VERSION}-for-${SUSPEND2_TARGET}"
+SUSPEND2_URI="http://www.suspend2.net/downloads/all/${SUSPEND2_SRC}.tar.bz2"
+
+UNIPATCH_LIST="${DISTDIR}/${SUSPEND2_SRC}.tar.bz2
+${FILESDIR}/suspend2-2.2-rc15-no-pageflags.patch
+${FILESDIR}/suspend2-2.2-rc15-mce-config.patch
+${FILESDIR}/suspend2-2.2-rc15-listen-to-abort-request.patch
+${FILESDIR}/suspend2-2.2-rc15-get-next-bit-on.patch
+${FILESDIR}/suspend2-2.2-rc15-pageflags.h.patch"
+
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_DOCS="${WORKDIR}/patches/${SUSPEND2_SRC}/Changelog.txt
+${WORKDIR}/patches/${SUSPEND2_SRC}/ToDo"
+
+SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} ${SUSPEND2_URI}"
+
+KEYWORDS="~x86"
+
+IUSE="ultra1"
+RDEPEND="${RDEPEND}
+ >=sys-apps/suspend2-userui-0.6.1
+ >=sys-power/hibernate-script-1.12"
+
+K_EXTRAEINFO="If there are issues with this kernel, please direct any
+queries to the suspend2-users mailing list:
+http://lists.suspend2.net/mailman/listinfo/suspend2-users/"
+
+pkg_setup() {
+ if use sparc; then
+ # hme lockup hack on ultra1
+ use ultra1 || UNIPATCH_EXCLUDE="${UNIPATCH_EXCLUDE} 1399_sparc-U1-hme-lockup.patch"
+ fi
+}
+
+pkg_postinst() {
+ postinst_sources
+
+ echo
+
+ if [ "${ARCH}" = "sparc" ]; then
+ if [ x"`cat /proc/openprom/name 2>/dev/null`" \
+ = x"'SUNW,Ultra-1'" ]; then
+ einfo "For users with an Enterprise model Ultra 1 using the HME"
+ einfo "network interface, please emerge the kernel using the"
+ einfo "following command: USE=ultra1 emerge ${PN}"
+ fi
+ fi
+}