mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
efi_loader: manage events in a linked list
Lift the limit on the number of events by using a linked list. This also allows to have events with type == 0. This patch is based on Rob's patch efi_loader: fix events https://lists.denx.de/pipermail/u-boot/2017-October/309348.html Suggested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
ab9efa979c
commit
43bce44262
2 changed files with 93 additions and 110 deletions
|
@ -150,17 +150,19 @@ struct efi_object {
|
|||
/**
|
||||
* struct efi_event
|
||||
*
|
||||
* @link: Link to list of all events
|
||||
* @type: Type of event, see efi_create_event
|
||||
* @notify_tpl: Task priority level of notifications
|
||||
* @trigger_time: Period of the timer
|
||||
* @trigger_next: Next time to trigger the timer
|
||||
* @nofify_function: Function to call when the event is triggered
|
||||
* @notify_context: Data to be passed to the notify function
|
||||
* @trigger_time: Period of the timer
|
||||
* @trigger_next: Next time to trigger the timer
|
||||
* @trigger_type: Type of timer, see efi_set_timer
|
||||
* @queued: The notification function is queued
|
||||
* @signaled: The event occurred. The event is in the signaled state.
|
||||
* @is_queued: The notification function is queued
|
||||
* @is_signaled: The event occurred. The event is in the signaled state.
|
||||
*/
|
||||
struct efi_event {
|
||||
struct list_head link;
|
||||
uint32_t type;
|
||||
efi_uintn_t notify_tpl;
|
||||
void (EFIAPI *notify_function)(struct efi_event *event, void *context);
|
||||
|
@ -172,7 +174,6 @@ struct efi_event {
|
|||
bool is_signaled;
|
||||
};
|
||||
|
||||
|
||||
/* This list contains all UEFI objects we know of */
|
||||
extern struct list_head efi_obj_list;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue