* grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that

no division by 0 occurs.
This commit is contained in:
Vladimir Serbinenko 2015-01-20 21:07:08 +01:00
parent e360b5d176
commit 2e62352bc2
2 changed files with 10 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/i386/tsc.c (calibrate_tsc): Ensure that
no division by 0 occurs.
2015-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/misc.h (grub_div_roundup): Remove as it's unused.

View file

@ -122,7 +122,11 @@ calibrate_tsc (void)
grub_pit_wait (0xffff);
end_tsc = grub_get_tsc ();
grub_tsc_rate = grub_divmod64 ((55ULL << 32), end_tsc - tsc_boot_time, 0);
grub_tsc_rate = 0;
if (end_tsc > tsc_boot_time)
grub_tsc_rate = grub_divmod64 ((55ULL << 32), end_tsc - tsc_boot_time, 0);
if (grub_tsc_rate == 0)
grub_tsc_rate = 5368;/* 800 MHz */
}
#endif