On 2 July 2015 at 18:52, Dmitry Osipenko <[email protected]> wrote:
> 02.07.2015 20:34, Peter Maydell пишет:
>>
>>
>> This will now cause us to do the "reload the timer"
>> logic if you write a 1 to the control bit when it was
>> already 1, which we didn't do before.
>>
>> The logic I suggested in my previous review
>> comment gets this right...
>>
>> -- PMM
>>
>
> The problem with code you suggested is that won't start periodic count after
> one-shot tick was completed.
Can you give more detail? This code is only for when
the guest writes to the control register, so it doesn't
get run when a one-shot tick completes.
In any case, the code currently in master does:
old value new value action
0 0 nothing
0 1 reload timer
1 0 nothing
1 1 nothing
Your first patch did:
old value new value action
0 0 delete timer
0 1 reload timer
1 0 delete timer
1 1 nothing
Your second patch does:
old value new value action
0 0 nothing
0 1 reload timer
1 0 delete timer
1 1 reload timer
My suggestion was:
old value new value action
0 0 nothing
0 1 reload timer
1 0 delete timer
1 1 nothing
If you think that's wrong, then surely your first
patch also has the same problem?
thanks
-- PMM