On Tue, Jul 14, 2015 at 10:05:14AM +0800, Haojian Zhuang wrote:
In GRUB, the required timer granularity is only 1ms. If interval of hardware timer interrupt is 10ms in UEFI, GRUB will only get all timer granularity >= 10ms. At least, the timeout of boot menu in GRUB is much slower. Only the interval of hardware timer interrupt is 1ms in UEFI, the timeout of boot menu in GRUB works well.
I would add that this is something that needs to be better handled in GRUB as well (which I'm working on), but changing the default solves the problem in the current versions of GRUB (and a 1ms timer granularity is nice to have anyway).
After thinking a while, I think that we needn't to handle it in GRUB.
Aarch64 requires generic timer at least 1MHz. And SP804 is always working in 1MHz in UEFI.
1 / 1MHz = 1us 1 / 1ms = 1KHz
And in current embedded SoC solutions, the lowest frequency of hardware timer is 32.768KHz. So all of them could meet the requirement of timer granularity = 1ms.
Yes, they certainly can. However, we cannot force all platforms to comply - so GRUB still needs to be able to do something sane (or at least warn that something is amiss).
Regards,
Leif