path: root/stand/efi/loader/arch/arm
diff options
authorRoger Pau Monné <royger@FreeBSD.org>2021-02-05 10:15:19 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2021-02-16 14:26:10 +0000
commited87efbe24a5734c7150153cf201f3db42b6ddab (patch)
treef3b2ed556213dc4b9a096b7c31ffe7dd4b865837 /stand/efi/loader/arch/arm
parent3c40e1d52cd86168779cf99dbabe58df465d7e3f (diff)
stand/efi: allow not exiting boot services
Xen requires that UEFI BootServices are enabled in order to boot, so introduce a new parameter to bi_load in order to select whether BS should be exited. No functional change introduced in this patch, as all current users of bi_load request BS to be exited. Further changes will make use of this functionality. Note the memory map is still appended to the kernel metadata, even when it could be modified by further calls to the Boot Services, as it will be used to detect if the kernel has been booted from UEFI. Sponsored by: Citrix Systems R&D Reviewed by: tsoome, imp Differential revision: https://reviews.freebsd.org/D28495
Diffstat (limited to 'stand/efi/loader/arch/arm')
1 files changed, 2 insertions, 2 deletions
diff --git a/stand/efi/loader/arch/arm/exec.c b/stand/efi/loader/arch/arm/exec.c
index 86c931bcbbe8..a110f3d07cbc 100644
--- a/stand/efi/loader/arch/arm/exec.c
+++ b/stand/efi/loader/arch/arm/exec.c
@@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$");
#include "loader_efi.h"
extern vm_offset_t md_load(char *, vm_offset_t *);
-extern int bi_load(char *, vm_offset_t *, vm_offset_t *);
+extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool);
static int
__elfN(arm_load)(char *filename, uint64_t dest,
@@ -80,7 +80,7 @@ __elfN(arm_exec)(struct preloaded_file *fp)
printf("Kernel entry at %p...\n", entry);
printf("Kernel args: %s\n", fp->f_args);
- if ((error = bi_load(fp->f_args, &modulep, &kernend)) != 0) {
+ if ((error = bi_load(fp->f_args, &modulep, &kernend, true)) != 0) {
return (error);