Date: Tue, 03 Sep 2019 14:07:34 -0000 From: Warner Losh <imp@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r346430 - in head/stand/efi: include libefi loader Message-ID: <201904200531.x3K5VuCb015576@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: imp Date: Sat Apr 20 05:31:56 2019 New Revision: 346430 URL: https://svnweb.freebsd.org/changeset/base/346430 Log: Start to reduce the number of #ifdef EFI_ZFS_BOOT There's a number of EFI_ZFS_BOOT #ifdefs that aren't needed, or can be eliminated with some trivial #defines. Remove the EFI_ZFS_BOOT ifdefs that aren't needed. Replace libzfs.h include which is not safe to include without EFI_ZFS_BOOT with efizfs.h which is and now conditionally included libzfs.h. Define efizfs_set_preferred away and define efi_zfs_probe to NULL when ZFS is compiled out. Modified: head/stand/efi/include/efizfs.h head/stand/efi/libefi/devicename.c head/stand/efi/loader/conf.c head/stand/efi/loader/main.c Modified: head/stand/efi/include/efizfs.h ============================================================================== --- head/stand/efi/include/efizfs.h Sat Apr 20 04:16:51 2019 (r346429) +++ head/stand/efi/include/efizfs.h Sat Apr 20 05:31:56 2019 (r346430) @@ -33,6 +33,8 @@ #define _EFIZFS_H_ #ifdef EFI_ZFS_BOOT +#include <libzfs.h> + typedef STAILQ_HEAD(zfsinfo_list, zfsinfo) zfsinfo_list_t; typedef struct zfsinfo @@ -50,6 +52,9 @@ bool efizfs_get_guid_by_handle(EFI_HANDLE, uint64_t *) zfsinfo_list_t *efizfs_get_zfsinfo_list(void); void efizfs_set_preferred(EFI_HANDLE); +#else +#define efizfs_set_preferred(x) +#define efi_zfs_probe NULL #endif #endif Modified: head/stand/efi/libefi/devicename.c ============================================================================== --- head/stand/efi/libefi/devicename.c Sat Apr 20 04:16:51 2019 (r346429) +++ head/stand/efi/libefi/devicename.c Sat Apr 20 05:31:56 2019 (r346430) @@ -34,12 +34,10 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <bootstrap.h> #include <disk.h> -#ifdef EFI_ZFS_BOOT -#include <libzfs.h> -#endif #include <efi.h> #include <efilib.h> +#include <efizfs.h> static int efi_parsedev(struct devdesc **, const char *, const char **); Modified: head/stand/efi/loader/conf.c ============================================================================== --- head/stand/efi/loader/conf.c Sat Apr 20 04:16:51 2019 (r346429) +++ head/stand/efi/loader/conf.c Sat Apr 20 05:31:56 2019 (r346430) @@ -31,9 +31,7 @@ __FBSDID("$FreeBSD$"); #include <bootstrap.h> #include <efi.h> #include <efilib.h> -#ifdef EFI_ZFS_BOOT -#include <libzfs.h> -#endif +#include <efizfs.h> struct devsw *devsw[] = { &efipart_fddev, Modified: head/stand/efi/loader/main.c ============================================================================== --- head/stand/efi/loader/main.c Sat Apr 20 04:16:51 2019 (r346429) +++ head/stand/efi/loader/main.c Sat Apr 20 05:31:56 2019 (r346430) @@ -50,10 +50,7 @@ __FBSDID("$FreeBSD$"); #include <bootstrap.h> #include <smbios.h> -#ifdef EFI_ZFS_BOOT -#include <libzfs.h> #include "efizfs.h" -#endif #include "loader_efi.h" @@ -763,18 +760,14 @@ main(int argc, CHAR16 *argv[]) archsw.arch_copyin = efi_copyin; archsw.arch_copyout = efi_copyout; archsw.arch_readin = efi_readin; -#ifdef EFI_ZFS_BOOT - /* Note this needs to be set before ZFS init. */ archsw.arch_zfs_probe = efi_zfs_probe; -#endif /* Get our loaded image protocol interface structure. */ BS->HandleProtocol(IH, &imgid, (VOID**)&img); -#ifdef EFI_ZFS_BOOT - /* Tell ZFS probe code where we booted from */ + /* Tell ZFS probe code where we booted from, if zfs configured */ efizfs_set_preferred(img->DeviceHandle); -#endif + /* Init the time source */ efi_time_init();
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201904200531.x3K5VuCb015576>