Page MenuHomeFreeBSD

Fix video on PCI heuristic
ClosedPublic

Authored by imp on Sep 28 2020, 5:47 AM.

Details

Summary

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

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

imp requested review of this revision.Sep 28 2020, 5:47 AM

Note: this fixes the logic error in the original code. So BHYVE now works.
The heuristic would be greatly aided by having the ability to read the actual PCI config space, but we have no wrappers for that and don't do it anywhere else so that will be a separate commit.

This revision is now accepted and ready to land.Sep 28 2020, 5:52 AM
This revision was automatically updated to reflect the committed changes.