diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2016-06-04 08:47:45 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2016-06-04 08:47:45 +0000 |
commit | d15667174d69b1a3c3c35b78cd3e13b4e0b55c8a (patch) | |
tree | effb212e85ec6d8f6a7bb5ad0a2de66832332f87 /sys/boot/efi/loader/arch/arm/exec.c | |
parent | 8cfcd74fa1ae85b48a9fde3b7c7ea19121a69915 (diff) | |
download | src-d15667174d69b1a3c3c35b78cd3e13b4e0b55c8a.tar.gz src-d15667174d69b1a3c3c35b78cd3e13b4e0b55c8a.zip |
Use the UEFI event timer to update the time on arm and arm64. The current
code uses the GetTime function from the Runtime Service, however this has
been shown to not return a useable time on many arm64 UEFI implementations.
Reviewed by: jhb, smh
Sponsored by: ABT Systems Ltd
Differential Revision: https://reviews.freebsd.org/D6709
Notes
Notes:
svn path=/head/; revision=301306
Diffstat (limited to 'sys/boot/efi/loader/arch/arm/exec.c')
-rw-r--r-- | sys/boot/efi/loader/arch/arm/exec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/boot/efi/loader/arch/arm/exec.c b/sys/boot/efi/loader/arch/arm/exec.c index 716c7d300a12..83d3f2b1140a 100644 --- a/sys/boot/efi/loader/arch/arm/exec.c +++ b/sys/boot/efi/loader/arch/arm/exec.c @@ -73,8 +73,11 @@ __elfN(arm_exec)(struct preloaded_file *fp) e = (Elf_Ehdr *)&fmp->md_data; - if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) + efi_time_fini(); + if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) { + efi_time_init(); return (error); + } entry = efi_translate(e->e_entry); printf("Kernel entry at 0x%x...\n", (unsigned)entry); |