Date: Thu, 11 May 2023 15:05:42 +0200 From: =?UTF-8?q?Corvin=20K=C3=B6hne?= <corvink@FreeBSD.org> To: virtualization@FreeBSD.org Cc: =?UTF-8?q?Corvin=20K=C3=B6hne?= <corvink@FreeBSD.org> Subject: [PATCH 0/3] bhyve: enabling bus enumeration Message-ID: <20230511130545.748706-1-corvink@FreeBSD.org>
next in thread | raw e-mail | index | archive | help
Hi,
this is the next patch series, it'd like to send to the EDKII project.
It enables bus enumeration. The use case for this is PCI ROM support.
Enabling bus enumeration means that the firmware reassigns the address
of the BAR of all PCI devices and executes PCI ROMs if it find some. Our
previous approach was that bhyve assigns the address of all BARs. This
is required in cases were no firmware is available like booting with
bhyveload or grub2-bhyve. While reassigning BARs in guest firmware seems
unnecessary, it's required to fully support PCI ROMs.
Some use cases where bus enumeration is required:
1. GPU passthrough
Here bus enumeration solves two issues:
1. The ROM can contain a GOP driver. This is required for graphical
output before the OS driver is loaded.
2. The linux drm driver has a dependency on the ROM. As GPU ROMs are
shadowed in system memory, it searches for this shadowed version.
So, drm won't be able to find the ROM if bus enumeration is
disabled and refuses to load.
2. NIC passthrough
The ROM can contain a PXE driver which is required to PXE boot from
this device.
Any feedback is appreciated.
Thanks,
Corvin
Corvin Köhne (3):
Revert "OvmfPkg/Bhyve: consume PciHostBridgeLibScan"
Revert "OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE driver"
OvmfPkg/BhyveBhfPkg: enable bus enumeration
OvmfPkg/Bhyve/BhyveX64.dsc | 4 ++--
OvmfPkg/Bhyve/BhyveX64.fdf | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
--
2.40.1
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20230511130545.748706-1-corvink>
