changeset 386:59e22ea53e6a

Upgrade kernel to 2.6.26.2. (Note: powerpc might need more work.)
author Rob Landley <rob@landley.net>
date Mon, 11 Aug 2008 03:54:24 -0500
parents 4e331a1d678b
children f0ceae67ebd0
files download.sh sources/patches/linux-2.6.25-rc1-noperl.patch sources/patches/linux-2.6.26-noperl.patch sources/patches/linux-ppcqemu.patch
diffstat 4 files changed, 637 insertions(+), 881 deletions(-) [+]
line wrap: on
line diff
--- a/download.sh	Mon Aug 11 03:17:08 2008 -0500
+++ b/download.sh	Mon Aug 11 03:54:24 2008 -0500
@@ -22,8 +22,8 @@
 # then cut and paste the sha1 from the output and run it again to confirm.
 
 # Required for cross compile toolchain
-URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.10.tar.bz2 \
-SHA1=2911e1c01cd75d7e0fad2afb8329cd8ad1e742fb \
+URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.2.tar.bz2 \
+SHA1=755c1dbf6ad58fc56e9557d2c14e91820a7a7085 \
 download &&
 
 URL=http://www.uclibc.org/downloads/uClibc-0.9.29.tar.bz2 \
--- a/sources/patches/linux-2.6.25-rc1-noperl.patch	Mon Aug 11 03:17:08 2008 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,875 +0,0 @@
-diff -ru linux-2.6.25-rc1/kernel/timeconst.pl linux-2.6.25-new/kernel/timeconst.pl
---- linux-2.6.25-rc1/kernel/timeconst.pl	2008-02-10 16:18:14.000000000 -0600
-+++ linux-2.6.25-new/kernel/timeconst.pl	2008-02-15 17:52:02.000000000 -0600
-@@ -11,210 +11,10 @@
- #
- 
- #
--# Usage: timeconst.pl HZ > timeconst.h
-+# Usage: timeconst.pl HZ... > timeconst.h
- #
- 
--# Precomputed values for systems without Math::BigInt
--# Generated by:
- # timeconst.pl --can 24 32 48 64 100 122 128 200 250 256 300 512 1000 1024 1200
--%canned_values = (
--	24 => [
--		'0xa6aaaaab','0x2aaaaaa',26,
--		'0xa6aaaaaaaaaaaaab','0x2aaaaaaaaaaaaaa',58,
--		125,3,
--		'0xc49ba5e4','0x1fbe76c8b4',37,
--		'0xc49ba5e353f7ceda','0x1fbe76c8b439581062',69,
--		3,125,
--		'0xa2c2aaab','0xaaaa',16,
--		'0xa2c2aaaaaaaaaaab','0xaaaaaaaaaaaa',48,
--		125000,3,
--		'0xc9539b89','0x7fffbce4217d',47,
--		'0xc9539b8887229e91','0x7fffbce4217d2849cb25',79,
--		3,125000,
--	], 32 => [
--		'0xfa000000','0x6000000',27,
--		'0xfa00000000000000','0x600000000000000',59,
--		125,4,
--		'0x83126e98','0xfdf3b645a',36,
--		'0x83126e978d4fdf3c','0xfdf3b645a1cac0831',68,
--		4,125,
--		'0xf4240000','0x0',17,
--		'0xf424000000000000','0x0',49,
--		31250,1,
--		'0x8637bd06','0x3fff79c842fa',46,
--		'0x8637bd05af6c69b6','0x3fff79c842fa5093964a',78,
--		1,31250,
--	], 48 => [
--		'0xa6aaaaab','0x6aaaaaa',27,
--		'0xa6aaaaaaaaaaaaab','0x6aaaaaaaaaaaaaa',59,
--		125,6,
--		'0xc49ba5e4','0xfdf3b645a',36,
--		'0xc49ba5e353f7ceda','0xfdf3b645a1cac0831',68,
--		6,125,
--		'0xa2c2aaab','0x15555',17,
--		'0xa2c2aaaaaaaaaaab','0x1555555555555',49,
--		62500,3,
--		'0xc9539b89','0x3fffbce4217d',46,
--		'0xc9539b8887229e91','0x3fffbce4217d2849cb25',78,
--		3,62500,
--	], 64 => [
--		'0xfa000000','0xe000000',28,
--		'0xfa00000000000000','0xe00000000000000',60,
--		125,8,
--		'0x83126e98','0x7ef9db22d',35,
--		'0x83126e978d4fdf3c','0x7ef9db22d0e560418',67,
--		8,125,
--		'0xf4240000','0x0',18,
--		'0xf424000000000000','0x0',50,
--		15625,1,
--		'0x8637bd06','0x1fff79c842fa',45,
--		'0x8637bd05af6c69b6','0x1fff79c842fa5093964a',77,
--		1,15625,
--	], 100 => [
--		'0xa0000000','0x0',28,
--		'0xa000000000000000','0x0',60,
--		10,1,
--		'0xcccccccd','0x733333333',35,
--		'0xcccccccccccccccd','0x73333333333333333',67,
--		1,10,
--		'0x9c400000','0x0',18,
--		'0x9c40000000000000','0x0',50,
--		10000,1,
--		'0xd1b71759','0x1fff2e48e8a7',45,
--		'0xd1b71758e219652c','0x1fff2e48e8a71de69ad4',77,
--		1,10000,
--	], 122 => [
--		'0x8325c53f','0xfbcda3a',28,
--		'0x8325c53ef368eb05','0xfbcda3ac10c9714',60,
--		500,61,
--		'0xf9db22d1','0x7fbe76c8b',35,
--		'0xf9db22d0e560418a','0x7fbe76c8b43958106',67,
--		61,500,
--		'0x8012e2a0','0x3ef36',18,
--		'0x8012e29f79b47583','0x3ef368eb04325',50,
--		500000,61,
--		'0xffda4053','0x1ffffbce4217',45,
--		'0xffda4052d666a983','0x1ffffbce4217d2849cb2',77,
--		61,500000,
--	], 128 => [
--		'0xfa000000','0x1e000000',29,
--		'0xfa00000000000000','0x1e00000000000000',61,
--		125,16,
--		'0x83126e98','0x3f7ced916',34,
--		'0x83126e978d4fdf3c','0x3f7ced916872b020c',66,
--		16,125,
--		'0xf4240000','0x40000',19,
--		'0xf424000000000000','0x4000000000000',51,
--		15625,2,
--		'0x8637bd06','0xfffbce4217d',44,
--		'0x8637bd05af6c69b6','0xfffbce4217d2849cb25',76,
--		2,15625,
--	], 200 => [
--		'0xa0000000','0x0',29,
--		'0xa000000000000000','0x0',61,
--		5,1,
--		'0xcccccccd','0x333333333',34,
--		'0xcccccccccccccccd','0x33333333333333333',66,
--		1,5,
--		'0x9c400000','0x0',19,
--		'0x9c40000000000000','0x0',51,
--		5000,1,
--		'0xd1b71759','0xfff2e48e8a7',44,
--		'0xd1b71758e219652c','0xfff2e48e8a71de69ad4',76,
--		1,5000,
--	], 250 => [
--		'0x80000000','0x0',29,
--		'0x8000000000000000','0x0',61,
--		4,1,
--		'0x80000000','0x180000000',33,
--		'0x8000000000000000','0x18000000000000000',65,
--		1,4,
--		'0xfa000000','0x0',20,
--		'0xfa00000000000000','0x0',52,
--		4000,1,
--		'0x83126e98','0x7ff7ced9168',43,
--		'0x83126e978d4fdf3c','0x7ff7ced916872b020c4',75,
--		1,4000,
--	], 256 => [
--		'0xfa000000','0x3e000000',30,
--		'0xfa00000000000000','0x3e00000000000000',62,
--		125,32,
--		'0x83126e98','0x1fbe76c8b',33,
--		'0x83126e978d4fdf3c','0x1fbe76c8b43958106',65,
--		32,125,
--		'0xf4240000','0xc0000',20,
--		'0xf424000000000000','0xc000000000000',52,
--		15625,4,
--		'0x8637bd06','0x7ffde7210be',43,
--		'0x8637bd05af6c69b6','0x7ffde7210be9424e592',75,
--		4,15625,
--	], 300 => [
--		'0xd5555556','0x2aaaaaaa',30,
--		'0xd555555555555556','0x2aaaaaaaaaaaaaaa',62,
--		10,3,
--		'0x9999999a','0x1cccccccc',33,
--		'0x999999999999999a','0x1cccccccccccccccc',65,
--		3,10,
--		'0xd0555556','0xaaaaa',20,
--		'0xd055555555555556','0xaaaaaaaaaaaaa',52,
--		10000,3,
--		'0x9d495183','0x7ffcb923a29',43,
--		'0x9d495182a9930be1','0x7ffcb923a29c779a6b5',75,
--		3,10000,
--	], 512 => [
--		'0xfa000000','0x7e000000',31,
--		'0xfa00000000000000','0x7e00000000000000',63,
--		125,64,
--		'0x83126e98','0xfdf3b645',32,
--		'0x83126e978d4fdf3c','0xfdf3b645a1cac083',64,
--		64,125,
--		'0xf4240000','0x1c0000',21,
--		'0xf424000000000000','0x1c000000000000',53,
--		15625,8,
--		'0x8637bd06','0x3ffef39085f',42,
--		'0x8637bd05af6c69b6','0x3ffef39085f4a1272c9',74,
--		8,15625,
--	], 1000 => [
--		'0x80000000','0x0',31,
--		'0x8000000000000000','0x0',63,
--		1,1,
--		'0x80000000','0x0',31,
--		'0x8000000000000000','0x0',63,
--		1,1,
--		'0xfa000000','0x0',22,
--		'0xfa00000000000000','0x0',54,
--		1000,1,
--		'0x83126e98','0x1ff7ced9168',41,
--		'0x83126e978d4fdf3c','0x1ff7ced916872b020c4',73,
--		1,1000,
--	], 1024 => [
--		'0xfa000000','0xfe000000',32,
--		'0xfa00000000000000','0xfe00000000000000',64,
--		125,128,
--		'0x83126e98','0x7ef9db22',31,
--		'0x83126e978d4fdf3c','0x7ef9db22d0e56041',63,
--		128,125,
--		'0xf4240000','0x3c0000',22,
--		'0xf424000000000000','0x3c000000000000',54,
--		15625,16,
--		'0x8637bd06','0x1fff79c842f',41,
--		'0x8637bd05af6c69b6','0x1fff79c842fa5093964',73,
--		16,15625,
--	], 1200 => [
--		'0xd5555556','0xd5555555',32,
--		'0xd555555555555556','0xd555555555555555',64,
--		5,6,
--		'0x9999999a','0x66666666',31,
--		'0x999999999999999a','0x6666666666666666',63,
--		6,5,
--		'0xd0555556','0x2aaaaa',22,
--		'0xd055555555555556','0x2aaaaaaaaaaaaa',54,
--		2500,3,
--		'0x9d495183','0x1ffcb923a29',41,
--		'0x9d495182a9930be1','0x1ffcb923a29c779a6b5',73,
--		3,2500,
--	]
--);
- 
- $has_bigint = eval 'use Math::BigInt qw(bgcd); 1;';
- 
-@@ -305,8 +105,7 @@
- 	my $s, $m, $a, $g;
- 
- 	if (!$has_bigint) {
--		die "$0: HZ == $hz not canned and ".
--		    "Math::BigInt not available\n";
-+		die "$0: Math::BigInt not available\n";
- 	}
- 
- 	# MSEC conversions
-@@ -323,19 +122,7 @@
- 	my($hz, @val) = @_;
- 	my $pfx, $bit, $suf, $s, $m, $a;
- 
--	print "/* Automatically generated by kernel/timeconst.pl */\n";
--	print "/* Conversion constants for HZ == $hz */\n";
--	print "\n";
--	print "#ifndef KERNEL_TIMECONST_H\n";
--	print "#define KERNEL_TIMECONST_H\n";
--	print "\n";
--
--	print "#include <linux/param.h>\n";
--
--	print "\n";
--	print "#if HZ != $hz\n";
--	print "#error \"kernel/timeconst.h has the wrong HZ value!\"\n";
--	print "#endif\n";
-+	print "HZ == $hz\n";
- 	print "\n";
- 
- 	foreach $pfx ('HZ_TO_MSEC','MSEC_TO_HZ',
-@@ -352,51 +139,37 @@
- 		}
- 	}
- 
--	print "\n";
--	print "#endif /* KERNEL_TIMECONST_H */\n";
-+	print "\n#elif "
- }
- 
--($hz) = @ARGV;
-+#($hz) = @ARGV;
- 
--# Use this to generate the %canned_values structure
--if ($hz eq '--can') {
--	shift(@ARGV);
--	@hzlist = sort {$a <=> $b} (@ARGV);
--
--	print "# Precomputed values for systems without Math::BigInt\n";
--	print "# Generated by:\n";
--	print "# timeconst.pl --can ", join(' ', @hzlist), "\n";
--	print "\%canned_values = (\n";
--	my $pf = "\t";
--	foreach $hz (@hzlist) {
--		my @values = compute_values($hz);
--		print "$pf$hz => [\n";
--		while (scalar(@values)) {
--			my $bit;
--			foreach $bit (32, 64) {
--				my $m = shift(@values);
--				my $a = shift(@values);
--				my $s = shift(@values);
--				print "\t\t\'",$m,"\',\'",$a,"\',",$s,",\n";
--			}
--			my $n = shift(@values);
--			my $d = shift(@values);
--			print "\t\t",$n,',',$d,",\n";
--		}
--		print "\t]";
--		$pf = ', ';
--	}
--	print "\n);\n";
--} else {
--	$hz += 0;			# Force to number
-+print "/* Automatically generated by kernel/timeconst.pl */\n";
-+print "/* Conversion constants for HZ */\n";
-+print "\n";
-+print "#ifndef KERNEL_TIMECONST_H\n";
-+print "#define KERNEL_TIMECONST_H\n";
-+print "\n";
-+
-+print "#include <linux/param.h>\n";
-+
-+print "#if ";
-+
-+foreach $hz (@ARGV)
-+{
-+	#$hz += 0;			# Force to number
- 	if ($hz < 1) {
- 		die "Usage: $0 HZ\n";
- 	}
- 
--	@val = @{$canned_values{$hz}};
--	if (!defined(@val)) {
--		@val = compute_values($hz);
--	}
-+	@val = compute_values($hz);
- 	output($hz, @val);
- }
-+
-+print "1\n";
-+print "#error \"kernel/timeconst.h has unknown HZ value!\"\n";
-+print "#endif\n";
-+print "\n";
-+print "#endif /* KERNEL_TIMECONST_H */\n";
-+
- exit 0;
---- /dev/null	2007-10-16 17:06:33.000000000 -0500
-+++ linux-new/kernel/timeconst.h	2008-02-15 18:39:01.000000000 -0600
-@@ -0,0 +1,537 @@
-+/* Automatically generated by kernel/timeconst.pl */
-+/* Conversion constants for HZ */
-+
-+#ifndef KERNEL_TIMECONST_H
-+#define KERNEL_TIMECONST_H
-+
-+#include <linux/param.h>
-+#if HZ == 24
-+
-+#define HZ_TO_MSEC_MUL32        0xa6aaaaab
-+#define HZ_TO_MSEC_ADJ32        0x2aaaaaa
-+#define HZ_TO_MSEC_SHR32        26
-+#define HZ_TO_MSEC_MUL64        0xa6aaaaaaaaaaaaab
-+#define HZ_TO_MSEC_ADJ64        0x2aaaaaaaaaaaaaa
-+#define HZ_TO_MSEC_SHR64        58
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          3
-+#define MSEC_TO_HZ_MUL32        0xc49ba5e4
-+#define MSEC_TO_HZ_ADJ32        0x1fbe76c8b4
-+#define MSEC_TO_HZ_SHR32        37
-+#define MSEC_TO_HZ_MUL64        0xc49ba5e353f7ceda
-+#define MSEC_TO_HZ_ADJ64        0x1fbe76c8b439581062
-+#define MSEC_TO_HZ_SHR64        69
-+#define MSEC_TO_HZ_NUM          3
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xa2c2aaab
-+#define HZ_TO_USEC_ADJ32        0xaaaa
-+#define HZ_TO_USEC_SHR32        16
-+#define HZ_TO_USEC_MUL64        0xa2c2aaaaaaaaaaab
-+#define HZ_TO_USEC_ADJ64        0xaaaaaaaaaaaa
-+#define HZ_TO_USEC_SHR64        48
-+#define HZ_TO_USEC_NUM          125000
-+#define HZ_TO_USEC_DEN          3
-+#define USEC_TO_HZ_MUL32        0xc9539b89
-+#define USEC_TO_HZ_ADJ32        0x7fffbce4217d
-+#define USEC_TO_HZ_SHR32        47
-+#define USEC_TO_HZ_MUL64        0xc9539b8887229e91
-+#define USEC_TO_HZ_ADJ64        0x7fffbce4217d2849cb25
-+#define USEC_TO_HZ_SHR64        79
-+#define USEC_TO_HZ_NUM          3
-+#define USEC_TO_HZ_DEN          125000
-+
-+#elif HZ == 32
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0x6000000
-+#define HZ_TO_MSEC_SHR32        27
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0x600000000000000
-+#define HZ_TO_MSEC_SHR64        59
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          4
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0xfdf3b645a
-+#define MSEC_TO_HZ_SHR32        36
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0xfdf3b645a1cac0831
-+#define MSEC_TO_HZ_SHR64        68
-+#define MSEC_TO_HZ_NUM          4
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        17
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        49
-+#define HZ_TO_USEC_NUM          31250
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0x3fff79c842fa
-+#define USEC_TO_HZ_SHR32        46
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0x3fff79c842fa5093964a
-+#define USEC_TO_HZ_SHR64        78
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          31250
-+
-+#elif HZ == 48
-+
-+#define HZ_TO_MSEC_MUL32        0xa6aaaaab
-+#define HZ_TO_MSEC_ADJ32        0x6aaaaaa
-+#define HZ_TO_MSEC_SHR32        27
-+#define HZ_TO_MSEC_MUL64        0xa6aaaaaaaaaaaaab
-+#define HZ_TO_MSEC_ADJ64        0x6aaaaaaaaaaaaaa
-+#define HZ_TO_MSEC_SHR64        59
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          6
-+#define MSEC_TO_HZ_MUL32        0xc49ba5e4
-+#define MSEC_TO_HZ_ADJ32        0xfdf3b645a
-+#define MSEC_TO_HZ_SHR32        36
-+#define MSEC_TO_HZ_MUL64        0xc49ba5e353f7ceda
-+#define MSEC_TO_HZ_ADJ64        0xfdf3b645a1cac0831
-+#define MSEC_TO_HZ_SHR64        68
-+#define MSEC_TO_HZ_NUM          6
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xa2c2aaab
-+#define HZ_TO_USEC_ADJ32        0x15555
-+#define HZ_TO_USEC_SHR32        17
-+#define HZ_TO_USEC_MUL64        0xa2c2aaaaaaaaaaab
-+#define HZ_TO_USEC_ADJ64        0x1555555555555
-+#define HZ_TO_USEC_SHR64        49
-+#define HZ_TO_USEC_NUM          62500
-+#define HZ_TO_USEC_DEN          3
-+#define USEC_TO_HZ_MUL32        0xc9539b89
-+#define USEC_TO_HZ_ADJ32        0x3fffbce4217d
-+#define USEC_TO_HZ_SHR32        46
-+#define USEC_TO_HZ_MUL64        0xc9539b8887229e91
-+#define USEC_TO_HZ_ADJ64        0x3fffbce4217d2849cb25
-+#define USEC_TO_HZ_SHR64        78
-+#define USEC_TO_HZ_NUM          3
-+#define USEC_TO_HZ_DEN          62500
-+
-+#elif HZ == 64
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0xe000000
-+#define HZ_TO_MSEC_SHR32        28
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0xe00000000000000
-+#define HZ_TO_MSEC_SHR64        60
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          8
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0x7ef9db22d
-+#define MSEC_TO_HZ_SHR32        35
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0x7ef9db22d0e560418
-+#define MSEC_TO_HZ_SHR64        67
-+#define MSEC_TO_HZ_NUM          8
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        18
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        50
-+#define HZ_TO_USEC_NUM          15625
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0x1fff79c842fa
-+#define USEC_TO_HZ_SHR32        45
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0x1fff79c842fa5093964a
-+#define USEC_TO_HZ_SHR64        77
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          15625
-+
-+#elif HZ == 100
-+
-+#define HZ_TO_MSEC_MUL32        0xa0000000
-+#define HZ_TO_MSEC_ADJ32        0x0
-+#define HZ_TO_MSEC_SHR32        28
-+#define HZ_TO_MSEC_MUL64        0xa000000000000000
-+#define HZ_TO_MSEC_ADJ64        0x0
-+#define HZ_TO_MSEC_SHR64        60
-+#define HZ_TO_MSEC_NUM          10
-+#define HZ_TO_MSEC_DEN          1
-+#define MSEC_TO_HZ_MUL32        0xcccccccd
-+#define MSEC_TO_HZ_ADJ32        0x733333333
-+#define MSEC_TO_HZ_SHR32        35
-+#define MSEC_TO_HZ_MUL64        0xcccccccccccccccd
-+#define MSEC_TO_HZ_ADJ64        0x73333333333333333
-+#define MSEC_TO_HZ_SHR64        67
-+#define MSEC_TO_HZ_NUM          1
-+#define MSEC_TO_HZ_DEN          10
-+#define HZ_TO_USEC_MUL32        0x9c400000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        18
-+#define HZ_TO_USEC_MUL64        0x9c40000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        50
-+#define HZ_TO_USEC_NUM          10000
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0xd1b71759
-+#define USEC_TO_HZ_ADJ32        0x1fff2e48e8a7
-+#define USEC_TO_HZ_SHR32        45
-+#define USEC_TO_HZ_MUL64        0xd1b71758e219652c
-+#define USEC_TO_HZ_ADJ64        0x1fff2e48e8a71de69ad4
-+#define USEC_TO_HZ_SHR64        77
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          10000
-+
-+#elif HZ == 122
-+
-+#define HZ_TO_MSEC_MUL32        0x8325c53f
-+#define HZ_TO_MSEC_ADJ32        0xfbcda3a
-+#define HZ_TO_MSEC_SHR32        28
-+#define HZ_TO_MSEC_MUL64        0x8325c53ef368eb05
-+#define HZ_TO_MSEC_ADJ64        0xfbcda3ac10c9714
-+#define HZ_TO_MSEC_SHR64        60
-+#define HZ_TO_MSEC_NUM          500
-+#define HZ_TO_MSEC_DEN          61
-+#define MSEC_TO_HZ_MUL32        0xf9db22d1
-+#define MSEC_TO_HZ_ADJ32        0x7fbe76c8b
-+#define MSEC_TO_HZ_SHR32        35
-+#define MSEC_TO_HZ_MUL64        0xf9db22d0e560418a
-+#define MSEC_TO_HZ_ADJ64        0x7fbe76c8b43958106
-+#define MSEC_TO_HZ_SHR64        67
-+#define MSEC_TO_HZ_NUM          61
-+#define MSEC_TO_HZ_DEN          500
-+#define HZ_TO_USEC_MUL32        0x8012e2a0
-+#define HZ_TO_USEC_ADJ32        0x3ef36
-+#define HZ_TO_USEC_SHR32        18
-+#define HZ_TO_USEC_MUL64        0x8012e29f79b47583
-+#define HZ_TO_USEC_ADJ64        0x3ef368eb04325
-+#define HZ_TO_USEC_SHR64        50
-+#define HZ_TO_USEC_NUM          500000
-+#define HZ_TO_USEC_DEN          61
-+#define USEC_TO_HZ_MUL32        0xffda4053
-+#define USEC_TO_HZ_ADJ32        0x1ffffbce4217
-+#define USEC_TO_HZ_SHR32        45
-+#define USEC_TO_HZ_MUL64        0xffda4052d666a983
-+#define USEC_TO_HZ_ADJ64        0x1ffffbce4217d2849cb2
-+#define USEC_TO_HZ_SHR64        77
-+#define USEC_TO_HZ_NUM          61
-+#define USEC_TO_HZ_DEN          500000
-+
-+#elif HZ == 128
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0x1e000000
-+#define HZ_TO_MSEC_SHR32        29
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0x1e00000000000000
-+#define HZ_TO_MSEC_SHR64        61
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          16
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0x3f7ced916
-+#define MSEC_TO_HZ_SHR32        34
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0x3f7ced916872b020c
-+#define MSEC_TO_HZ_SHR64        66
-+#define MSEC_TO_HZ_NUM          16
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0x40000
-+#define HZ_TO_USEC_SHR32        19
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0x4000000000000
-+#define HZ_TO_USEC_SHR64        51
-+#define HZ_TO_USEC_NUM          15625
-+#define HZ_TO_USEC_DEN          2
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0xfffbce4217d
-+#define USEC_TO_HZ_SHR32        44
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0xfffbce4217d2849cb25
-+#define USEC_TO_HZ_SHR64        76
-+#define USEC_TO_HZ_NUM          2
-+#define USEC_TO_HZ_DEN          15625
-+
-+#elif HZ == 200
-+
-+#define HZ_TO_MSEC_MUL32        0xa0000000
-+#define HZ_TO_MSEC_ADJ32        0x0
-+#define HZ_TO_MSEC_SHR32        29
-+#define HZ_TO_MSEC_MUL64        0xa000000000000000
-+#define HZ_TO_MSEC_ADJ64        0x0
-+#define HZ_TO_MSEC_SHR64        61
-+#define HZ_TO_MSEC_NUM          5
-+#define HZ_TO_MSEC_DEN          1
-+#define MSEC_TO_HZ_MUL32        0xcccccccd
-+#define MSEC_TO_HZ_ADJ32        0x333333333
-+#define MSEC_TO_HZ_SHR32        34
-+#define MSEC_TO_HZ_MUL64        0xcccccccccccccccd
-+#define MSEC_TO_HZ_ADJ64        0x33333333333333333
-+#define MSEC_TO_HZ_SHR64        66
-+#define MSEC_TO_HZ_NUM          1
-+#define MSEC_TO_HZ_DEN          5
-+#define HZ_TO_USEC_MUL32        0x9c400000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        19
-+#define HZ_TO_USEC_MUL64        0x9c40000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        51
-+#define HZ_TO_USEC_NUM          5000
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0xd1b71759
-+#define USEC_TO_HZ_ADJ32        0xfff2e48e8a7
-+#define USEC_TO_HZ_SHR32        44
-+#define USEC_TO_HZ_MUL64        0xd1b71758e219652c
-+#define USEC_TO_HZ_ADJ64        0xfff2e48e8a71de69ad4
-+#define USEC_TO_HZ_SHR64        76
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          5000
-+
-+#elif HZ == 250
-+
-+#define HZ_TO_MSEC_MUL32        0x80000000
-+#define HZ_TO_MSEC_ADJ32        0x0
-+#define HZ_TO_MSEC_SHR32        29
-+#define HZ_TO_MSEC_MUL64        0x8000000000000000
-+#define HZ_TO_MSEC_ADJ64        0x0
-+#define HZ_TO_MSEC_SHR64        61
-+#define HZ_TO_MSEC_NUM          4
-+#define HZ_TO_MSEC_DEN          1
-+#define MSEC_TO_HZ_MUL32        0x80000000
-+#define MSEC_TO_HZ_ADJ32        0x180000000
-+#define MSEC_TO_HZ_SHR32        33
-+#define MSEC_TO_HZ_MUL64        0x8000000000000000
-+#define MSEC_TO_HZ_ADJ64        0x18000000000000000
-+#define MSEC_TO_HZ_SHR64        65
-+#define MSEC_TO_HZ_NUM          1
-+#define MSEC_TO_HZ_DEN          4
-+#define HZ_TO_USEC_MUL32        0xfa000000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        20
-+#define HZ_TO_USEC_MUL64        0xfa00000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        52
-+#define HZ_TO_USEC_NUM          4000
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0x83126e98
-+#define USEC_TO_HZ_ADJ32        0x7ff7ced9168
-+#define USEC_TO_HZ_SHR32        43
-+#define USEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define USEC_TO_HZ_ADJ64        0x7ff7ced916872b020c4
-+#define USEC_TO_HZ_SHR64        75
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          4000
-+
-+#elif HZ == 256
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0x3e000000
-+#define HZ_TO_MSEC_SHR32        30
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0x3e00000000000000
-+#define HZ_TO_MSEC_SHR64        62
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          32
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0x1fbe76c8b
-+#define MSEC_TO_HZ_SHR32        33
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0x1fbe76c8b43958106
-+#define MSEC_TO_HZ_SHR64        65
-+#define MSEC_TO_HZ_NUM          32
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0xc0000
-+#define HZ_TO_USEC_SHR32        20
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0xc000000000000
-+#define HZ_TO_USEC_SHR64        52
-+#define HZ_TO_USEC_NUM          15625
-+#define HZ_TO_USEC_DEN          4
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0x7ffde7210be
-+#define USEC_TO_HZ_SHR32        43
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0x7ffde7210be9424e592
-+#define USEC_TO_HZ_SHR64        75
-+#define USEC_TO_HZ_NUM          4
-+#define USEC_TO_HZ_DEN          15625
-+
-+#elif HZ == 300
-+
-+#define HZ_TO_MSEC_MUL32        0xd5555556
-+#define HZ_TO_MSEC_ADJ32        0x2aaaaaaa
-+#define HZ_TO_MSEC_SHR32        30
-+#define HZ_TO_MSEC_MUL64        0xd555555555555556
-+#define HZ_TO_MSEC_ADJ64        0x2aaaaaaaaaaaaaaa
-+#define HZ_TO_MSEC_SHR64        62
-+#define HZ_TO_MSEC_NUM          10
-+#define HZ_TO_MSEC_DEN          3
-+#define MSEC_TO_HZ_MUL32        0x9999999a
-+#define MSEC_TO_HZ_ADJ32        0x1cccccccc
-+#define MSEC_TO_HZ_SHR32        33
-+#define MSEC_TO_HZ_MUL64        0x999999999999999a
-+#define MSEC_TO_HZ_ADJ64        0x1cccccccccccccccc
-+#define MSEC_TO_HZ_SHR64        65
-+#define MSEC_TO_HZ_NUM          3
-+#define MSEC_TO_HZ_DEN          10
-+#define HZ_TO_USEC_MUL32        0xd0555556
-+#define HZ_TO_USEC_ADJ32        0xaaaaa
-+#define HZ_TO_USEC_SHR32        20
-+#define HZ_TO_USEC_MUL64        0xd055555555555556
-+#define HZ_TO_USEC_ADJ64        0xaaaaaaaaaaaaa
-+#define HZ_TO_USEC_SHR64        52
-+#define HZ_TO_USEC_NUM          10000
-+#define HZ_TO_USEC_DEN          3
-+#define USEC_TO_HZ_MUL32        0x9d495183
-+#define USEC_TO_HZ_ADJ32        0x7ffcb923a29
-+#define USEC_TO_HZ_SHR32        43
-+#define USEC_TO_HZ_MUL64        0x9d495182a9930be1
-+#define USEC_TO_HZ_ADJ64        0x7ffcb923a29c779a6b5
-+#define USEC_TO_HZ_SHR64        75
-+#define USEC_TO_HZ_NUM          3
-+#define USEC_TO_HZ_DEN          10000
-+
-+#elif HZ == 512
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0x7e000000
-+#define HZ_TO_MSEC_SHR32        31
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0x7e00000000000000
-+#define HZ_TO_MSEC_SHR64        63
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          64
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0xfdf3b645
-+#define MSEC_TO_HZ_SHR32        32
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0xfdf3b645a1cac083
-+#define MSEC_TO_HZ_SHR64        64
-+#define MSEC_TO_HZ_NUM          64
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0x1c0000
-+#define HZ_TO_USEC_SHR32        21
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0x1c000000000000
-+#define HZ_TO_USEC_SHR64        53
-+#define HZ_TO_USEC_NUM          15625
-+#define HZ_TO_USEC_DEN          8
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0x3ffef39085f
-+#define USEC_TO_HZ_SHR32        42
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0x3ffef39085f4a1272c9
-+#define USEC_TO_HZ_SHR64        74
-+#define USEC_TO_HZ_NUM          8
-+#define USEC_TO_HZ_DEN          15625
-+
-+#elif HZ == 1000
-+
-+#define HZ_TO_MSEC_MUL32        0x80000000
-+#define HZ_TO_MSEC_ADJ32        0x0
-+#define HZ_TO_MSEC_SHR32        31
-+#define HZ_TO_MSEC_MUL64        0x8000000000000000
-+#define HZ_TO_MSEC_ADJ64        0x0
-+#define HZ_TO_MSEC_SHR64        63
-+#define HZ_TO_MSEC_NUM          1
-+#define HZ_TO_MSEC_DEN          1
-+#define MSEC_TO_HZ_MUL32        0x80000000
-+#define MSEC_TO_HZ_ADJ32        0x0
-+#define MSEC_TO_HZ_SHR32        31
-+#define MSEC_TO_HZ_MUL64        0x8000000000000000
-+#define MSEC_TO_HZ_ADJ64        0x0
-+#define MSEC_TO_HZ_SHR64        63
-+#define MSEC_TO_HZ_NUM          1
-+#define MSEC_TO_HZ_DEN          1
-+#define HZ_TO_USEC_MUL32        0xfa000000
-+#define HZ_TO_USEC_ADJ32        0x0
-+#define HZ_TO_USEC_SHR32        22
-+#define HZ_TO_USEC_MUL64        0xfa00000000000000
-+#define HZ_TO_USEC_ADJ64        0x0
-+#define HZ_TO_USEC_SHR64        54
-+#define HZ_TO_USEC_NUM          1000
-+#define HZ_TO_USEC_DEN          1
-+#define USEC_TO_HZ_MUL32        0x83126e98
-+#define USEC_TO_HZ_ADJ32        0x1ff7ced9168
-+#define USEC_TO_HZ_SHR32        41
-+#define USEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define USEC_TO_HZ_ADJ64        0x1ff7ced916872b020c4
-+#define USEC_TO_HZ_SHR64        73
-+#define USEC_TO_HZ_NUM          1
-+#define USEC_TO_HZ_DEN          1000
-+
-+#elif HZ == 1024
-+
-+#define HZ_TO_MSEC_MUL32        0xfa000000
-+#define HZ_TO_MSEC_ADJ32        0xfe000000
-+#define HZ_TO_MSEC_SHR32        32
-+#define HZ_TO_MSEC_MUL64        0xfa00000000000000
-+#define HZ_TO_MSEC_ADJ64        0xfe00000000000000
-+#define HZ_TO_MSEC_SHR64        64
-+#define HZ_TO_MSEC_NUM          125
-+#define HZ_TO_MSEC_DEN          128
-+#define MSEC_TO_HZ_MUL32        0x83126e98
-+#define MSEC_TO_HZ_ADJ32        0x7ef9db22
-+#define MSEC_TO_HZ_SHR32        31
-+#define MSEC_TO_HZ_MUL64        0x83126e978d4fdf3c
-+#define MSEC_TO_HZ_ADJ64        0x7ef9db22d0e56041
-+#define MSEC_TO_HZ_SHR64        63
-+#define MSEC_TO_HZ_NUM          128
-+#define MSEC_TO_HZ_DEN          125
-+#define HZ_TO_USEC_MUL32        0xf4240000
-+#define HZ_TO_USEC_ADJ32        0x3c0000
-+#define HZ_TO_USEC_SHR32        22
-+#define HZ_TO_USEC_MUL64        0xf424000000000000
-+#define HZ_TO_USEC_ADJ64        0x3c000000000000
-+#define HZ_TO_USEC_SHR64        54
-+#define HZ_TO_USEC_NUM          15625
-+#define HZ_TO_USEC_DEN          16
-+#define USEC_TO_HZ_MUL32        0x8637bd06
-+#define USEC_TO_HZ_ADJ32        0x1fff79c842f
-+#define USEC_TO_HZ_SHR32        41
-+#define USEC_TO_HZ_MUL64        0x8637bd05af6c69b6
-+#define USEC_TO_HZ_ADJ64        0x1fff79c842fa5093964
-+#define USEC_TO_HZ_SHR64        73
-+#define USEC_TO_HZ_NUM          16
-+#define USEC_TO_HZ_DEN          15625
-+
-+#elif HZ == 1200
-+
-+#define HZ_TO_MSEC_MUL32        0xd5555556
-+#define HZ_TO_MSEC_ADJ32        0xd5555555
-+#define HZ_TO_MSEC_SHR32        32
-+#define HZ_TO_MSEC_MUL64        0xd555555555555556
-+#define HZ_TO_MSEC_ADJ64        0xd555555555555555
-+#define HZ_TO_MSEC_SHR64        64
-+#define HZ_TO_MSEC_NUM          5
-+#define HZ_TO_MSEC_DEN          6
-+#define MSEC_TO_HZ_MUL32        0x9999999a
-+#define MSEC_TO_HZ_ADJ32        0x66666666
-+#define MSEC_TO_HZ_SHR32        31
-+#define MSEC_TO_HZ_MUL64        0x999999999999999a
-+#define MSEC_TO_HZ_ADJ64        0x6666666666666666
-+#define MSEC_TO_HZ_SHR64        63
-+#define MSEC_TO_HZ_NUM          6
-+#define MSEC_TO_HZ_DEN          5
-+#define HZ_TO_USEC_MUL32        0xd0555556
-+#define HZ_TO_USEC_ADJ32        0x2aaaaa
-+#define HZ_TO_USEC_SHR32        22
-+#define HZ_TO_USEC_MUL64        0xd055555555555556
-+#define HZ_TO_USEC_ADJ64        0x2aaaaaaaaaaaaa
-+#define HZ_TO_USEC_SHR64        54
-+#define HZ_TO_USEC_NUM          2500
-+#define HZ_TO_USEC_DEN          3
-+#define USEC_TO_HZ_MUL32        0x9d495183
-+#define USEC_TO_HZ_ADJ32        0x1ffcb923a29
-+#define USEC_TO_HZ_SHR32        41
-+#define USEC_TO_HZ_MUL64        0x9d495182a9930be1
-+#define USEC_TO_HZ_ADJ64        0x1ffcb923a29c779a6b5
-+#define USEC_TO_HZ_SHR64        73
-+#define USEC_TO_HZ_NUM          3
-+#define USEC_TO_HZ_DEN          2500
-+
-+#elif 1
-+#error "kernel/timeconst.h has unknown HZ value!"
-+#endif
-+
-+#endif /* KERNEL_TIMECONST_H */
---- linux/hg/kernel/Makefile	2008-02-08 19:06:59.000000000 -0600
-+++ linux-new/kernel/Makefile	2008-02-15 19:32:08.000000000 -0600
-@@ -95,7 +95,7 @@
- $(obj)/time.o: $(obj)/timeconst.h
- 
- quiet_cmd_timeconst  = TIMEC   $@
--      cmd_timeconst  = $(PERL) $< $(CONFIG_HZ) > $@
--targets += timeconst.h
--$(obj)/timeconst.h: $(src)/timeconst.pl FORCE
-+      cmd_timeconst  = $(PERL) $< \
-+            24 32 48 64 100 122 128 200 250 256 300 512 1000 1024 1200 > $@
-+$(obj)/timeconst.h:
- 	$(call if_changed,timeconst)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sources/patches/linux-2.6.26-noperl.patch	Mon Aug 11 03:54:24 2008 -0500
@@ -0,0 +1,631 @@
+diff -ru linux-2.6.26/kernel/Makefile linux-2.6.26-new/kernel/Makefile
+--- linux-2.6.26/kernel/Makefile	2008-07-13 16:51:29.000000000 -0500
++++ linux-2.6.26-new/kernel/Makefile	2008-07-25 11:46:15.000000000 -0500
+@@ -95,8 +95,3 @@
+ 
+ $(obj)/time.o: $(obj)/timeconst.h
+ 
+-quiet_cmd_timeconst  = TIMEC   $@
+-      cmd_timeconst  = $(PERL) $< $(CONFIG_HZ) > $@
+-targets += timeconst.h
+-$(obj)/timeconst.h: $(src)/timeconst.pl FORCE
+-	$(call if_changed,timeconst)
+diff -ru linux-2.6.26/kernel/timeconst.pl linux-2.6.26-new/kernel/timeconst.pl
+--- linux-2.6.26/kernel/timeconst.pl	2008-07-13 16:51:29.000000000 -0500
++++ linux-2.6.26-new/kernel/timeconst.pl	2008-07-25 12:01:27.000000000 -0500
+@@ -11,150 +11,12 @@
+ #
+ 
+ #
+-# Usage: timeconst.pl HZ > timeconst.h
++# Usage: timeconst.pl HZ... > timeconst.h
+ #
+ 
+ # Precomputed values for systems without Math::BigInt
+ # Generated by:
+ # timeconst.pl --can 24 32 48 64 100 122 128 200 250 256 300 512 1000 1024 1200
+-%canned_values = (
+-	24 => [
+-		'0xa6aaaaab','0x2aaaaaa',26,
+-		125,3,
+-		'0xc49ba5e4','0x1fbe76c8b4',37,
+-		3,125,
+-		'0xa2c2aaab','0xaaaa',16,
+-		125000,3,
+-		'0xc9539b89','0x7fffbce4217d',47,
+-		3,125000,
+-	], 32 => [
+-		'0xfa000000','0x6000000',27,
+-		125,4,
+-		'0x83126e98','0xfdf3b645a',36,
+-		4,125,
+-		'0xf4240000','0x0',17,
+-		31250,1,
+-		'0x8637bd06','0x3fff79c842fa',46,
+-		1,31250,
+-	], 48 => [
+-		'0xa6aaaaab','0x6aaaaaa',27,
+-		125,6,
+-		'0xc49ba5e4','0xfdf3b645a',36,
+-		6,125,
+-		'0xa2c2aaab','0x15555',17,
+-		62500,3,
+-		'0xc9539b89','0x3fffbce4217d',46,
+-		3,62500,
+-	], 64 => [
+-		'0xfa000000','0xe000000',28,
+-		125,8,
+-		'0x83126e98','0x7ef9db22d',35,
+-		8,125,
+-		'0xf4240000','0x0',18,
+-		15625,1,
+-		'0x8637bd06','0x1fff79c842fa',45,
+-		1,15625,
+-	], 100 => [
+-		'0xa0000000','0x0',28,
+-		10,1,
+-		'0xcccccccd','0x733333333',35,
+-		1,10,
+-		'0x9c400000','0x0',18,
+-		10000,1,
+-		'0xd1b71759','0x1fff2e48e8a7',45,
+-		1,10000,
+-	], 122 => [
+-		'0x8325c53f','0xfbcda3a',28,
+-		500,61,
+-		'0xf9db22d1','0x7fbe76c8b',35,
+-		61,500,
+-		'0x8012e2a0','0x3ef36',18,
+-		500000,61,
+-		'0xffda4053','0x1ffffbce4217',45,
+-		61,500000,
+-	], 128 => [
+-		'0xfa000000','0x1e000000',29,
+-		125,16,
+-		'0x83126e98','0x3f7ced916',34,
+-		16,125,
+-		'0xf4240000','0x40000',19,
+-		15625,2,
+-		'0x8637bd06','0xfffbce4217d',44,
+-		2,15625,
+-	], 200 => [
+-		'0xa0000000','0x0',29,
+-		5,1,
+-		'0xcccccccd','0x333333333',34,
+-		1,5,
+-		'0x9c400000','0x0',19,
+-		5000,1,
+-		'0xd1b71759','0xfff2e48e8a7',44,
+-		1,5000,
+-	], 250 => [
+-		'0x80000000','0x0',29,
+-		4,1,
+-		'0x80000000','0x180000000',33,
+-		1,4,
+-		'0xfa000000','0x0',20,
+-		4000,1,
+-		'0x83126e98','0x7ff7ced9168',43,
+-		1,4000,
+-	], 256 => [
+-		'0xfa000000','0x3e000000',30,
+-		125,32,
+-		'0x83126e98','0x1fbe76c8b',33,
+-		32,125,
+-		'0xf4240000','0xc0000',20,
+-		15625,4,
+-		'0x8637bd06','0x7ffde7210be',43,
+-		4,15625,
+-	], 300 => [
+-		'0xd5555556','0x2aaaaaaa',30,
+-		10,3,
+-		'0x9999999a','0x1cccccccc',33,
+-		3,10,
+-		'0xd0555556','0xaaaaa',20,
+-		10000,3,
+-		'0x9d495183','0x7ffcb923a29',43,
+-		3,10000,
+-	], 512 => [
+-		'0xfa000000','0x7e000000',31,
+-		125,64,
+-		'0x83126e98','0xfdf3b645',32,
+-		64,125,
+-		'0xf4240000','0x1c0000',21,
+-		15625,8,
+-		'0x8637bd06','0x3ffef39085f',42,
+-		8,15625,
+-	], 1000 => [
+-		'0x80000000','0x0',31,
+-		1,1,
+-		'0x80000000','0x0',31,
+-		1,1,
+-		'0xfa000000','0x0',22,
+-		1000,1,
+-		'0x83126e98','0x1ff7ced9168',41,
+-		1,1000,
+-	], 1024 => [
+-		'0xfa000000','0xfe000000',32,
+-		125,128,
+-		'0x83126e98','0x7ef9db22',31,
+-		128,125,
+-		'0xf4240000','0x3c0000',22,
+-		15625,16,
+-		'0x8637bd06','0x1fff79c842f',41,
+-		16,15625,
+-	], 1200 => [
+-		'0xd5555556','0xd5555555',32,
+-		5,6,
+-		'0x9999999a','0x66666666',31,
+-		6,5,
+-		'0xd0555556','0x2aaaaa',22,
+-		2500,3,
+-		'0x9d495183','0x1ffcb923a29',41,
+-		3,2500,
+-	]
+-);
+ 
+ $has_bigint = eval 'use Math::BigInt qw(bgcd); 1;';
+ 
+@@ -252,8 +114,7 @@
+ 	my $s, $m, $a, $g;
+ 
+ 	if (!$has_bigint) {
+-		die "$0: HZ == $hz not canned and ".
+-		    "Math::BigInt not available\n";
++		die "$0: Math::BigInt not available\n";
+ 	}
+ 
+ 	# MSEC conversions
+@@ -283,21 +144,7 @@
+ 	my($hz, @val) = @_;
+ 	my $pfx, $bit, $suf, $s, $m, $a;
+ 
+-	print "/* Automatically generated by kernel/timeconst.pl */\n";
+-	print "/* Conversion constants for HZ == $hz */\n";
+-	print "\n";
+-	print "#ifndef KERNEL_TIMECONST_H\n";
+-	print "#define KERNEL_TIMECONST_H\n";
+-	print "\n";
+-
+-	print "#include <linux/param.h>\n";
+-	print "#include <linux/types.h>\n";
+-
+-	print "\n";
+-	print "#if HZ != $hz\n";
+-	print "#error \"kernel/timeconst.h has the wrong HZ value!\"\n";
+-	print "#endif\n";
+-	print "\n";
++	print "HZ == $hz\n";
+ 
+ 	foreach $pfx ('HZ_TO_MSEC','MSEC_TO_HZ',
+ 		      'HZ_TO_USEC','USEC_TO_HZ') {
+@@ -311,8 +158,7 @@
+ 		}
+ 	}
+ 
+-	print "\n";
+-	print "#endif /* KERNEL_TIMECONST_H */\n";
++	print "\n#elif ";
+ }
+ 
+ # Pretty-print Perl values
+@@ -332,47 +178,36 @@
+ 	return join(',', @l);
+ }
+ 
+-($hz) = @ARGV;
++print "/* Conversion constants for HZ */\n";
++print "/* DO NOT EDIT!  Automatically generated by:\n";
++print "   kernel/timeconst.pl @ARGV\n */\n";
++print "\n";
++print "#ifndef KERNEL_TIMECONST_H\n";
++print "#define KERNEL_TIMECONST_H\n";
++print "\n";
++
++print "#include <linux/param.h>\n";
++print "#include <linux/types.h>\n";
++
++print "\n";
++print "#if ";
++
++foreach $hz (@ARGV)
++{
+ 
+-# Use this to generate the %canned_values structure
+-if ($hz eq '--can') {
+-	shift(@ARGV);
+-	@hzlist = sort {$a <=> $b} (@ARGV);
+-
+-	print "# Precomputed values for systems without Math::BigInt\n";
+-	print "# Generated by:\n";
+-	print "# timeconst.pl --can ", join(' ', @hzlist), "\n";
+-	print "\%canned_values = (\n";
+-	my $pf = "\t";
+-	foreach $hz (@hzlist) {
+-		my @values = compute_values($hz);
+-		print "$pf$hz => [\n";
+-		while (scalar(@values)) {
+-			my $bit;
+-			foreach $bit (32) {
+-				my $m = shift(@values);
+-				my $a = shift(@values);
+-				my $s = shift(@values);
+-				print "\t\t", perlvals($m,$a,$s), ",\n";
+-			}
+-			my $n = shift(@values);
+-			my $d = shift(@values);
+-			print "\t\t", perlvals($n,$d), ",\n";
+-		}
+-		print "\t]";
+-		$pf = ', ';
+-	}
+-	print "\n);\n";
+-} else {
+ 	$hz += 0;			# Force to number
+ 	if ($hz < 1) {
+ 		die "Usage: $0 HZ\n";
+ 	}
+ 
+-	@val = @{$canned_values{$hz}};
+-	if (!defined(@val)) {
+-		@val = compute_values($hz);
+-	}
++	@val = compute_values($hz);
+ 	output($hz, @val);
+ }
++
++print "1\n";
++print "#error \"kernel/timeconst.h has unknown HZ value!\"\n";
++print "#endif\n";
++print "\n";
++print "#endif /* KERNEL_TIMECONST_H */\n";
++
+ exit 0;
+--- /dev/null	2007-10-16 17:06:33.000000000 -0500
++++ linux-2.6.26-new/kernel/timeconst.h	2008-07-25 12:02:02.000000000 -0500
+@@ -0,0 +1,346 @@
++/* Conversion constants for HZ */
++/* DO NOT EDIT!  Automatically generated by:
++   kernel/timeconst.pl 24 32 48 64 100 122 128 200 250 256 300 512 1000 1024 1200
++ */
++
++#ifndef KERNEL_TIMECONST_H
++#define KERNEL_TIMECONST_H
++
++#include <linux/param.h>
++#include <linux/types.h>
++
++#if HZ == 24
++#define HZ_TO_MSEC_MUL32        U64_C(0xa6aaaaab)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x2aaaaaa)
++#define HZ_TO_MSEC_SHR32        26
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(3)
++#define MSEC_TO_HZ_MUL32        U64_C(0xc49ba5e4)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x1fbe76c8b4)
++#define MSEC_TO_HZ_SHR32        37
++#define MSEC_TO_HZ_NUM          U64_C(3)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xa2c2aaab)
++#define HZ_TO_USEC_ADJ32        U64_C(0xaaaa)
++#define HZ_TO_USEC_SHR32        16
++#define HZ_TO_USEC_NUM          U64_C(125000)
++#define HZ_TO_USEC_DEN          U64_C(3)
++#define USEC_TO_HZ_MUL32        U64_C(0xc9539b89)
++#define USEC_TO_HZ_ADJ32        U64_C(0x7fffbce4217d)
++#define USEC_TO_HZ_SHR32        47
++#define USEC_TO_HZ_NUM          U64_C(3)
++#define USEC_TO_HZ_DEN          U64_C(125000)
++
++#elif HZ == 32
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x6000000)
++#define HZ_TO_MSEC_SHR32        27
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(4)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0xfdf3b645a)
++#define MSEC_TO_HZ_SHR32        36
++#define MSEC_TO_HZ_NUM          U64_C(4)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        17
++#define HZ_TO_USEC_NUM          U64_C(31250)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0x3fff79c842fa)
++#define USEC_TO_HZ_SHR32        46
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(31250)
++
++#elif HZ == 48
++#define HZ_TO_MSEC_MUL32        U64_C(0xa6aaaaab)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x6aaaaaa)
++#define HZ_TO_MSEC_SHR32        27
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(6)
++#define MSEC_TO_HZ_MUL32        U64_C(0xc49ba5e4)
++#define MSEC_TO_HZ_ADJ32        U64_C(0xfdf3b645a)
++#define MSEC_TO_HZ_SHR32        36
++#define MSEC_TO_HZ_NUM          U64_C(6)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xa2c2aaab)
++#define HZ_TO_USEC_ADJ32        U64_C(0x15555)
++#define HZ_TO_USEC_SHR32        17
++#define HZ_TO_USEC_NUM          U64_C(62500)
++#define HZ_TO_USEC_DEN          U64_C(3)
++#define USEC_TO_HZ_MUL32        U64_C(0xc9539b89)
++#define USEC_TO_HZ_ADJ32        U64_C(0x3fffbce4217d)
++#define USEC_TO_HZ_SHR32        46
++#define USEC_TO_HZ_NUM          U64_C(3)
++#define USEC_TO_HZ_DEN          U64_C(62500)
++
++#elif HZ == 64
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0xe000000)
++#define HZ_TO_MSEC_SHR32        28
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(8)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x7ef9db22d)
++#define MSEC_TO_HZ_SHR32        35
++#define MSEC_TO_HZ_NUM          U64_C(8)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        18
++#define HZ_TO_USEC_NUM          U64_C(15625)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1fff79c842fa)
++#define USEC_TO_HZ_SHR32        45
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(15625)
++
++#elif HZ == 100
++#define HZ_TO_MSEC_MUL32        U64_C(0xa0000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x0)
++#define HZ_TO_MSEC_SHR32        28
++#define HZ_TO_MSEC_NUM          U64_C(10)
++#define HZ_TO_MSEC_DEN          U64_C(1)
++#define MSEC_TO_HZ_MUL32        U64_C(0xcccccccd)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x733333333)
++#define MSEC_TO_HZ_SHR32        35
++#define MSEC_TO_HZ_NUM          U64_C(1)
++#define MSEC_TO_HZ_DEN          U64_C(10)
++#define HZ_TO_USEC_MUL32        U64_C(0x9c400000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        18
++#define HZ_TO_USEC_NUM          U64_C(10000)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0xd1b71759)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1fff2e48e8a7)
++#define USEC_TO_HZ_SHR32        45
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(10000)
++
++#elif HZ == 122
++#define HZ_TO_MSEC_MUL32        U64_C(0x8325c53f)
++#define HZ_TO_MSEC_ADJ32        U64_C(0xfbcda3a)
++#define HZ_TO_MSEC_SHR32        28
++#define HZ_TO_MSEC_NUM          U64_C(500)
++#define HZ_TO_MSEC_DEN          U64_C(61)
++#define MSEC_TO_HZ_MUL32        U64_C(0xf9db22d1)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x7fbe76c8b)
++#define MSEC_TO_HZ_SHR32        35
++#define MSEC_TO_HZ_NUM          U64_C(61)
++#define MSEC_TO_HZ_DEN          U64_C(500)
++#define HZ_TO_USEC_MUL32        U64_C(0x8012e2a0)
++#define HZ_TO_USEC_ADJ32        U64_C(0x3ef36)
++#define HZ_TO_USEC_SHR32        18
++#define HZ_TO_USEC_NUM          U64_C(500000)
++#define HZ_TO_USEC_DEN          U64_C(61)
++#define USEC_TO_HZ_MUL32        U64_C(0xffda4053)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1ffffbce4217)
++#define USEC_TO_HZ_SHR32        45
++#define USEC_TO_HZ_NUM          U64_C(61)
++#define USEC_TO_HZ_DEN          U64_C(500000)
++
++#elif HZ == 128
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x1e000000)
++#define HZ_TO_MSEC_SHR32        29
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(16)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x3f7ced916)
++#define MSEC_TO_HZ_SHR32        34
++#define MSEC_TO_HZ_NUM          U64_C(16)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x40000)
++#define HZ_TO_USEC_SHR32        19
++#define HZ_TO_USEC_NUM          U64_C(15625)
++#define HZ_TO_USEC_DEN          U64_C(2)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0xfffbce4217d)
++#define USEC_TO_HZ_SHR32        44
++#define USEC_TO_HZ_NUM          U64_C(2)
++#define USEC_TO_HZ_DEN          U64_C(15625)
++
++#elif HZ == 200
++#define HZ_TO_MSEC_MUL32        U64_C(0xa0000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x0)
++#define HZ_TO_MSEC_SHR32        29
++#define HZ_TO_MSEC_NUM          U64_C(5)
++#define HZ_TO_MSEC_DEN          U64_C(1)
++#define MSEC_TO_HZ_MUL32        U64_C(0xcccccccd)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x333333333)
++#define MSEC_TO_HZ_SHR32        34
++#define MSEC_TO_HZ_NUM          U64_C(1)
++#define MSEC_TO_HZ_DEN          U64_C(5)
++#define HZ_TO_USEC_MUL32        U64_C(0x9c400000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        19
++#define HZ_TO_USEC_NUM          U64_C(5000)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0xd1b71759)
++#define USEC_TO_HZ_ADJ32        U64_C(0xfff2e48e8a7)
++#define USEC_TO_HZ_SHR32        44
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(5000)
++
++#elif HZ == 250
++#define HZ_TO_MSEC_MUL32        U64_C(0x80000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x0)
++#define HZ_TO_MSEC_SHR32        29
++#define HZ_TO_MSEC_NUM          U64_C(4)
++#define HZ_TO_MSEC_DEN          U64_C(1)
++#define MSEC_TO_HZ_MUL32        U64_C(0x80000000)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x180000000)
++#define MSEC_TO_HZ_SHR32        33
++#define MSEC_TO_HZ_NUM          U64_C(1)
++#define MSEC_TO_HZ_DEN          U64_C(4)
++#define HZ_TO_USEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        20
++#define HZ_TO_USEC_NUM          U64_C(4000)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define USEC_TO_HZ_ADJ32        U64_C(0x7ff7ced9168)
++#define USEC_TO_HZ_SHR32        43
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(4000)
++
++#elif HZ == 256
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x3e000000)
++#define HZ_TO_MSEC_SHR32        30
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(32)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x1fbe76c8b)
++#define MSEC_TO_HZ_SHR32        33
++#define MSEC_TO_HZ_NUM          U64_C(32)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0xc0000)
++#define HZ_TO_USEC_SHR32        20
++#define HZ_TO_USEC_NUM          U64_C(15625)
++#define HZ_TO_USEC_DEN          U64_C(4)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0x7ffde7210be)
++#define USEC_TO_HZ_SHR32        43
++#define USEC_TO_HZ_NUM          U64_C(4)
++#define USEC_TO_HZ_DEN          U64_C(15625)
++
++#elif HZ == 300
++#define HZ_TO_MSEC_MUL32        U64_C(0xd5555556)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x2aaaaaaa)
++#define HZ_TO_MSEC_SHR32        30
++#define HZ_TO_MSEC_NUM          U64_C(10)
++#define HZ_TO_MSEC_DEN          U64_C(3)
++#define MSEC_TO_HZ_MUL32        U64_C(0x9999999a)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x1cccccccc)
++#define MSEC_TO_HZ_SHR32        33
++#define MSEC_TO_HZ_NUM          U64_C(3)
++#define MSEC_TO_HZ_DEN          U64_C(10)
++#define HZ_TO_USEC_MUL32        U64_C(0xd0555556)
++#define HZ_TO_USEC_ADJ32        U64_C(0xaaaaa)
++#define HZ_TO_USEC_SHR32        20
++#define HZ_TO_USEC_NUM          U64_C(10000)
++#define HZ_TO_USEC_DEN          U64_C(3)
++#define USEC_TO_HZ_MUL32        U64_C(0x9d495183)
++#define USEC_TO_HZ_ADJ32        U64_C(0x7ffcb923a29)
++#define USEC_TO_HZ_SHR32        43
++#define USEC_TO_HZ_NUM          U64_C(3)
++#define USEC_TO_HZ_DEN          U64_C(10000)
++
++#elif HZ == 512
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x7e000000)
++#define HZ_TO_MSEC_SHR32        31
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(64)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0xfdf3b645)
++#define MSEC_TO_HZ_SHR32        32
++#define MSEC_TO_HZ_NUM          U64_C(64)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x1c0000)
++#define HZ_TO_USEC_SHR32        21
++#define HZ_TO_USEC_NUM          U64_C(15625)
++#define HZ_TO_USEC_DEN          U64_C(8)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0x3ffef39085f)
++#define USEC_TO_HZ_SHR32        42
++#define USEC_TO_HZ_NUM          U64_C(8)
++#define USEC_TO_HZ_DEN          U64_C(15625)
++
++#elif HZ == 1000
++#define HZ_TO_MSEC_MUL32        U64_C(0x80000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0x0)
++#define HZ_TO_MSEC_SHR32        31
++#define HZ_TO_MSEC_NUM          U64_C(1)
++#define HZ_TO_MSEC_DEN          U64_C(1)
++#define MSEC_TO_HZ_MUL32        U64_C(0x80000000)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x0)
++#define MSEC_TO_HZ_SHR32        31
++#define MSEC_TO_HZ_NUM          U64_C(1)
++#define MSEC_TO_HZ_DEN          U64_C(1)
++#define HZ_TO_USEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x0)
++#define HZ_TO_USEC_SHR32        22
++#define HZ_TO_USEC_NUM          U64_C(1000)
++#define HZ_TO_USEC_DEN          U64_C(1)
++#define USEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1ff7ced9168)
++#define USEC_TO_HZ_SHR32        41
++#define USEC_TO_HZ_NUM          U64_C(1)
++#define USEC_TO_HZ_DEN          U64_C(1000)
++
++#elif HZ == 1024
++#define HZ_TO_MSEC_MUL32        U64_C(0xfa000000)
++#define HZ_TO_MSEC_ADJ32        U64_C(0xfe000000)
++#define HZ_TO_MSEC_SHR32        32
++#define HZ_TO_MSEC_NUM          U64_C(125)
++#define HZ_TO_MSEC_DEN          U64_C(128)
++#define MSEC_TO_HZ_MUL32        U64_C(0x83126e98)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x7ef9db22)
++#define MSEC_TO_HZ_SHR32        31
++#define MSEC_TO_HZ_NUM          U64_C(128)
++#define MSEC_TO_HZ_DEN          U64_C(125)
++#define HZ_TO_USEC_MUL32        U64_C(0xf4240000)
++#define HZ_TO_USEC_ADJ32        U64_C(0x3c0000)
++#define HZ_TO_USEC_SHR32        22
++#define HZ_TO_USEC_NUM          U64_C(15625)
++#define HZ_TO_USEC_DEN          U64_C(16)
++#define USEC_TO_HZ_MUL32        U64_C(0x8637bd06)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1fff79c842f)
++#define USEC_TO_HZ_SHR32        41
++#define USEC_TO_HZ_NUM          U64_C(16)
++#define USEC_TO_HZ_DEN          U64_C(15625)
++
++#elif HZ == 1200
++#define HZ_TO_MSEC_MUL32        U64_C(0xd5555556)
++#define HZ_TO_MSEC_ADJ32        U64_C(0xd5555555)
++#define HZ_TO_MSEC_SHR32        32
++#define HZ_TO_MSEC_NUM          U64_C(5)
++#define HZ_TO_MSEC_DEN          U64_C(6)
++#define MSEC_TO_HZ_MUL32        U64_C(0x9999999a)
++#define MSEC_TO_HZ_ADJ32        U64_C(0x66666666)
++#define MSEC_TO_HZ_SHR32        31
++#define MSEC_TO_HZ_NUM          U64_C(6)
++#define MSEC_TO_HZ_DEN          U64_C(5)
++#define HZ_TO_USEC_MUL32        U64_C(0xd0555556)
++#define HZ_TO_USEC_ADJ32        U64_C(0x2aaaaa)
++#define HZ_TO_USEC_SHR32        22
++#define HZ_TO_USEC_NUM          U64_C(2500)
++#define HZ_TO_USEC_DEN          U64_C(3)
++#define USEC_TO_HZ_MUL32        U64_C(0x9d495183)
++#define USEC_TO_HZ_ADJ32        U64_C(0x1ffcb923a29)
++#define USEC_TO_HZ_SHR32        41
++#define USEC_TO_HZ_NUM          U64_C(3)
++#define USEC_TO_HZ_DEN          U64_C(2500)
++
++#elif 1
++#error "kernel/timeconst.h has unknown HZ value!"
++#endif
++
++#endif /* KERNEL_TIMECONST_H */
--- a/sources/patches/linux-ppcqemu.patch	Mon Aug 11 03:17:08 2008 -0500
+++ b/sources/patches/linux-ppcqemu.patch	Mon Aug 11 03:54:24 2008 -0500
@@ -41,7 +41,7 @@
 +source "arch/powerpc/platforms/qemu/Kconfig"
  source "arch/powerpc/platforms/maple/Kconfig"
  source "arch/powerpc/platforms/pasemi/Kconfig"
- source "arch/powerpc/platforms/celleb/Kconfig"
+ source "arch/powerpc/platforms/ps3/Kconfig"
 Index: kernel/arch/powerpc/platforms/qemu/Kconfig
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
@@ -300,7 +300,7 @@
 +
 +	/* polling */
 +	i8259_init(pic, int_ack);
-+	ppc_md.get_irq = i8259_irq;
++	//ppc_md.get_irq = i8259_irq;
 +
 +	/* set default host */
 +	irq_set_default_host(i8259_get_host());
@@ -359,8 +359,8 @@
 +		return 0;
 +
 +#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
-+	ppc_ide_md.default_irq = qemu_ide_default_irq;
-+	ppc_ide_md.default_io_base = qemu_ide_default_io_base;
++//	ppc_ide_md.default_irq = qemu_ide_default_irq;
++//	ppc_ide_md.default_io_base = qemu_ide_default_io_base;
 +#endif
 +
 +	return 1;