Hi,
there are are two error returns of hpet_init() but vxtime.hpet_address remains
set.
This can cause div-by-zero exceptions later in the boot process when executing
the
wrong code sequences ( hpet code instead of pit code). To avoid this error
behaviour
vxtime.hpet_address should be cleared in time_init() if hpet_init() returns
-1.
Regards, Gerhard.
--- linux-2.6.12.orig/arch/x86_64/kernel/time.c 2005-06-17 21:48:29.000000000
+0200
+++ linux-2.6.12/arch/x86_64/kernel/time.c 2005-08-16 08:54:29.000000000
+0200
@@ -892,16 +892,16 @@
"at %#lx.\n", vxtime.hpet_address);
}
#endif
- if (nohpet)
- vxtime.hpet_address = 0;
-
xtime.tv_sec = get_cmos_time();
xtime.tv_nsec = 0;
set_normalized_timespec(&wall_to_monotonic,
-xtime.tv_sec, -xtime.tv_nsec);
- if (!hpet_init()) {
+ if (nohpet || hpet_init())
+ vxtime.hpet_address = 0;
+
+ if (vxtime.hpet_address) {
vxtime_hz = (1000000000000000L + hpet_period / 2) /
hpet_period;
cpu_khz = hpet_calibrate_tsc();
--
Gerhard Wichert Phone: +49 5251 8 15127
Fujitsu Siemens Computers Fax: +49 5251 8 20409
Heinz-Nixdorf-Ring 1 mailto:[email protected]
D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|