:
:-              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.

    Well, insofar as I can tell that particular line is correct.  The
    sys_cputimer is a monotonically increasing counter.

    One thing that could be happening is the count value could be 
    completely random due to the emulation.  I'm not sure if it is
    possible to print out the 'tick' in that loop with a kprintf(),
    it might be too early in the boot sequence, but it is worth a try
    to see if the values are fluctuating wildly or not working at all.

    I suspect the issue when not using ACPI is that the emulation is
    not handling the 8254 timer mode correctly.

                                        -Matt
                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

Reply via email to