[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