summaryrefslogtreecommitdiffstats
path: root/arch/efi/efi/efi-image.c
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2015-07-17 21:22:42 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-07-27 07:23:18 +0200
commit21a83053ab619f00fce457c717c496d3b0dc7b4d (patch)
treeecd048ac09bf5e4be869460d313af28a6e309b3e /arch/efi/efi/efi-image.c
parentceb217682cefb8a06c729df00e5060f83731b820 (diff)
downloadbarebox-21a83053ab619f00fce457c717c496d3b0dc7b4d.tar.gz
barebox-21a83053ab619f00fce457c717c496d3b0dc7b4d.tar.xz
efi: write volatile EFI variables used by systemd
LoaderTimeInitUSec and LoaderTimeExecUSec are used e.g. in systemd-analyze to calculate the time spent in the firmare and barebox. LoaderDevicePartUUID is used to mount the EFI partition to /boot. Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/efi/efi/efi-image.c')
-rw-r--r--arch/efi/efi/efi-image.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/efi/efi/efi-image.c b/arch/efi/efi/efi-image.c
index de9b277556..b6437f4078 100644
--- a/arch/efi/efi/efi-image.c
+++ b/arch/efi/efi/efi-image.c
@@ -17,6 +17,7 @@
*
*/
+#include <clock.h>
#include <common.h>
#include <linux/sizes.h>
#include <memory.h>
@@ -242,6 +243,10 @@ static int do_bootm_efi(struct image_data *data)
boot_header->ramdisk_image);
printf("...\n");
}
+
+ efi_set_variable_usec("LoaderTimeExecUSec", &efi_systemd_vendor_guid,
+ get_time_ns()/1000);
+
linux_efi_handover(handle, boot_header);
return 0;