diff options
author | imp <imp@FreeBSD.org> | 2015-12-19 19:01:42 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2015-12-19 19:01:42 +0000 |
commit | 02742ba285e8e8670e8855fdbe66e0f82d9b4bb6 (patch) | |
tree | 9726de6148a128e86da0961cf1351fd6fc0fdc54 /sys/boot/efi/loader | |
parent | 8343c406db08ecfbfbde5f7677b17a74b24a3645 (diff) | |
download | FreeBSD-src-02742ba285e8e8670e8855fdbe66e0f82d9b4bb6.zip FreeBSD-src-02742ba285e8e8670e8855fdbe66e0f82d9b4bb6.tar.gz |
Pass the UEFI system table into the kernel from the boot loader via
the FW_HANDLE metadata item. The kernel can get the rest of what it
needs from this.
Diffstat (limited to 'sys/boot/efi/loader')
-rw-r--r-- | sys/boot/efi/loader/bootinfo.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/boot/efi/loader/bootinfo.c b/sys/boot/efi/loader/bootinfo.c index f9f8229..0b7b7ef 100644 --- a/sys/boot/efi/loader/bootinfo.c +++ b/sys/boot/efi/loader/bootinfo.c @@ -55,6 +55,8 @@ __FBSDID("$FreeBSD$"); #include <fdt_platform.h> #endif +extern EFI_SYSTEM_TABLE *ST; + static const char howto_switches[] = "aCdrgDmphsv"; static int howto_masks[] = { RB_ASKNAME, RB_CDROM, RB_KDB, RB_DFLTROOT, RB_GDB, RB_MULTIPLE, @@ -435,6 +437,7 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp) "device tree blob found!\n"); #endif file_addmetadata(kfp, MODINFOMD_KERNEND, sizeof kernend, &kernend); + file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof ST, &ST); bi_load_efi_data(kfp); |