efi: fix searching for additional Haiku installations

* platform_add_block_devices() is a no-op, as efi already
  provides all devices to the generic loader code.
* remove iterator.Remove() in platform_get_boot_partitions()
  as the simplified devices scan no longer duplicates
  partition entries.

Fixes #17051

Change-Id: I38789b069e1be9b18312e2455bc91e6195114599
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4160
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
This commit is contained in:
Jessica Hamilton 2021-07-06 23:01:18 +12:00 committed by Alex von Gluck IV
parent d3beb376b5
commit 2123a7ccb4

View File

@ -235,7 +235,7 @@ platform_add_block_devices(struct stage2_args *args, NodeList *devicesList)
TRACE("%s: called\n", __func__);
//TODO: Currently we add all in platform_add_boot_device
return B_ENTRY_NOT_FOUND;
return devicesList->Count() > 0 ? B_OK : B_ENTRY_NOT_FOUND;
}
@ -247,7 +247,6 @@ platform_get_boot_partitions(struct stage2_args *args, Node *bootDevice,
boot::Partition *partition = NULL;
while ((partition = (boot::Partition*)iterator.Next()) != NULL) {
if (device_contains_partition((EfiDevice*)bootDevice, partition)) {
iterator.Remove();
bootPartitions->Insert(partition);
}
}