Page MenuHomeFreeBSD

D57800.id.diff
No OneTemporary

D57800.id.diff

diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c
--- a/stand/efi/loader/main.c
+++ b/stand/efi/loader/main.c
@@ -641,17 +641,24 @@
#ifdef MD_IMAGE_SIZE
/*
- * If there is an embedded MD, try to use that.
+ * Forth choice: If there is an embedded MD, try to use that.
*/
printf("Trying MD\n");
if (probe_md_currdev())
return (0);
#endif /* MD_IMAGE_SIZE */
+ /*
+ * Fifth choice: try all the partitions on the boot device.
+ */
if (try_boot_device_partitions() == 0)
return (0);
#ifdef EFI_ZFS_BOOT
+ /*
+ * Sixth Choice: Probe the boot disk for ZFS and then probe the non-boot
+ * disk if we have a relaxed boot poluicy.
+ */
{
zfsinfo_list_t *zfsinfo = efizfs_get_zfsinfo_list();
zfsinfo_t *zi;
@@ -686,8 +693,8 @@
#endif /* EFI_ZFS_BOOT */
/*
- * Try the device handle from our loaded image first. If that
- * fails, use the device path from the loaded image and see if
+ * Seventh choice: Try the device handle from our loaded image first.
+ * If that fails, use the device path from the loaded image and see if
* any of the nodes in that path match one of the enumerated
* handles. Currently, this handle list is only for netboot.
*/
@@ -697,6 +704,12 @@
return (0);
}
+ /*
+ * Eighth choice: look up the device handle... This loops through the
+ * entries to find the device handle. The network protocols have long
+ * strings of device nodes in the device path, and this may make
+ * something work.
+ */
copy = NULL;
devpath = efi_lookup_image_devpath(IH);
while (devpath != NULL) {
@@ -1256,7 +1269,7 @@
#endif
/* Get our loaded image protocol interface structure. */
- (void) OpenProtocolByHandle(IH, &imgid, (void **)&boot_img);
+ (void)OpenProtocolByHandle(IH, &imgid, (void **)&boot_img);
/* Report the RSDP early. */
acpi_detect();

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 19, 8:41 AM (14 h, 40 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34304378
Default Alt Text
D57800.id.diff (1 KB)

Event Timeline