Il 14/09/2014 16:45, Paolo Bonzini ha scritto:
> Il 14/09/2014 15:06, Laszlo Ersek ha scritto:
>> +      } else {
>> +        Accumulator -= gMetronome->TickPeriod;
>> +        if (Counter == MAX_UINT64) {
>> +          CoreInternalWaitForTick (Counter);
>> +          CoreInternalWaitForTick (1);
>> +        } else {
>> +          CoreInternalWaitForTick (Counter + 1);
>> +        }
> 
> Counter is the result of a division, so it is at most
> 0x1999999999999999ULL.  You do not need the "if", I think.

Oops---sorry, the division is not by 10.

Still, if you count the extra number of ticks, and do a final
CoreInternalWaitForTick (together with the extra wait for Accumulator >
0), I think the code is cleaner.

Paolo

> Paolo
> 
>> +      }
>> +    }
>>  
>> -    if (Remainder != 0) {
>> -      //
>> -      // If Remainder was not zero, then normally, Counter would be rounded 
>> -      // up by 1 tick.  In this case, since a loop for 10 counts was used
>> -      // to emulate the multiply by 10 operation, Counter needs to be 
>> rounded
>> -      // up by 10 counts.
>> -      //
>> -      CoreInternalWaitForTick (10);
>> +    //
>> +    // Flush any remaining fractional ticks.
>> +    //
>> +    if (Accumulator > 0) {
>> +      CoreInternalWaitForTick (1);
>>      }
> 
> 
> ------------------------------------------------------------------------------
> Want excitement?
> Manually upgrade your production database.
> When you want reliability, choose Perforce
> Perforce version control. Predictably reliable.
> http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
> 


------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to