public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: "scott.wiginton@hpe.com" <scott.wiginton@hpe.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] Recent changes to EsrtFmp causing ASSERTs
Date: Mon, 21 Oct 2019 16:30:13 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B9DEEB73@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <25159.1571663531909616677@groups.io>

[-- Attachment #1: Type: text/plain, Size: 1681 bytes --]

Hi Scott,

I would agree that the current logic that checks for uniqueness applies to V3+ of an EFI_FIRMWARE_IMAGE_DESCRITOR.

Below V3, the HardwareInstance field does not exist, so I agree that the uniqueness check and ASSERT can not be done.  The language around V3 that introduced fields like HardwareInstance sites examples like PCI add-in cards as to why the field was added.  So I would not expect to see an FMP instance from a PCI add-in card that is below V3.

If we remove the uniqueness check and ASSERT at versions below V2, then we need to also review the capsule processing to determine how capsules are processed.  If the capsule has a non zero HardwareInstance and the FMP with the matching GUID is below V3, is the capsule ignored?  Perhaps only capsules with a zero HardwareInstance value can be dispatched to an FMP with version below V3?

Thanks,

Mike

From: scott.wiginton@hpe.com <scott.wiginton@hpe.com>
Sent: Monday, October 21, 2019 6:12 AM
To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] Recent changes to EsrtFmp causing ASSERTs

Michael,

Wouldn't the current implementation ASSERT if there are different plug-in cards by the same vendor using the same GUID in their FMP?  They are managing different hardware and have no knowledge of the existence of the other FMP instance.  Each FMP is only aware of the specific device on whose handle they are installed.  If they use FW image descriptors below version 2 (or they cannot determine a unique HW instance), this would always be 0.  Why would we want to ASSERT in this case?  What error condition is being caught?

Thanks,
SWig

[-- Attachment #2: Type: text/html, Size: 41996 bytes --]

      reply	other threads:[~2019-10-21 16:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-30 20:48 Recent changes to EsrtFmp causing ASSERTs jason.spottswood
2019-09-30 20:52 ` [edk2-devel] " Rothman, Michael A
2019-09-30 21:23   ` jason.spottswood
2019-10-01 16:49     ` Sean
2019-10-01 17:30     ` Michael D Kinney
2019-10-01 21:20       ` Spottswood, Jason
2019-10-02 15:12         ` Michael D Kinney
2019-10-18 21:52           ` scott.wiginton
2019-10-19  1:03             ` Michael D Kinney
2019-10-21 13:12               ` scott.wiginton
2019-10-21 16:30                 ` Michael D Kinney [this message]

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=E92EE9817A31E24EB0585FDF735412F5B9DEEB73@ORSMSX113.amr.corp.intel.com \
    --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