Page MenuHomeFreeBSD

D38255.diff
No OneTemporary

D38255.diff

diff --git a/stand/kboot/arch/aarch64/load_addr.c b/stand/kboot/arch/aarch64/load_addr.c
--- a/stand/kboot/arch/aarch64/load_addr.c
+++ b/stand/kboot/arch/aarch64/load_addr.c
@@ -152,3 +152,22 @@
printf("Falling back to crazy address %#lx\n", s);
return (s);
}
+
+void
+bi_loadsmap(struct preloaded_file *kfp)
+{
+
+ if (efi_systbl_phys)
+ file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(efi_systbl_phys), &efi_systbl_phys);
+
+ /*
+ * If we have efi_map_hdr, then it's a pointer to the PA where this
+ * memory map lives. The trampoline code will copy it over. If we don't
+ * have it, we use whatever we found in /proc/iomap.
+ */
+ if (efi_map_hdr != NULL) {
+ file_addmetadata(kfp, MODINFOMD_EFI_MAP, efi_map_size, efi_map_hdr);
+ return;
+ }
+ panic("Can't get UEFI memory map, nor a pointer to it, can't proceed.\n");
+}

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 18, 1:31 PM (18 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15861795
Default Alt Text
D38255.diff (842 B)

Event Timeline