diff options
author | Henrik Brix Andersen <brix@gentoo.org> | 2005-12-27 22:02:27 +0000 |
---|---|---|
committer | Henrik Brix Andersen <brix@gentoo.org> | 2005-12-27 22:02:27 +0000 |
commit | 191a9246ed1a49e0e5bbbc32f2a4e269808b9e92 (patch) | |
tree | b1695ab82a2b06db22eb0a07b6b8088ef97bf199 /sys-kernel/suspend2-sources | |
parent | Version bump. (diff) | |
download | gentoo-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')
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 +} |