SVNews r179825

NOTE: This service is experimental and subject to change! Use at your own risk!

2008-06-16 17:04:04 - r179825 by olli (Oliver Fromme)

Complete list of files affected by revision r179825:

(Note: At the moment, these links point to ViewVC on svn.freebsd.org. They are probably slow. Do not overuse.)

  History   Contents   Diff   MODIFY   /head/sys/boot/i386/libi386/time.c  

Commit message:

Implement a workaround for a long-standing problem in
libi386's time(), caused by a qemu bug.  The bug might
be present in other BIOSes, too.

qemu either does not simulate the AT RTC correctly or
has a broken BIOS 1A/02 implementation, and will return
an incorrect value if the RTC is read while it is being
updated.

The effect is worsened by the fact that qemu's INT 15/86
function ("wait" a.k.a. usleep) is non-implmeneted or
broken and returns immediately, causing beastie.4th to
spin in a tight loop calling the "read RTC" function
millions of times, triggering the problem quickly.

Therefore, we keep reading the BIOS value until we get
the same result twice.  This change fixes beastie.4th's
countdown under qemu.

Approved by:    des (mentor)

 


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 5 ms, 1 file printed. Current time is 2014-07-22 09:17:09. All times are in UTC/GMT.