[ipxe-devel] [PATCH 1/1] efi: provide possibility to disable cpu_nap

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 12 18:50:51 UTC 2017


On 07/12/2017 08:35 PM, Michael Brown wrote:
> On 12/07/17 19:15, Heinrich Schuchardt wrote:
>> Nope. Interrupts are not supported by U-Boot. To get them running every
>> architecture implementation would have to be changed.
>>
>> U-Boot simply uses a call inside the waiting loop to check if new data
>> is available.
>>
>> E.g. in UEFI WaitForEvent it will check if new data becomes available on
>> the serial console or on the network interface inside a loop. In
>> CheckEvent it will do the same. If data becomes available it will fire
>> the UEFI event.
> 
> OK.  What facility does U-Boot provide to allow the CPU to sleep (i.e.
> to allow an idling program to avoid running with 100% CPU usage)?

None. U-Boot loads grub or the OS kernel within a few seconds. So why
bother about reducing CPU load of the only core that is running?

E.g. on the Davinci boards the waiting routine udelay is implemented using

while (get_ticks() < endtime)
  ;

Best regards

Heinrich



More information about the ipxe-devel mailing list