public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <leif@nuviainc.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: devel@edk2.groups.io, Ard Biesheuvel <ard.biesheuvel@arm.com>,
	Leendert van Doorn <leendert@microsoft.com>
Subject: Re: [PATCH 1/1] ArmVirtPkg: Include NVMe support in ArmVirtQemu*
Date: Thu, 9 Apr 2020 15:53:59 +0100	[thread overview]
Message-ID: <20200409145359.GD14075@vanye> (raw)
In-Reply-To: <728eab99-1b9f-6fc8-c566-b5ef6f8b5c0b@redhat.com>

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@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@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@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
> >    #
> > 
> 

  reply	other threads:[~2020-04-09 14:54 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-09 12:10 [PATCH 1/1] ArmVirtPkg: Include NVMe support in ArmVirtQemu* Leif Lindholm
2020-04-09 13:07 ` Ard Biesheuvel
2020-04-09 14:31   ` Leif Lindholm
2020-04-09 14:36     ` Ard Biesheuvel
2020-04-09 13:56 ` Laszlo Ersek
2020-04-09 14:53   ` Leif Lindholm [this message]
2020-04-09 17:43     ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200409145359.GD14075@vanye \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox