Date: Wed, 7 Dec 2022 18:06:24 GMT From: Warner Losh <imp@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: b11aebff4d4a - main - kboot: Mark the EFI specific parts of bootinfo.c Message-ID: <202212071806.2B7I6OHM072361@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b11aebff4d4a301bfeac516b5be45080c8a11142 commit b11aebff4d4a301bfeac516b5be45080c8a11142 Author: Warner Losh <imp@FreeBSD.org> AuthorDate: 2022-12-06 17:55:58 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2022-12-07 18:00:54 +0000 kboot: Mark the EFI specific parts of bootinfo.c bootinfo.c is about to be shared with kboot since they create substantially similar environments / metadata tagging / etc. Tag this with #ifdef EFI for the moment until the proper abstracting out can happen. Sponsored by: Netflix --- stand/efi/loader/bootinfo.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 1185908f64be..1bd8c11c0028 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -40,8 +40,10 @@ __FBSDID("$FreeBSD$"); #include <machine/metadata.h> #include <machine/psl.h> +#ifdef EFI #include <efi.h> #include <efilib.h> +#endif #include "bootstrap.h" #include "modinfo.h" @@ -50,8 +52,10 @@ __FBSDID("$FreeBSD$"); #include <machine/specialreg.h> #endif +#ifdef EFI #include "loader_efi.h" #include "gfx_fb.h" +#endif #if defined(LOADER_FDT_SUPPORT) #include <fdt_platform.h> @@ -67,10 +71,12 @@ int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, static int bi_getboothowto(char *kargs) { +#ifdef EFI const char *sw, *tmp; char *opts; int speed, port; char buf[50]; +#endif char *console; int howto; @@ -83,6 +89,7 @@ bi_getboothowto(char *kargs) howto |= RB_SERIAL; if (strcmp(console, "nullconsole") == 0) howto |= RB_MUTE; +#ifdef EFI #if defined(__i386__) || defined(__amd64__) if (strcmp(console, "efi") == 0 && getenv("efi_8250_uid") != NULL && @@ -121,12 +128,14 @@ bi_getboothowto(char *kargs) NULL, NULL); } } +#endif #endif } return (howto); } +#ifdef EFI static EFI_STATUS efi_do_vmap(EFI_MEMORY_DESCRIPTOR *mm, UINTN sz, UINTN mmsz, UINT32 mmver) { @@ -295,6 +304,7 @@ bi_load_efi_data(struct preloaded_file *kfp, bool exit_bs) return (0); } +#endif /* * Load the information expected by an amd64 kernel. @@ -351,8 +361,10 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) return(EINVAL); } +#ifdef EFI /* Try reading the /etc/fstab file to select the root device */ getrootmount(devformat(rootdev)); +#endif addr = 0; for (xp = file_findfile(NULL, NULL); xp != NULL; xp = xp->f_next) { @@ -408,11 +420,15 @@ bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs) #ifdef MODINFOMD_MODULEP file_addmetadata(kfp, MODINFOMD_MODULEP, sizeof(module), &module); #endif +#ifdef EFI file_addmetadata(kfp, MODINFOMD_FW_HANDLE, sizeof(ST), &ST); +#endif #ifdef LOADER_GELI_SUPPORT geli_export_key_metadata(kfp); #endif +#ifdef EFI bi_load_efi_data(kfp, exit_bs); +#endif size = md_copymodules(0, is64); /* Find the size of the modules */ kernend = roundup(addr + size, PAGE_SIZE);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202212071806.2B7I6OHM072361>