[issue995] DFly doesnt work on Vmware and Virtualbox
jgordeev at dir.bg
Sat May 24 12:52:42 PDT 2008
Today, after a session of colaborative debugging, Antonio "have no clue"
Huete, Jordan "doesn't run VirtualBox" Gordeev and Samuel Greear found
out that the primary problem that DragonFly had on VirtualBox was caused
by a non-terminating loop.
The loop is in sys/platform/pc32/isa/clock.c and starts at line 411 (on
Forcing the loop to terminate after at most 1000 iterations causes
DragonFly to successfully run with UP kernel with ACPI turned on. UP
kernels with ACPI turned off and SMP kernels remain to be fixed.
In revision 1.11 of clock.c (diff to revision 1.10 at
the case in the loop body when delta < 0 was simplified, which
apparently affected the loop termination condition.
The change from revision 1.10 to revision 1.11 includes the following
strange change, too:
- delta = prev_tick - tick;
+ delta = tick - prev_tick;
The FreeBSD code handling the delta values looks confused, and as the
current DragonFly code fails at least on VirtualBox, I think a closer
examination of the actually occurring delta values is merited.
More information about the Bugs