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/arm64/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/arm64/exec.c')
-rw-r--r-- | sys/boot/efi/loader/arch/arm64/exec.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/boot/efi/loader/arch/arm64/exec.c b/sys/boot/efi/loader/arch/arm64/exec.c index eb1830c548a4..45321261def0 100644 --- a/sys/boot/efi/loader/arch/arm64/exec.c +++ b/sys/boot/efi/loader/arch/arm64/exec.c @@ -113,9 +113,12 @@ elf64_exec(struct preloaded_file *fp) ehdr = (Elf_Ehdr *)&(md->md_data); entry = efi_translate(ehdr->e_entry); + efi_time_fini(); err = bi_load(fp->f_args, &modulep, &kernendp); - if (err != 0) + if (err != 0) { + efi_time_init(); return (err); + } dev_cleanup(); |