[edk2-devel] [PATCH 1/1] ArmVirtPkg: Include NVMe support in ArmVirtQemu*

Leif Lindholm leif at nuviainc.com
Thu Apr 9 14:53:59 UTC 2020


On Thu, Apr 09, 2020 at 15:56:20 +0200, Laszlo Ersek wrote:
> On 04/09/20 14:10, Leif Lindholm wrote:
> > From: Leendert van Doorn <leendert at microsoft.com>
> > 
> > Enable conditional support for NVMe storage in ArmVirtQemu/
> > QemVirtQemuKernel in order to simplify booting/installing operating
> > systems that don't support virtio.
> 
> (1) We also have UsbMassStorageDxe in ArmVirtQemu*, which can drive
> QEMU's "usb-storage" device model.
> 
> In case that device+driver combo has been tested too, and
> unsuccessfully, then I suggest explicitly stating in the commit message:
> "don't support virtio or usb-storage".

Well, in this particular case we were more interested in the (much)
lower protocol overhead. But that is a very good point in general.

> If UsbMassStorageDxe has *not* been tested, then I agree it should not
> be mentioned here at all.

I have not, but I'll chuck it on the pile of stuff to test at some
point.

> For more details -- in case someone is interested in testing
> "usb-storage" --, please refer to commit f9c59fa44ae2
> ("OvmfPkg/QemuBootOrderLib: recognize "usb-storage" devices in XHCI
> ports", 2017-09-22). That commit message includes both QEMU command line
> and libvirt domain XML examples.

Thanks!

> > [Conditionalised driver inclusion]
> > Signed-off-by: Leif Lindholm <leif at nuviainc.com>
> > ---
> >  ArmVirtPkg/ArmVirtQemu.dsc           | 8 ++++++++
> >  ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 7 +++++++
> >  ArmVirtPkg/ArmVirtQemuKernel.dsc     | 8 ++++++++
> >  3 files changed, 23 insertions(+)
> 
> (2) I realize I'm being arbitrary, with regard to what driver should be
> conditional and what should always be there. But in OvmfPkg,
> NvmExpressDxe is included unconditionally, and I think that should work
> here too.
> 
> Of course, if you *want* to make NvmExpressDxe excludable from the
> ArmVirtQemu* platforms, then I'm fine with that.

I don't. I just succumbed to premature optimization.
Do you want to see a v2, or do I drop the bits before submission?

Regards,

Leif

> So, I'm proposing (1) and (2) only as food for thought; dependent on
> your stance on them, I'm OK with this patch:
> 
> Reviewed-by: Laszlo Ersek <lersek at redhat.com>
> 
> Thanks,
> Laszlo
> 
> > diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
> > index 8c77fc46427b..6f93032ac064 100644
> > --- a/ArmVirtPkg/ArmVirtQemu.dsc
> > +++ b/ArmVirtPkg/ArmVirtQemu.dsc
> > @@ -28,6 +28,7 @@ [Defines]
> >    # -D FLAG=VALUE
> >    #
> >    DEFINE TTY_TERMINAL            = FALSE
> > +  DEFINE NVME_ENABLE             = FALSE
> >    DEFINE SECURE_BOOT_ENABLE      = FALSE
> >    DEFINE TPM2_ENABLE             = FALSE
> >    DEFINE TPM2_CONFIG_ENABLE      = FALSE
> > @@ -447,6 +448,13 @@ [Components.common]
> >    MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
> >    MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
> >  
> > +  #
> > +  # NVME Driver
> > +  #
> > +!if $(NVME_ENABLE) == TRUE
> > +  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
> > +!endif
> > +
> >    #
> >    # SMBIOS Support
> >    #
> > diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> > index aaba0b1c8840..45f0dd65be33 100644
> > --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> > +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
> > @@ -128,6 +128,13 @@ [FV.FvMain]
> >    INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
> >    INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
> >  
> > +  #
> > +  # NVME Driver
> > +  #
> > +!if $(NVME_ENABLE) == TRUE
> > +  INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
> > +!endif
> > +
> >    #
> >    # SMBIOS Support
> >    #
> > diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
> > index 4d82a77213ec..5dd4b1cf29f4 100644
> > --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
> > +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
> > @@ -28,6 +28,7 @@ [Defines]
> >    # -D FLAG=VALUE
> >    #
> >    DEFINE TTY_TERMINAL            = FALSE
> > +  DEFINE NVME_ENABLE             = FALSE
> >    DEFINE SECURE_BOOT_ENABLE      = FALSE
> >  
> >    #
> > @@ -382,6 +383,13 @@ [Components.common]
> >    MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
> >    MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
> >  
> > +  #
> > +  # NVME Driver
> > +  #
> > +!if $(NVME_ENABLE) == TRUE
> > +  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
> > +!endif
> > +
> >    #
> >    # SMBIOS Support
> >    #
> > 
> 

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

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