53 lines
1.6 KiB
Diff
53 lines
1.6 KiB
Diff
|
From patchwork Tue May 17 22:54:47 2016
|
||
|
Content-Type: text/plain; charset="utf-8"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Transfer-Encoding: 7bit
|
||
|
Subject: [U-Boot] efi_loader: Clean up system table on exit
|
||
|
From: Alexander Graf <agraf@suse.de>
|
||
|
X-Patchwork-Id: 623319
|
||
|
Message-Id: <1463525687-231924-1-git-send-email-agraf@suse.de>
|
||
|
To: u-boot@lists.denx.de
|
||
|
Cc: leif.lindholm@linaro.org
|
||
|
Date: Wed, 18 May 2016 00:54:47 +0200
|
||
|
|
||
|
We put the system table into our runtime services data section so that
|
||
|
payloads may still access it after exit_boot_services. However, most fields
|
||
|
in it are quite useless once we're in that state, so let's just patch them
|
||
|
out.
|
||
|
|
||
|
With this patch we don't get spurious warnings when running EFI binaries
|
||
|
anymore.
|
||
|
|
||
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||
|
---
|
||
|
lib/efi_loader/efi_runtime.c | 16 ++++++++++++++++
|
||
|
1 file changed, 16 insertions(+)
|
||
|
|
||
|
diff --git a/lib/efi_loader/efi_runtime.c b/lib/efi_loader/efi_runtime.c
|
||
|
index 3ee27ca..11d0126 100644
|
||
|
--- a/lib/efi_loader/efi_runtime.c
|
||
|
+++ b/lib/efi_loader/efi_runtime.c
|
||
|
@@ -125,6 +125,22 @@ static const struct efi_runtime_detach_list_struct efi_runtime_detach_list[] = {
|
||
|
/* RTC accessors are gone */
|
||
|
.ptr = &efi_runtime_services.get_time,
|
||
|
.patchto = &efi_device_error,
|
||
|
+ }, {
|
||
|
+ /* Clean up system table */
|
||
|
+ .ptr = &systab.con_in,
|
||
|
+ .patchto = NULL,
|
||
|
+ }, {
|
||
|
+ /* Clean up system table */
|
||
|
+ .ptr = &systab.con_out,
|
||
|
+ .patchto = NULL,
|
||
|
+ }, {
|
||
|
+ /* Clean up system table */
|
||
|
+ .ptr = &systab.std_err,
|
||
|
+ .patchto = NULL,
|
||
|
+ }, {
|
||
|
+ /* Clean up system table */
|
||
|
+ .ptr = &systab.boottime,
|
||
|
+ .patchto = NULL,
|
||
|
},
|
||
|
};
|
||
|
|