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

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 12 18:15:10 UTC 2017


On 07/12/2017 08:05 PM, Michael Brown wrote:
> On 12/07/17 18:57, Heinrich Schuchardt wrote:
>> On 07/12/2017 07:47 PM, Michael Brown wrote:
>>> On 12/07/17 18:45, Heinrich Schuchardt wrote:
>>>> U-Boot runs single-threaded without interrupts.
>>>> When cpu_nap is called the process is never woken up again.
>>>
>>> #ifdef is not allowed for this sort of fix, sorry.
>>
>> What is your suggestion?
>>
>> <snip>
>>
>> Currently I am also writing patches to add the missing UEFI parts in
>> U-Boot.
>>
>> I was able to reach the iPXE console. There are still some parts missing
>> to make use of the network.
> 
> Awesome!
> 
> The best solution is probably to fix U-Boot to ensure that a periodic
> timer interrupt is firing.  UEFI is quite heavily dependent on the
> existence of timer interrupts.

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.

Regards

Heinrich



More information about the ipxe-devel mailing list