view sources/patches/linux-2.6.25-rc1-noperl.patch @ 311:a791ca629d9c

Upgrade to toybox-0.0.5 and linux-2.6.25-rc7. Remove use of perl in the kernel build. Use new toybox cp. Yank busybox diff (which breaks building i686 on 2.6.25).
author Rob Landley <rob@landley.net>
date Sat, 29 Mar 2008 19:06:29 -0500
parents
children 9b36b9dbfc4c
line wrap: on
line source

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)