svn commit: r366216 - head/stand/efi/loader
Warner Losh
imp at FreeBSD.org
Mon Sep 28 06:00:39 UTC 2020
Author: imp
Date: Mon Sep 28 06:00:39 2020
New Revision: 366216
URL: https://svnweb.freebsd.org/changeset/base/366216
Log:
Fix video on PCI heuristic
The video on PCI heuristic was broken. It was supposed to infer a
video device when the last element of the path was a PCI DEVICE PATH
node. However, the last node in the device path is an END node, so
this heuristic never fired.
This leads, among other things, to bhyve only producing output in the
serial connection once we leave the boot loader. This restores the
dual headed boot on bhyve + UEFI (as we did in 11.2), but will favor
serial in the absence of other config which may be a change from 11.2.
MFC After: 3 days
Differential Revision: https://reviews.freebsd.org/D26572
Modified:
head/stand/efi/loader/main.c
Modified: head/stand/efi/loader/main.c
==============================================================================
--- head/stand/efi/loader/main.c Mon Sep 28 04:30:31 2020 (r366215)
+++ head/stand/efi/loader/main.c Mon Sep 28 06:00:39 2020 (r366216)
@@ -739,6 +739,10 @@ parse_uefi_con_out(void)
ep = buf + sz;
node = (EFI_DEVICE_PATH *)buf;
while ((char *)node < ep) {
+ if (IsDevicePathEndType(node)) {
+ if (pci_pending && vid_seen == 0)
+ vid_seen = ++seen;
+ }
pci_pending = false;
if (DevicePathType(node) == ACPI_DEVICE_PATH &&
(DevicePathSubType(node) == ACPI_DP ||
@@ -772,8 +776,6 @@ parse_uefi_con_out(void)
}
node = NextDevicePathNode(node);
}
- if (pci_pending && vid_seen == 0)
- vid_seen = ++seen;
/*
* Truth table for RB_MULTIPLE | RB_SERIAL
More information about the svn-src-head
mailing list