From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.78]) by mx.groups.io with SMTP id smtpd.web11.28025.1675268487794880443 for ; Wed, 01 Feb 2023 08:21:28 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=ue6uJDmt; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.94.78, mailfrom: jbrasen@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dBIPB4mdHjG2GdflDGLo63UJwfnQHf/CpGkEhniAWnxq7mvqVWvEr6jKDi6Qn1S9SOuS9oclnv8L+9rOBudOgDmzIJOWTmuQM7PWl96oc6slsHfe3PqpidP9K8HV38+bW0MmE0FOcMVRcfZSwSH5ixVHyiACEz4PRa7O5LLIJ3L2fC+SxMDJSnz0oF9v/P8kiYREfQYxyiM39t6EkOb7A9m8qgEDEDT4+h0WWU1pDyiDRPORUOTj+qb8Hr2jzAvnBR5iwLyruj30jreb8BioNiXyoRhwvOryJt8ZhwNcvpZjHDIQepTRCk7VLsCo+WXcFOI6alRaDRLYGDgYM8vW2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=SDI8XjKsWQpS5QVY3D/8Q6JbDPOV7ynJWnGlMTfTj1g=; b=L4a7voO5zJ6ns4yjYnxdJ+KW5cEMWs8UDXN9+XNaOav3j/kilnFI6+wSt3b5Ycaye/DYiLubxu+GVgg6XF8zjT82z8GJYEqTVev+L1JKFS+bmMtvvTZ9C24VfDldv/Ef5mbsw4fXVauWv4xYnvuzix3d73u6FIJBkpEGk2ZjXjNwhfuDgxKGuJdN98dg0q7nbPEPZQ25bKx1UhrnrLlKe0N1uFvyBzVHhu3o9lSjQes6LbGqtG6OVoHl41VYFNN5vLVZ1Chao7TkaccgI2pOhgRntR8HNOA5MBxT6GlksqkutGeDJ+pzEDbaSi6oJDw1WIyXQzjGDVRuqnFe+GpcAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SDI8XjKsWQpS5QVY3D/8Q6JbDPOV7ynJWnGlMTfTj1g=; b=ue6uJDmtAhqAGYwxpQIByJoDXbE5h/YeAVMGYUgoAbomuMtv4k15QhAFWnOjyOC/qoDoDjSpHGVzyI6/DdgcCU2kxN74bDNeZXAOT0ktMrOgc0iHDG9U2YxbK0V3H3tr/eUVt8YgsloQ2h81Tqy0VvFxEegoIjI+Nx75BuyDIe7QZAp5Kh/38c1GBkZ667P5j7E9L6k6I0nhViJKB+vhqO36e3QFK4qNzH51tQhPR73YttaUMuApGVthGSjU8sdAxvoIRuaJo5P8mtQ+qCBMdDqSED6oOR/9iTIR9Q05N4uNDk4YvM8G2WiA1ebDMYMLlHiyRIG++0iwhxOJWau8+Q== Received: from DS7PR12MB5789.namprd12.prod.outlook.com (2603:10b6:8:74::21) by MN0PR12MB6318.namprd12.prod.outlook.com (2603:10b6:208:3c1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.22; Wed, 1 Feb 2023 16:21:24 +0000 Received: from DS7PR12MB5789.namprd12.prod.outlook.com ([fe80::3d2e:1f83:5259:9893]) by DS7PR12MB5789.namprd12.prod.outlook.com ([fe80::3d2e:1f83:5259:9893%3]) with mapi id 15.20.6043.038; Wed, 1 Feb 2023 16:21:24 +0000 From: "Jeff Brasen" To: "devel@edk2.groups.io" CC: "jian.j.wang@intel.com" , "gaoliming@byosoft.com.cn" , "guomin.jiang@intel.com" Subject: Re: [PATCH v2] MdeModulePkg/EsrtFmpDxe: Support multiple devices with 0 HardwareInstance Thread-Topic: [PATCH v2] MdeModulePkg/EsrtFmpDxe: Support multiple devices with 0 HardwareInstance Thread-Index: AQHZDl/QhXMlNj8y/0e/PqccY8bHO666lZ4Q Date: Wed, 1 Feb 2023 16:21:23 +0000 Message-ID: References: <3c3226e6c05a868f3f88d300181a157998c2786e.1670873141.git.jbrasen@nvidia.com> In-Reply-To: <3c3226e6c05a868f3f88d300181a157998c2786e.1670873141.git.jbrasen@nvidia.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS7PR12MB5789:EE_|MN0PR12MB6318:EE_ x-ms-office365-filtering-correlation-id: f87c6ad4-b088-410d-852a-08db04705ca1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: QIK0t/LWe+l2Y4uzdIGyUdlL9Iue9W3vtKhnv05R24H8YE57fz/KmOd0hdKttfMrpqeA30qy+Z5WgkRkC6uEU3Ptf/daETbsKRwWkMgoaBSxFg2VaDBzggM6HY/0JLBaitUXnPREKVlJrVV3+D+deUd8cgxucqNVElAyujStU+q7Z2yb19Sa7fsSs8yPO2Arle3T97sN1N59wn0OYp864h5xRV2a8gdAkn8EViWIiGZTQqL4iuTGV3UXARBbUiAXwKySG2VY3eYWngKmaQksAfKDeQikTEs21YanahrQpaqm9w6iYb4veumygXjkdxiZ5uBBAIZXYYhCB+oBqPLTmaNul1hqUoKrkj/+rvzhGjfoNiyi50StpXd03MCr+HoIhxJuWM6Nm7b42EBtVFIuMAKc5SmuLPZYHN+dSg32ylJTDcyzAC6AjGWYyJM/qu+0M+M4zsRe0Cg5RrPF13sRtC5oS1qLwDvYI8lgoGFsaj66deapasXwpHvKx9/cScIsHt6pFHmjoCvHDINE8HXj8rcELFOKqQs4H3Kwjz9KCbrB8wlCEUDocSFgxJS34pFIITrwpv1BiN4ZbtF4KXU/3Ho7uaYLqCqNvTZRsrHDz9AyEe3REyBwSAeR1A9uqIAGGGS7HMk+CEuTW4RHWa7yWMnaSyhtb33Iyvzu6y6uRdY+ijFWsaud1aB+iDSIZ5mGKs4xr7olBVEAuSTs2l/QMQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5789.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(346002)(39860400002)(136003)(366004)(451199018)(41300700001)(71200400001)(38100700002)(54906003)(2906002)(38070700005)(5660300002)(316002)(53546011)(55016003)(33656002)(122000001)(186003)(6506007)(26005)(9686003)(7696005)(8936002)(4326008)(478600001)(66556008)(8676002)(66946007)(64756008)(66476007)(66446008)(86362001)(83380400001)(76116006)(6916009)(52536014);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?F72npXQMdBSbvdVkknlFGsCDbhIv4TPeNptbC4kEN5qFcrXUye+j5Q+7v/fI?= =?us-ascii?Q?QzTvCXFKW0DJAQrk+G7uy0gmAScSNzQL8ZLKuPhXqrhl59dRHwkKFlRHBoH0?= =?us-ascii?Q?iTAQMIhcnF+OSZhiUKJFpFGhC8yThJ8QEKCuZJdccwZ+r4Rf04FgdWflx1Ys?= =?us-ascii?Q?I2xcg6keijQpKkDXYDNrwMBZVDFLwgAtf/Unv1FnUXXHygxvRfakPkGzffWO?= =?us-ascii?Q?SiSZUQ6/swaB7sphOW3Facoao4Qw/c570ZdMHTRvPhuS8+jVv97r8mTeFPZR?= =?us-ascii?Q?ywYgQaFh+RDd0Pmqi8ovJZan9Ay/MdhAfjSigNf0tH3yq9VsIZ/WjYHlHx6w?= =?us-ascii?Q?JgqXv4/RDfsmQa+Cn9Y53HLd+p5+rnJ/Y7sTLMPvz7O20KC2g/IAd9XVnMah?= =?us-ascii?Q?oyx+r6/kKPoIaPGLhc0iRBpxEAg7TMeLIGICSb6FlswPtFKzZcGsloBXHboU?= =?us-ascii?Q?63QDxTSjTNt8A8upV4A/MfMLcIgIthmR5fAsclYuN16bsJfKWDZzZArXY2V7?= =?us-ascii?Q?FW9qCK2T5bv2JkecY3XUp1Riul9MGAimnsaWabg3Av+MT36HrErixgElfOnX?= =?us-ascii?Q?uzuXZW0Fs8HWhDtbCnJJzMEBpUaXWbERzvYxpwPczNUnrTrA2wzz3utsBT4e?= =?us-ascii?Q?n2lT88MnOzvNp2Bw7AMtlJYAh/FKxzaIZlcS2sE8DtnYdxJgIYvy8xdLqoTK?= =?us-ascii?Q?YsphvLILZWGtHLV+VncwtQsr7jpRZTfixrbOILfhbZM9ioPGJ7klRSSLafp9?= =?us-ascii?Q?+Qe++zU+M1wvcq3YplaKTV4MoDCZV9Wc7dVo5zt4bxjKz+W6B1g8Io8ww0ym?= =?us-ascii?Q?Kef7c7ebM7xQrlrRbwVmlwnh1tFo1VzwAp2bQL3CC1VpiVmOG3X8srlj017G?= =?us-ascii?Q?XUHRTkhVQykVMB5Nsnr6E7YwfvrYPTw1TnpDSVd+0C0T2wfdD1hlBuPjEvcj?= =?us-ascii?Q?79MsMMmRnGSnP1NbQA+u/GbpyppRnrWBswQ4rYLDVOhskm9ZIW3bxD+Dr2Ym?= =?us-ascii?Q?bRi5O14E6ZUApCIltotamPa9vtWrIN1r40RwOjLdn/otsDO08cvsXQKmedE8?= =?us-ascii?Q?GRVOM554VEsj8Scl8ZqfBELQplAqN6EMh6E9XyF+W1aqvKaqabupUQ/odrP3?= =?us-ascii?Q?Xc6l5armTdmjvE+sJdHrzMszWsBy+5/l1kex3vLYICPE5XzHqHm0J/UcErAP?= =?us-ascii?Q?zrz9pQcBQkyTBBGlquMVcv7YJ6TWq2B1lU4zkPSioNsm9UnXsg2epbX91CCG?= =?us-ascii?Q?c4KcNPr1dgxYHD+cOnD3VamSzs4fCdiK8/xlLcANl9snXvDVLw/k5Jr2Ablg?= =?us-ascii?Q?jfovlrS3Um+0lD/Gh/oaRVLsNQQt7GK/UIbNHz6f/AFg617FSOaelZAGgctm?= =?us-ascii?Q?31VPfPD1PYT9Lgs4uJjY44Psv+dREOTRXB57UPTvY2JpswccMFwnInaOdA/U?= =?us-ascii?Q?HH2KKArVEZhJTviZthGfO4Nrh87qb6QjFqpeuw4sox69nv9vbXUyKuZ/SopV?= =?us-ascii?Q?OlBrGBoBHNevyyBrCPalk7/1uKa64HMHtVDahuFM0tswQvEcTHpb392xCJal?= =?us-ascii?Q?5gpOR3siaLFRIDR/gAhSLs2ZZ0S9+jQJmZdhbUhz?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5789.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f87c6ad4-b088-410d-852a-08db04705ca1 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 16:21:23.9525 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: DjB9fDuNbA1+C56rqoVcIkhx1vvUjrLLDnC9fFdwvKqPEgDRS4zmiQlRoAwl3EVAxr2Xa5Ic2z6S69+zCqMHew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6318 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Any updates on this would be great to get this in for the next stable relea= se if possible. > -----Original Message----- > From: Jeff Brasen > Sent: Monday, December 12, 2022 12:27 PM > To: devel@edk2.groups.io > Cc: jian.j.wang@intel.com; gaoliming@byosoft.com.cn; > guomin.jiang@intel.com; Jeff Brasen > Subject: [PATCH v2] MdeModulePkg/EsrtFmpDxe: Support multiple devices > with 0 HardwareInstance >=20 > Skip error check if HardwareInstance is 0 as this either means that > FmpVersion < 3 and not supported or, "A zero means the FMP provider is no= t > able to determine a unique hardware instance number or a hardware > instance number is not needed." per UEFI specification. >=20 > As the FmpInstances are merged and HardwareInstance is not used remove > error check in this case. >=20 >=20 > Signed-off-by: Jeff Brasen > --- > MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c | 22 ++++++++++++------ > --- > 1 file changed, 13 insertions(+), 9 deletions(-) >=20 > diff --git a/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c > b/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c > index 4f47c55cce..5bc627461d 100644 > --- a/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c > +++ b/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c > @@ -153,16 +153,20 @@ CreateEsrtEntry ( >=20 > // > // Check to see of FmpImageInfoBuf GUID/HardwareInstance is unique > + // Skip if HardwareInstance is 0 as this is the case if FmpVersion < > + 3 // or the device can not create a unique ID per UEFI specification > // > - for (Index =3D 0; Index < *NumberOfDescriptors; Index++) { > - if (CompareGuid (&HardwareInstances[Index].ImageTypeGuid, > &FmpImageInfoBuf->ImageTypeId)) { > - if (HardwareInstances[Index].HardwareInstance =3D=3D > FmpHardwareInstance) { > - DEBUG ((DEBUG_ERROR, "EsrtFmpDxe: Duplicate firmware image > descriptor with GUID %g HardwareInstance:0x%x\n", &FmpImageInfoBuf- > >ImageTypeId, FmpHardwareInstance)); > - ASSERT ( > - !CompareGuid (&HardwareInstances[Index].ImageTypeGuid, > &FmpImageInfoBuf->ImageTypeId) || > - HardwareInstances[Index].HardwareInstance !=3D > FmpHardwareInstance > - ); > - return EFI_UNSUPPORTED; > + if (FmpHardwareInstance !=3D 0) { > + for (Index =3D 0; Index < *NumberOfDescriptors; Index++) { > + if (CompareGuid (&HardwareInstances[Index].ImageTypeGuid, > &FmpImageInfoBuf->ImageTypeId)) { > + if (HardwareInstances[Index].HardwareInstance =3D=3D > FmpHardwareInstance) { > + DEBUG ((DEBUG_ERROR, "EsrtFmpDxe: Duplicate firmware image > descriptor with GUID %g HardwareInstance:0x%x\n", &FmpImageInfoBuf- > >ImageTypeId, FmpHardwareInstance)); > + ASSERT ( > + !CompareGuid (&HardwareInstances[Index].ImageTypeGuid, > &FmpImageInfoBuf->ImageTypeId) || > + HardwareInstances[Index].HardwareInstance !=3D > FmpHardwareInstance > + ); > + return EFI_UNSUPPORTED; > + } > } > } > } > -- > 2.25.1