Mercurial > hg > aboriginal
view sources/patches/alt-linux-noperl.patch @ 407:e64eb9ff27b9
Use unstable infrastructure to back off non-unstable kernel to 2.6.25 (where powerpc works) and bring back binutils 2.18 build as unstable version.
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 10 Oct 2008 02:43:44 -0500 |
parents | sources/patches/linux-2.6.26-noperl.patch@59e22ea53e6a |
children | 0d34d9e16892 |
line wrap: on
line source
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 */