From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.6082.1646885727252544568 for ; Wed, 09 Mar 2022 20:15:28 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=hCeFEBMY; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646885727; x=1678421727; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1oht3O3O8xde7f8ezsAtX+uA66Zt1zC4dhSd+zZnEI8=; b=hCeFEBMYPMW4/ya9ocOsHcDb/bwgfEN0pzriErsKR9a4a2cza8F9lQMT TYu0jY5457PWSHWrgWf/r3R7KOX2g9uR4q8yePRijF/rPHxyzaLlByuVR jPSHSk134ZKnghOSQ0gWbH0ZsvfBLtm0l+TMPUwOnEqPfVgEbpVXqQxZ0 On3Kt8eCu6gsfh1dTt1KGGxTFGA+5a0fL3bvtrg50/jQrOKPqCxBnSJp7 s3HKnk99yjgsjsUIhX79BpusvxtbLClTqMNBSFVMJ8FwZ6i3HbDctJRP3 alRVfxhMJ+E7yElhvhDWpAAtHHzmetyc89TgRBkbRp19Z8Jh/7yKWF2Ke g==; X-IronPort-AV: E=McAfee;i="6200,9189,10281"; a="252724365" X-IronPort-AV: E=Sophos;i="5.90,169,1643702400"; d="scan'208";a="252724365" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2022 20:15:26 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,169,1643702400"; d="scan'208";a="547880082" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga007.fm.intel.com with ESMTP; 09 Mar 2022 20:15:26 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Wed, 9 Mar 2022 20:15:17 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Wed, 9 Mar 2022 20:15:17 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Wed, 9 Mar 2022 20:15:16 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TWsSukNeZBSvyKanSohxB3dAnX/8HnSh1yngGDGph4lRSTOUsZ3Es/z8PRtPiSneLg1oC9OVQt/jFYsQrcDaJD4DRGEUn+BVBQBGaUoBIKZ7WwEHZsswj7fKw24OqVFzzLVzlTi5Sqfwi4FdUoCMHnBECPuMMlTzVhfWgaa34sNssm1V/ESuENddqtn01dF9xjp5VDVSo2Fz0R4iv767fr6P9yxlUoWH8rIzIiKBd//QI9a6u+MSSEmurusLh4TwwomuQQZyxqcS8xi0/WTfYZXrAoHdvFVndn0snZ3ZypWbI2QHS94HI0EVP6IogN1U/lcp/bJ2KDSusR/wBhU/zg== 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=7bh2ELzeQ5KQGzkrU05+ljuFduXC3sOKz/dsjuK4y68=; b=ZQtoeCmsj9kb8gRWRqxJyJB5CvCmOLIw7jTxbvabyFq1wscSEnMYFrUcCPezaDErI8QJqoncnwYVnwXfo8MA3cITJfBV02X2VpDkgvlIxAXCYgD1dHsAb3jhRvvyvCShoBAVFYNf6i5R9r8NLSnUHWV+EbjYwnYQPDzDC81zikjbARGuNIlvK7dRMGMjuT/x63BwvAg78y6Kz10hmFbn8i8MmOg2prLMR07U54BWMEclf0Xd4EAM6srEPSDnqBv5kawe0bYpnkDjPfkAoQntyskQYmwINzg9GA/hCNoSXZ7J8q57FGMK5tW5WbNeqWathWjTD+XatDZ7IpDOGboU4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by PH0PR11MB5048.namprd11.prod.outlook.com (2603:10b6:510:3d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.17; Thu, 10 Mar 2022 04:15:14 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::99b6:d326:2925:4d2f]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::99b6:d326:2925:4d2f%3]) with mapi id 15.20.5038.027; Thu, 10 Mar 2022 04:15:13 +0000 From: "Ni, Ray" To: "Kuo, Ted" , "devel@edk2.groups.io" CC: "De, Debkumar" , "Han, Harry" , "West, Catharine" Subject: Re: [edk2-devel][PATCH] UefiCpuPkg: Support FFS3 GUID in SearchForBfvBase.asm Thread-Topic: [edk2-devel][PATCH] UefiCpuPkg: Support FFS3 GUID in SearchForBfvBase.asm Thread-Index: AQHYMjHJaSuBk2k9x0yM+Ge3WBcs7qy39VrA Date: Thu, 10 Mar 2022 04:15:13 +0000 Message-ID: References: <5a3a880ffa4a521565192ca5eda35d0b93625067.1646664121.git.ted.kuo@intel.com> In-Reply-To: <5a3a880ffa4a521565192ca5eda35d0b93625067.1646664121.git.ted.kuo@intel.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=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6723bd75-f128-48fe-29d8-08da024c9343 x-ms-traffictypediagnostic: PH0PR11MB5048:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rnlYVYi+Mn11UTe6zuu0cvYT4B17ANuV57vJbKNmfdLJSl1/0fGLTPZGsYD2PuNjwaGTOqKS9gPZLdGhhjMLFRmKC/QveTAG/hTsHiluKS2ow3m7DetzfVRNYxxUmAJGTss2bQQsnyaeedjSzXJGETAdUa2WeDzqj8MK8K+UVTVIw/R2skbzeeuEwHt+RBtaNqo2DkvfEuyoi8Ci9qHrvy5VbPgoBW0skQl9JEwfiQnT48lOGCubnUWH2TMYQSs2V6sTGKM5LpU1rDkWGc0LPChi21xYJqTRnQdLotk8eHnMnZ85xxTBxp/dJ2HhNs4NFDN2CDSEDVfc3rCVOZErFzbVdkC9yjrRyEgf0Me6PXvao35JaF4yAYcth9p0L6FHeK6bFa4dDqRjL/NwXahK//qS/6r+V6tFADJBTGmll10J7V7VW9WE1id8MG4tX+vn6A+NB42qR6c31yqpbqkXxGjmFs2y7f2V+EegIEnCIGFZaTLGzfpt619ahP64FXIu7GpXuJOhmEZ5uds5JG8ZWUNY0OwE4vpmpsJ+F/Ay/GSMSQZWTYxLEmstjanMEHaXfHDiJtuO9jADRiW+zfE5/iK6zHt7GvTy4Osc2pyxrJpaWry39F1DyPSMfceMw68vL8CMpiKqFyLKmml5oViaTScmExcjResZlrT9wxTM++9g0HeMA9o2uCmtcJ34pTINyg49iggBlNYixN5gPjElCg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(66556008)(9686003)(4326008)(66476007)(38070700005)(76116006)(66946007)(64756008)(8936002)(66446008)(38100700002)(107886003)(55016003)(8676002)(82960400001)(508600001)(110136005)(19627235002)(33656002)(54906003)(122000001)(26005)(186003)(6506007)(71200400001)(2906002)(5660300002)(86362001)(316002)(52536014)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?p8i1UtKIlEy0BG87YI+vD59TpwcNz6Ap/elnWNGtYWpkJWAVJB0MJruCIfP+?= =?us-ascii?Q?DYZ8WPQGKOWzWbsL8SbmeEgN56mHU1U6OSAMkaXKKeaGVR2l/AUeR9pmNloH?= =?us-ascii?Q?geEGmAPgPTdM63Y9eqIEZU7C3yUK+Dsi9/RTIW8e0JOXfsec2phYwq3xM5Nm?= =?us-ascii?Q?bxwOSuPMq97tJL7PCVqKGeCrcLJI4G3XGG4ypO/yBEmhrVSJlW23c/N7FEhw?= =?us-ascii?Q?/cASrV77hcjOQhqfThhZaAatPftISML+llWXjQ2/0TpQjstJLFR3SEwVbUwq?= =?us-ascii?Q?0bVr/wWhKOPYn2zsPqask6QP2Z2Iy1xdVitYo6aJ6aoIRRmX0iuB/rmF8eUK?= =?us-ascii?Q?xkVoaevdbvgYIOWK+oeWJQj6RjCZA/p8QwNlqCuXBO2gU5+WAOg8iT7jwQzN?= =?us-ascii?Q?rZYhcERJVFaQyMKmgf8gDuARCkjOb57reI4CGr/g7kMcGWqqj6FPLi7fngE5?= =?us-ascii?Q?jEt2FqmNbdcpjZnLKeDCNuXeoye4obKY0mhcOk1mV+J25WnqMenK6pDGKbJH?= =?us-ascii?Q?xTQEggsxQJK6X48wcA1J5bC4WY8IMAYgzcIWJbJMA92ez5U5LfMM1BNNeb5N?= =?us-ascii?Q?E+SdcmBuPryyP8Gvd0TrUeL9kPDw8ELY2RjC2SJkeAczoT4eBMcamDOHyvwA?= =?us-ascii?Q?rZSbp13rcmg6ThhHuXS6tC2YDSiFOKPqDSiSZsyOMoeALlHbf/iLGBiJxRLE?= =?us-ascii?Q?Jm30UqO8bUV5b/AG5TbcLc1vQF6onq+vDAdYUTte4/zTvFlCra1BZQdYX6LK?= =?us-ascii?Q?MdXR2mHfZhdpuReQHjYSX77+g65sHddpY6vVXfbN9vdYfAy28YjDise4yStz?= =?us-ascii?Q?rOgQVbKx8hqvuC3jqJZ5ohgtlpLeiUSSP1vXml1HtBbqcHdXmrL2pLkjx6Vf?= =?us-ascii?Q?2DUpOy0D5erBDfGDpd/2wrp43a3xbnaoHXDnKnxj3FykeYWjcU5kKzFEXgHG?= =?us-ascii?Q?9F1IwsuDFxOC98rwbyezCNdQGXPRMkYb0RRpzmHQvIEYuHOawwtVN41TY5IQ?= =?us-ascii?Q?WyPbGwxZmmXSOF8gZIFgFYtfwnhJycD7RymytmWI41ZAaq9UVoEE7nIXnZbs?= =?us-ascii?Q?wGjAHk4xR6IGyzaOPLJ1cBOaOGHbWuWn0W2Y/rXRkawXXoxv3TucEvuUj1fo?= =?us-ascii?Q?FG1RNJie4t7zW6x130C4CkDSaR8sINba7xNmro3or91X4eaM8tTN+tdcGHZg?= =?us-ascii?Q?bgPzAq2spFyi1QAAtKVyFsyQoj3xgTVqO2oQHpopRGY0Bua2ZPmg2tXsayFY?= =?us-ascii?Q?Y+mFRioVMh1iWPL9U4UpJWAFJbdCwVQVuYi4RrdYkHufxASL2aYOPoTjRM8Y?= =?us-ascii?Q?qqdmXADhohA9RBTD0eme5N56zrZ1p/PAmlS1io6fQfbWXJG/GYUKdZJYuR3S?= =?us-ascii?Q?75+bsMzvbO0dmzzhegjrpEQclM9/2cdp2I1L0Ljl6e1hJlqTIWbt+K3s2q17?= =?us-ascii?Q?DLTfWc3CUK+hs56TApS67tz36h/YhDRvwLi/IZbqOTYuxlz2wgY8tFpgOTO4?= =?us-ascii?Q?DUZHKCH43vaiIPbguN+AJTBmOd6Lsr6O8m8CBbpCoCvdOKkm5nQL9wUOszsC?= =?us-ascii?Q?yD+1cgx7rFFGNvqgHGwdyQ+bnhlSltU8o+lTw9j/VcispBNVLMTZV9Rp7E+L?= =?us-ascii?Q?UU7RUBdROM7RYbup3k6jqp0=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6723bd75-f128-48fe-29d8-08da024c9343 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2022 04:15:13.6206 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yHIdpKOKNh97GFltkO7h+VdV3FXZ3Qb+YJFacdl+0QJmJ4gtZU9FGO+kquKskGZAhMSN91av647CeROyBTZssg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5048 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 3 comments starting with "[Ray]". ;#define EFI_FIRMWARE_FILE_SYSTEM2_GUID \ ; { 0x8c8ce578, 0x8a3d, 0x4f1c, { 0x99, 0x35, 0x89, 0x61, 0x85, 0xc3, 0x2= d, 0xd3 } } -%define FFS_GUID_DWORD0 0x8c8ce578 -%define FFS_GUID_DWORD1 0x4f1c8a3d -%define FFS_GUID_DWORD2 0x61893599 -%define FFS_GUID_DWORD3 0xd32dc385 +%define FFS2_GUID_DWORD0 0x8c8ce578 +%define FFS2_GUID_DWORD1 0x4f1c8a3d +%define FFS2_GUID_DWORD2 0x61893599 +%define FFS2_GUID_DWORD3 0xd32dc385 + +;#define EFI_FIRMWARE_FILE_SYSTEM3_GUID \ +; { 0x8c8ce578, 0x3dcb, 0x4dca, { 0xbd, 0x6f, 0x1e, 0x96, 0x89, 0xe7, 0x3= 4, 0x9a } } +%define FFS3_GUID_DWORD0 0x5473c07a +%define FFS3_GUID_DWORD1 0x4dca3dcb +%define FFS3_GUID_DWORD2 0x961e6fbd +%define FFS3_GUID_DWORD3 0x9a34e789 [Ray] 1. I am not sure if it's the best representation of GUID in NASM? I a= m not the NASM expert. If there is no recommendation, I am ok with this. =20 BITS 32 =20 @@ -25,6 +32,7 @@ BITS 32 Flat32SearchForBfvBase: =20 xor eax, eax + mov ecx, 2 ; 2: FFS3 GUID, 1: FFS2 GUID, 0: Not Found [Ray] 2. Can you map ECX 2 to FFS2 GUID, ECX 3 to FFS3 GUID? searchingForBfvHeaderLoop: ; ; We check for a firmware volume at every 4KB address in the top 16MB @@ -32,20 +40,37 @@ searchingForBfvHeaderLoop: ; sub eax, 0x1000 cmp eax, 0xff000000 - jb searchedForBfvHeaderButNotFound + jb searchingForBfvWithOtherFfsGuid + cmp ecx, 2 + jne searchingForFfs2Guid =20 ; - ; Check FFS GUID + ; Check FFS3 GUID ; - cmp dword [eax + 0x10], FFS_GUID_DWORD0 + cmp dword [eax + 0x10], FFS3_GUID_DWORD0 jne searchingForBfvHeaderLoop - cmp dword [eax + 0x14], FFS_GUID_DWORD1 + cmp dword [eax + 0x14], FFS3_GUID_DWORD1 jne searchingForBfvHeaderLoop - cmp dword [eax + 0x18], FFS_GUID_DWORD2 + cmp dword [eax + 0x18], FFS3_GUID_DWORD2 jne searchingForBfvHeaderLoop - cmp dword [eax + 0x1c], FFS_GUID_DWORD3 + cmp dword [eax + 0x1c], FFS3_GUID_DWORD3 jne searchingForBfvHeaderLoop + jmp checkingFvLength =20 +searchingForFfs2Guid: + ; + ; Check FFS2 GUID + ; + cmp dword [eax + 0x10], FFS2_GUID_DWORD0 + jne searchingForBfvHeaderLoop + cmp dword [eax + 0x14], FFS2_GUID_DWORD1 + jne searchingForBfvHeaderLoop + cmp dword [eax + 0x18], FFS2_GUID_DWORD2 + jne searchingForBfvHeaderLoop + cmp dword [eax + 0x1c], FFS2_GUID_DWORD3 + jne searchingForBfvHeaderLoop + +checkingFvLength: [Ray] 3. Why is this label added? ; ; Check FV Length ; @@ -57,6 +82,12 @@ searchingForBfvHeaderLoop: =20 jmp searchedForBfvHeaderAndItWasFound =20 +searchingForBfvWithOtherFfsGuid: + xor eax, eax + dec ecx + cmp ecx, 0 + jne searchingForBfvHeaderLoop + searchedForBfvHeaderButNotFound: ; ; Hang if the SEC entry point was not found --=20 2.16.2.windows.1