Mercurial > hg > aboriginal
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;