[edk2-devel] [PATCH v3 00/13] OvmfPkg: Support booting from Fusion-MPT SCSI controllers

Liran Alon liran.alon at oracle.com
Fri Mar 6 21:52:42 UTC 2020


Hi Lazlo,

On 06/03/2020 22:14, Laszlo Ersek wrote:
> Hi Nikita,
>
> On 03/04/20 20:22, Nikita Leshenko wrote:
>> This series adds driver support for:
>> - LSI53C1030
>> - SAS1068
>> - SAS1068E
>>
>> These controllers are widely supported by QEMU, VirtualBox and VMWare.
>> This work is part of the more general agenda of enhancing OVMF boot
>> device support to have feature parity with SeaBIOS.
>>
>> We have also developed support for PVSCSI which we will submit in a
>> separate patch series.
> I'd like to learn more of this general agenda ("feature parity with
> SeaBIOS"). I have never felt the need for any SCSI controller offered by
> QEMU other than virtio-scsi.
>
> Because you guys are contributing Fusion-MPT and PVSCSI to OVMF,
> obviously such a practical need must exist ("feature parity with
> SeaBIOS" is vague, I'm not really buying it :) ).

The motivation behind supporting booting from these devices is being 
able to run VMs that originally run on other hypervisors, such as VMware 
ESXi, on top of QEMU/KVM without any changes to the image (In contrast 
to approaches such as virt-v2v, Amazon CloudEndure or Google 
Velostrata). This technology was developed in Ravello Systems (Acquired 
by Oracle), which offered a product to run VMware-based images on top of 
any public cloud without any modification to the VMs.
This is also why you would also see QEMU PVSCSI device emulation and 
SeaBIOS PVSCSI driver were contributed by Ravello as-well.

Similar work to Ravello was done by Virtuozzo for Hyper-V based VMs (See 
their enhancements to QEMU of emulating Hyper-V PV devices). They also 
have EDK2 drivers for these devices that are not upstream.

Having said that, it is true that these two patch-series provide feature 
parity with SeaBIOS. I do believe that it makes sense OVMF will support 
booting from any storage device that QEMU is able to emulate. Especially 
if SeaBIOS is already able to boot from that device as-well.

>
> So I have two requests:
>
> (1) please describe the actual use case (hypervisor, guest OS, maybe
> performance, etc) for these drivers, in the associated bugzilla,

I don't think the description we have written in the relevant BugZilla 
tickets should change much. It's still true that these are contributed 
as part of feature-parity with SeaBIOS and allowing to boot from these 
devices. How one use this depends on it's own use-case. It could be to 
be able to boot VMware-based VMs as-is under QEMU/KVM, but it could also 
be used to boot a VM with a PVSCSI controller that was originally 
created with QEMU/KVM.

This is similar to upstream commit c137d9508169 ("OvmfPkg/QemuVideoDxe: 
VMWare SVGA device support") which added support for VMware-SVGA GPU.

>
> (2) please make the inclusion of these drivers in the OVMF DSC and FDF
> files dependent on a new build flag (-D). It's up to you whether you
> want to gate PVSCSI and Fusion-MPT with the same flag, or if you want to
> assign separate flags to them.
>
> It's fine if the default value is TRUE, for that flag (those flags). I'm
> asking for them from a downstream perspective -- some distros follow a
> "we ship it, we support it" model, and so they must be careful with
> rebases to new usptream releases. I'd like to permit such downstreams to
> easily disable these drivers, with just -D flags, without
> downstream-only patches for the OVMF DSC and FDF files, that might need
> repeated downstream rebasing and review.
>
> Again, it's perfectly fine if the upstream defaults are TRUE.
>
> ... If you feel tempted to point out the Xen paravirt drivers: you are
> entirely right, but those are already covered by
> <https://urldefense.com/v3/__https://bugzilla.tianocore.org/show_bug.cgi?id=2122__;!!GqivPVa7Brio!JJpn5PCAL9AX7xdt4qLhQJMF7L19-QEEbGF_o9bHTGsccK6a5AeDD0-_j3_UPCk$ >.

Funny. I was about to point out that the Xen PV drivers are not 
conditioned by any flag! :)

OK. I think it's appropriate we will add a separate flag for each device 
and make them both TRUE by default (As I think should be appropriate for 
any device built-in by default into QEMU).

Thanks,
-Liran

>
> Thanks!
> Laszlo
>

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#55620): https://edk2.groups.io/g/devel/message/55620
Mute This Topic: https://groups.io/mt/71733479/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