efi_loader: boottime: export efi_[un]load_image()
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Tue, 5 Mar 2019 05:53:31 +0000 (14:53 +0900)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 7 Apr 2019 12:17:06 +0000 (14:17 +0200)
Those two functions will be used later to re-implement do_bootefi_exec().

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
include/efi_loader.h
lib/efi_loader/efi_boottime.c

index cd6ceac..00b81c6 100644 (file)
@@ -317,10 +317,19 @@ efi_status_t efi_create_handle(efi_handle_t *handle);
 void efi_delete_handle(efi_handle_t obj);
 /* Call this to validate a handle and find the EFI object for it */
 struct efi_object *efi_search_obj(const efi_handle_t handle);
+/* Load image */
+efi_status_t EFIAPI efi_load_image(bool boot_policy,
+                                  efi_handle_t parent_image,
+                                  struct efi_device_path *file_path,
+                                  void *source_buffer,
+                                  efi_uintn_t source_size,
+                                  efi_handle_t *image_handle);
 /* Start image */
 efi_status_t EFIAPI efi_start_image(efi_handle_t image_handle,
                                    efi_uintn_t *exit_data_size,
                                    u16 **exit_data);
+/* Unload image */
+efi_status_t EFIAPI efi_unload_image(efi_handle_t image_handle);
 /* Find a protocol on a handle */
 efi_status_t efi_search_protocol(const efi_handle_t handle,
                                 const efi_guid_t *protocol_guid,
index a903260..b215bd7 100644 (file)
@@ -1687,12 +1687,12 @@ error:
  *
  * Return: status code
  */
-static efi_status_t EFIAPI efi_load_image(bool boot_policy,
-                                         efi_handle_t parent_image,
-                                         struct efi_device_path *file_path,
-                                         void *source_buffer,
-                                         efi_uintn_t source_size,
-                                         efi_handle_t *image_handle)
+efi_status_t EFIAPI efi_load_image(bool boot_policy,
+                                  efi_handle_t parent_image,
+                                  struct efi_device_path *file_path,
+                                  void *source_buffer,
+                                  efi_uintn_t source_size,
+                                  efi_handle_t *image_handle)
 {
        struct efi_device_path *dp, *fp;
        struct efi_loaded_image *info = NULL;
@@ -1763,7 +1763,7 @@ error:
  *
  * Return: status code
  */
-static efi_status_t EFIAPI efi_unload_image(efi_handle_t image_handle)
+efi_status_t EFIAPI efi_unload_image(efi_handle_t image_handle)
 {
        struct efi_object *efiobj;