efi_loader: export efi_convert_pointer()
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Tue, 24 Mar 2020 17:05:22 +0000 (18:05 +0100)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 11 Jul 2020 21:14:17 +0000 (23:14 +0200)
We need ConvertPointer() to adjust pointers when implementing  runtime
services within U-Boot.

After ExitBootServices() gd is not available anymore. So we should not use
EFI_ENTRY() and EFI_EXIT().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
include/efi_loader.h
lib/efi_loader/efi_runtime.c

index ceabbaa..be6cede 100644 (file)
@@ -397,6 +397,9 @@ efi_status_t efi_root_node_register(void);
 efi_status_t efi_initialize_system_table(void);
 /* efi_runtime_detach() - detach unimplemented runtime functions */
 void efi_runtime_detach(void);
+/* efi_convert_pointer() - convert pointer to virtual address */
+efi_status_t EFIAPI efi_convert_pointer(efi_uintn_t debug_disposition,
+                                       void **address);
 /* Called by bootefi to make console interface available */
 efi_status_t efi_console_register(void);
 /* Called by bootefi to make all disk storage accessible as EFI objects */
index 121e2f6..45baa2f 100644 (file)
@@ -496,15 +496,13 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer_runtime(
  * @address:           pointer to be converted
  * Return:             status code
  */
-static __efi_runtime efi_status_t EFIAPI efi_convert_pointer(
-                       efi_uintn_t debug_disposition, void **address)
+__efi_runtime efi_status_t EFIAPI
+efi_convert_pointer(efi_uintn_t debug_disposition, void **address)
 {
        efi_physical_addr_t addr;
        efi_uintn_t i;
        efi_status_t ret = EFI_NOT_FOUND;
 
-       EFI_ENTRY("%zu %p", debug_disposition, address);
-
        if (!efi_virtmap) {
                ret = EFI_UNSUPPORTED;
                goto out;
@@ -533,7 +531,7 @@ static __efi_runtime efi_status_t EFIAPI efi_convert_pointer(
        }
 
 out:
-       return EFI_EXIT(ret);
+       return ret;
 }
 
 static __efi_runtime void efi_relocate_runtime_table(ulong offset)