[U-Boot] [PATCH 04/10] efi_loader: implement queueing of the notification function

Simon Glass sjg at chromium.org
Mon Sep 25 02:11:42 UTC 2017


Hi Heinrich,

On 15 September 2017 at 02:06, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> For the correct implementation of the task priority level (TPL)
> calling the notification function must be queued.
>
> Add a status field 'queued' to events.
>
> In function efi_signal_event set status queued if a notification
> function exists and reset it after we have called the function.
> A later patch will add a check of the TPL here.
>
> In efi_create_event and efi_close_event unset the queued status.
>
> In function efi_wait_for_event and efi_check_event
> queue the notification function.
>
> In efi_timer_check call the efi_notify_event
> if the status queued is set.
> For all timer events set status signaled.
>
> In efi_console_timer_notify set the signaled state of the
> WaitForKey event.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
>  include/efi_loader.h          |  4 +++-
>  lib/efi_loader/efi_boottime.c | 40 ++++++++++++++++++++++++++++++----------
>  lib/efi_loader/efi_console.c  |  4 +++-
>  3 files changed, 36 insertions(+), 12 deletions(-)
>
> diff --git a/include/efi_loader.h b/include/efi_loader.h
> index f74b33d589..25398ba40c 100644
> --- a/include/efi_loader.h
> +++ b/include/efi_loader.h
> @@ -131,7 +131,8 @@ struct efi_object {
>   * @nofify_function:   Function to call when the event is triggered
>   * @notify_context:    Data to be passed to the notify function
>   * @trigger_type:      Type of timer, see efi_set_timer
> - * @signaled:          The notify function was already called
> + * @queued:            The notification functionis queued

functions

What does this actually mean? Can you expand the comment a bit? I'm
not sure what a value of (for example) 3 would mean. Or if it is just
*whether* the function is queued, then you could use a bool.

> + * @signaled:          The event occured

occurred


More information about the U-Boot mailing list