summaryrefslogtreecommitdiff
path: root/lib/efi_loader/efi_runtime.c
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-08-14 06:49:09 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-08-15 20:33:10 +0200
commit9f8932d0558e52777175a2a6ef70c0ef3f519545 (patch)
treefa6e197798c7bd6e348b05e54cd12bc0c73e138e /lib/efi_loader/efi_runtime.c
parent53e1d8fae8ccf24a1b91929a6d5e74d4cef18eb1 (diff)
efi_loader: do not call efi_runtime_detach twice
Commit 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()") added a call to efi_runtime_detach() to ExitBootServices() but did not remove the call in SetVirtualAddressMap(). Remove the superfluous function call. Correct a comment referring to efi_runtime_detach(). Fixes: 7f95104d91cc ("efi_loader: detach runtime in ExitBootServices()") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'lib/efi_loader/efi_runtime.c')
-rw-r--r--lib/efi_loader/efi_runtime.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
index 54e5a98bfc6..ced00516f73 100644
--- a/lib/efi_loader/efi_runtime.c
+++ b/lib/efi_loader/efi_runtime.c
@@ -565,7 +565,10 @@ void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map)
p = (void*)((ulong)rel->offset - base) + gd->relocaddr;
- /* The runtime services are updated in efi_runtime_detach() */
+ /*
+ * The runtime services table is updated in
+ * efi_relocate_runtime_table()
+ */
if (map && efi_is_runtime_service_pointer(p))
continue;
@@ -724,14 +727,6 @@ static efi_status_t EFIAPI efi_set_virtual_address_map(
}
}
- /*
- * Some runtime services are implemented in a way that we can only offer
- * them at boottime. Replace those function pointers.
- *
- * TODO: move this call to ExitBootServices().
- */
- efi_runtime_detach();
-
/* Relocate the runtime. See TODO above */
for (i = 0; i < n; i++) {
struct efi_mem_desc *map;