Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jun 2023 11:56:24 +0200
From:      Corvin =?ISO-8859-1?Q?K=F6hne?= <corvink@FreeBSD.org>
To:        virtualization@FreeBSD.org
Subject:   Re: [PATCH 0/3] bhyve: enabling bus enumeration
Message-ID:  <a6f50f6194507337e5459ae51262368511c19cf1.camel@FreeBSD.org>
In-Reply-To: <20230511130545.748706-1-corvink@FreeBSD.org>
References:  <20230511130545.748706-1-corvink@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-5OA25i2laQRyTYNTrq86
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2023-05-11 at 15:05 +0200, Corvin K=C3=B6hne wrote:
> Hi,
>=20
> 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.
>=20
> 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.
>=20
> Some use cases where bus enumeration is required:
> 1. GPU passthrough
> =C2=A0=C2=A0 Here bus enumeration solves two issues:
> =C2=A0=C2=A0 1. The ROM can contain a GOP driver. This is required for
> graphical
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 output before the OS driver is loaded.
> =C2=A0=C2=A0 2. The linux drm driver has a dependency on the ROM. As GPU =
ROMs
> are
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 shadowed in system memory, it searches for=
 this shadowed
> version.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 So, drm won't be able to find the ROM if b=
us enumeration is
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disabled and refuses to load.
> 2. NIC passthrough
> =C2=A0=C2=A0 The ROM can contain a PXE driver which is required to PXE bo=
ot
> from
> =C2=A0=C2=A0 this device.
>=20
> Any feedback is appreciated.
>=20
>=20
> Thanks,
> Corvin
>=20
> Corvin K=C3=B6hne (3):
> =C2=A0 Revert "OvmfPkg/Bhyve: consume PciHostBridgeLibScan"
> =C2=A0 Revert "OvmfPkg/Bhyve: remove IncompatiblePciDeviceSupport DXE
> driver"
> =C2=A0 OvmfPkg/BhyveBhfPkg: enable bus enumeration
>=20
> =C2=A0OvmfPkg/Bhyve/BhyveX64.dsc | 4 ++--
> =C2=A0OvmfPkg/Bhyve/BhyveX64.fdf | 1 +
> =C2=A02 files changed, 3 insertions(+), 2 deletions(-)
>=20

If I don't get any feedback within a week, I'm going to send this patch
series to the EDKII project.


--=20
Kind regards,
Corvin

--=-5OA25i2laQRyTYNTrq86
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEgvRSla3m2t/H2U9G2FTaVjFeAmoFAmR/AsgACgkQ2FTaVjFe
Amojpg//V8nemvC2kSI9WHTd5pphxpvfVh+IPTqtSnBPFyd9f5Ag5OYD+5PG4xgW
tAUGmcE1BiYPapCExH+Hfx7GFPU+w5I2iPSLXIQYujJJs9vfox9KH+oLIv79SK23
aAa3dQyEOCC0ojj8Pq20aF+TBmwc04yt9HMSFOvepVQijHKpoqPoZiijutSm9Ozw
RJOxFT2oisVYN50eDbyzUR59XOpjZCTJd3YJEKCSeOf4EfhG64dqgrZjVLCWctD+
PKpthODCSFmH3tuclnmbQuLxWP+39ju1txe+7k4//rACsffAjnmq+TcbNkPWaRYM
jICUbxm21f7r1+Ti/eqpgb5DdJKRr5skeGxsqiJSASZsbxEFh20pxFrJW6odMlgV
vS+Kxuq5m9KKdvfRZfmAS/1xrIzt2IWOg3HLfOGJZuafCGlbksoZC444YOub624f
sGUDsENAOhkdojA2ISamPNHouzbOGcVJo8Bsp5HuS0c6iD7MGfQjMsG8flPN+urJ
UdddoT6R6hUH4mm3zajMytPtL9LsJXmy9+P3z5zpiyW0ZNQkDJ1KgS80a/sq4bJr
yi9+PBrwDoSefuX/zLWl8DqnaUoGoOzQ6IcoaHf7oLym3+xPWpJpwgAVybSNwIGt
GxTpspWAMJGUk3WJXLjsY8OOpFATVjiz0FCgLAEqEbCg/dLsOLg=
=lZfU
-----END PGP SIGNATURE-----

--=-5OA25i2laQRyTYNTrq86--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a6f50f6194507337e5459ae51262368511c19cf1.camel>