[edk2-devel] Where to put the bhyve code in the edk2 repo: BhyvePkg, or under OvmfPkg?
Ard Biesheuvel
ard.biesheuvel at arm.com
Mon May 11 16:20:39 UTC 2020
On 5/11/20 5:55 PM, Laszlo Ersek wrote:
> (CC'ing Ard and Jordan.)
>
> On 05/08/20 17:44, Rebecca Cran wrote:
>> During the Community Meeting last night, I was asked to send this email
>> starting a discussion about where to put the bhyve code in the edk2
>> tree: whether it should be in a new BhyvePkg, or added under OvmfPkg.
>
> I prefer a top-level BhyvePkg.
>
> If most edk2 consumers wouldn't like to see a top-level BhyvePkg
> directory, I can certainly live with OvmfPkg/Bhyve.
>
> I can also live with OvmfPkg/Bhyve*, OvmfPkg/Library/Bhyve*, etc, modules.
>
> So I guess these would be my choices in decreasing order of preference.
> (To be clear, I consider my option#3 still a lot better than not having
> bhyve support in upstream edk2 at all.)
>
> In either case, "Maintainers.txt" should get a new section listing the
> bhyve-specific modules as being under your and Peter Grehan's
> reviewership ("R").
>
>> It
>> appears it's already been decided it should be in edk2 along with the
>> other virtual platforms and not edk2-platforms, where code for physical
>> platforms will reside.
>
> I haven't been aware that this is a done deal, but if it is, it makes me
> glad! I've always wanted bhyve stuff to be in edk2 and not in
> edk2-platforms.
>
I think it is a good thing to have support for virtual platforms in core
EDK2, given that such a platform is only a download away for anyone who
wants to try it. I am strongly opposed to the idea that core EDK2 should
just be a repository of bits and pieces that platforms can incorporate,
especially because it can make regressions unsolveable once we get
ourselves into a state where reverting some patch fixes a problem on one
platform and creates one on another.
However, I don't think every platforms in core EDK2 can be a first class
citizen. There is simply no way we can expect contributors to make sure
that their changes don't break under Bhyve, and the same will be true
once (if) we merge kvmtool guest support, which is under development as
well (given that it supports virtualization only, and so unlike QEMU,
which supports emulation as well, it requires a native host)
So I agree that it makes sense to incorporate Bhyve into core EDK2, but
we have to decide on some rules regarding 'second class' platforms:
how/when to test them, and how urgently we treat regressions found
during such testing. We can treat ArmVirtXen the same way, imo, as well
as KvmTool when it lands.
Whether we create a BhyvePkg depends on our future intent wrt merging
OVMF with other virtual platforms. I think it would make sense for the
ArmVirtPkg and OvmfPkg to be merged at some point, at which time it will
probably make little sense to have a separate BhyvePkg. But I'm not sure
what Laszlo's take is on this.
In summary, I can live with any of these options, as long as the
underlying rules and assumptions are clarified.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#59135): https://edk2.groups.io/g/devel/message/59135
Mute This Topic: https://groups.io/mt/74075377/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list