From 842a8e434e48e3d4d7a862c4a1676a698aa0954d Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 27 Aug 2017 00:51:04 +0200 Subject: efi_loader: support 16 protocols per efi_object 8 protocols per efi_object is insufficient for iPXE. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass Reviewed-by: Rob Clark Signed-off-by: Alexander Graf --- include/efi_loader.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/efi_loader.h') diff --git a/include/efi_loader.h b/include/efi_loader.h index 2f081f89965..90db7900014 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -112,8 +112,8 @@ struct efi_handler { struct efi_object { /* Every UEFI object is part of a global object list */ struct list_head link; - /* We support up to 8 "protocols" an object can be accessed through */ - struct efi_handler protocols[8]; + /* We support up to 16 "protocols" an object can be accessed through */ + struct efi_handler protocols[16]; /* The object spawner can either use this for data or as identifier */ void *handle; }; -- cgit v1.2.3 From e190e8972faf4d5b09e2a92fefc54a1832fd67da Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 4 Oct 2017 15:03:24 +0200 Subject: efi_loader: use type bool for event states Queued and signaled describe boolean states of events. So let's use type bool and rename the structure members to is_queued and is_signaled. Update the comments for is_queued and is_signaled. Reported-by: Simon Glass Signed-off-by: Heinrich Schuchardt Reviewed-by: Rob Clark Reviewed-by: Rob Clark Signed-off-by: Alexander Graf --- include/efi_loader.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include/efi_loader.h') diff --git a/include/efi_loader.h b/include/efi_loader.h index 90db7900014..e1179b7dcd1 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -136,8 +136,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 - * @queued: The notification functionis queued - * @signaled: The event occured + * @queued: The notification function is queued + * @signaled: The event occurred. The event is in the signaled state. */ struct efi_event { uint32_t type; @@ -147,8 +147,8 @@ struct efi_event { u64 trigger_next; u64 trigger_time; enum efi_timer_delay trigger_type; - int queued; - int signaled; + bool is_queued; + bool is_signaled; }; -- cgit v1.2.3 From bf19273e81eb5e23c9bc14c3881f92a120565561 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Tue, 10 Oct 2017 08:23:06 -0400 Subject: efi_loader: Add mem-mapped for fallback When we don't have a real device/image path, such as 'bootefi hello', construct a mem-mapped device-path. This fixes 'bootefi hello' after devicepath refactoring. Fixes: 95c5553ea2 ("efi_loader: refactor boot device and loaded_image handling") Signed-off-by: Rob Clark Acked-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- include/efi_loader.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include/efi_loader.h') diff --git a/include/efi_loader.h b/include/efi_loader.h index e1179b7dcd1..1b92edbd77c 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -259,6 +259,9 @@ struct efi_device_path *efi_dp_from_part(struct blk_desc *desc, int part); struct efi_device_path *efi_dp_from_file(struct blk_desc *desc, int part, const char *path); struct efi_device_path *efi_dp_from_eth(void); +struct efi_device_path *efi_dp_from_mem(uint32_t mem_type, + uint64_t start_address, + uint64_t end_address); void efi_dp_split_file_path(struct efi_device_path *full_path, struct efi_device_path **device_path, struct efi_device_path **file_path); -- cgit v1.2.3