svn commit: r322938 - in head/sys/boot/efi: boot1 libefi loader

Warner Losh imp at FreeBSD.org
Sat Aug 26 18:30:16 UTC 2017


Author: imp
Date: Sat Aug 26 18:30:14 2017
New Revision: 322938
URL: https://svnweb.freebsd.org/changeset/base/322938

Log:
  Link in libefi for boot1
  
  Add libefi to the list of libraries we'll link in. Move EFI table
  definitions back to libefi so we don't have drift between the two
  efi_main routines.
  
  Sponsored by: Netflix

Modified:
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/boot1/boot1.c
  head/sys/boot/efi/libefi/libefi.c
  head/sys/boot/efi/loader/efi_main.c

Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile	Sat Aug 26 18:30:08 2017	(r322937)
+++ head/sys/boot/efi/boot1/Makefile	Sat Aug 26 18:30:14 2017	(r322938)
@@ -76,13 +76,15 @@ CFLAGS+=	-fPIC
 LDFLAGS+=	-Wl,-znocombreloc
 .endif
 
+LIBEFI=		${.OBJDIR}/../libefi/libefi.a
+
 #
 # Add libstand for the runtime functions used by the compiler - for example
 # __aeabi_* (arm) or __divdi3 (i386).
 # as well as required string and memory functions for all platforms.
 #
-DPADD+=		${LIBSTAND}
-LDADD+=		-lstand
+DPADD+=		${LIBEFI} ${LIBSTAND}
+LDADD+=		${LIBEFI} -lstand
 
 DPADD+=		${LDSCRIPT}
 

Modified: head/sys/boot/efi/boot1/boot1.c
==============================================================================
--- head/sys/boot/efi/boot1/boot1.c	Sat Aug 26 18:30:08 2017	(r322937)
+++ head/sys/boot/efi/boot1/boot1.c	Sat Aug 26 18:30:14 2017	(r322938)
@@ -47,11 +47,6 @@ static const boot_module_t *boot_modules[] =
 /* The initial number of handles used to query EFI for partitions. */
 #define NUM_HANDLES_INIT	24
 
-EFI_HANDLE		IH;
-EFI_SYSTEM_TABLE	*ST;
-EFI_BOOT_SERVICES	*BS;
-EFI_RUNTIME_SERVICES	*RS;
-
 static EFI_GUID BlockIoProtocolGUID = BLOCK_IO_PROTOCOL;
 static EFI_GUID DevicePathGUID = DEVICE_PATH_PROTOCOL;
 static EFI_GUID LoadedImageGUID = LOADED_IMAGE_PROTOCOL;

Modified: head/sys/boot/efi/libefi/libefi.c
==============================================================================
--- head/sys/boot/efi/libefi/libefi.c	Sat Aug 26 18:30:08 2017	(r322937)
+++ head/sys/boot/efi/libefi/libefi.c	Sat Aug 26 18:30:14 2017	(r322938)
@@ -32,7 +32,10 @@ __FBSDID("$FreeBSD$");
 #include <efilib.h>
 #include <stand.h>
 
-extern EFI_SYSTEM_TABLE *ST;
+EFI_HANDLE		IH;
+EFI_SYSTEM_TABLE	*ST;
+EFI_BOOT_SERVICES	*BS;
+EFI_RUNTIME_SERVICES	*RS;
 
 void *
 efi_get_table(EFI_GUID *tbl)

Modified: head/sys/boot/efi/loader/efi_main.c
==============================================================================
--- head/sys/boot/efi/loader/efi_main.c	Sat Aug 26 18:30:08 2017	(r322937)
+++ head/sys/boot/efi/loader/efi_main.c	Sat Aug 26 18:30:14 2017	(r322938)
@@ -32,11 +32,6 @@ __FBSDID("$FreeBSD$");
 #include <efilib.h>
 #include <stand.h>
 
-EFI_HANDLE		IH;
-EFI_SYSTEM_TABLE	*ST;
-EFI_BOOT_SERVICES	*BS;
-EFI_RUNTIME_SERVICES	*RS;
-
 static EFI_PHYSICAL_ADDRESS heap;
 static UINTN heapsize;
 


More information about the svn-src-head mailing list