From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.19666.1661904722687377565 for ; Tue, 30 Aug 2022 17:12:02 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=bEL/wist; spf=permerror, err=too many SPF records (domain: intel.com, ip: 134.134.136.126, mailfrom: nathaniel.l.desimone@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661904722; x=1693440722; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=5m25BZv7XmrcCXNzVzbZ7oMOgcOasRUtzBX1R7efmlk=; b=bEL/wistkzNfR4y6+70ueEa8iz+WnWcePBfHvhJ0gWnsTNm9ycvtt4gY 76OR1LGCuctsNmkhWPAdYYDVfSbksbB5ADM0UHFklQnC2Xam6MSzW7nnn gPfckfxBzmZWZ1BuygFmSi8PObWethoC1iOyeA+aM1MvUAGawk2Uf7iNH UYXnx/Hbx/IlnLptyd+hSj9FSsyXpD4nZY1xCrdSCIN0bUvv6tAQ9rxyP 5EacERiCGy80oND3eBHKgIewtMuYbkyDCZ8oKn+SyYhRNqH5cXe3dniyW fJUrR3KRcmAtelqaw0UMLiWOLSanpVz5WgQnG0Uw5IvqGi0Cgyp7Hwume g==; X-IronPort-AV: E=McAfee;i="6500,9779,10455"; a="278352528" X-IronPort-AV: E=Sophos;i="5.93,276,1654585200"; d="scan'208";a="278352528" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 17:12:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,276,1654585200"; d="scan'208";a="614815061" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP; 30 Aug 2022 17:12:01 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 30 Aug 2022 17:12:00 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 30 Aug 2022 17:12:00 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 30 Aug 2022 17:12:00 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 30 Aug 2022 17:12:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d6IVONrxevCKYEoaqBL5xmBlwSTajrniTXz04bBu8XlXVoyC16OJFlQs2NqsUOrBzvjFEcPrVNBx7j9du+5DIX/SPgfvWChxkYK069XokcbpZZG9OZMiPKB+0E2vXXIs4VPhWOTZ7+U+dpIAIlkitav6I7UYPI7ao12WPWqo5cbxfxEO0iyw0jIXR3nQd3R2P6Iao79fHJzqjOCGU7xZ/RLGP/bmgiEw2jfMYl/pbS7sNupeE4v4/txxlKGhEqlHpjwDHxY4JxNE4TTyteGR+afpF2ZOqxVx2HcAeiBcpNeZCxXZQzwk66PY9hnZkU7Nq6acS6EgbqCGgTvm29YOWQ== 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=GNd+hknZiwH6a5uKEPmqfwWMtw84HHcKlur9QSDS4Pk=; b=XukOmuEW5MvA+99AVRc4+IayRelpTsBrru5ztWAlFSGmjp1M3U8no9oc/z20h03SoNEMnR1gZ8IC22wiIzs7zzvT8/JXTfoJ9IDp3XQsjJ7QD65ntQUq2qvkud90W+MNCKr9WEH8ur/+ZSWuBikNYaBmPC0Rb9znlLLVusXA42KifRnJmZDhdbJr1weVmCIsZ9QidK+O+JUTQXvV5fSYdnoGgEptrQB9xCJnQ+wDO9b+8zPKt4Nnv8qR5CiWDGPS7WCjAAtvGr3wkiQleCpZnoyE8UiiIBHOzW5wPLS64eMGj5Dda9+7mcBF52jI+C40DKO8w5KEXw5Wag3w4I14vQ== 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 PH0PR11MB5832.namprd11.prod.outlook.com (2603:10b6:510:141::7) by CY5PR11MB6305.namprd11.prod.outlook.com (2603:10b6:930:23::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Wed, 31 Aug 2022 00:11:59 +0000 Received: from PH0PR11MB5832.namprd11.prod.outlook.com ([fe80::4d72:c4bd:d0b1:9a4e]) by PH0PR11MB5832.namprd11.prod.outlook.com ([fe80::4d72:c4bd:d0b1:9a4e%6]) with mapi id 15.20.5566.021; Wed, 31 Aug 2022 00:11:59 +0000 From: "Nate DeSimone" To: "Chiu, Chasel" , "devel@edk2.groups.io" CC: "Zeng, Star" Subject: Re: [PATCH v2 4/4] IntelFsp2WrapperPkg: Implement FSP 2.4 MultiPhase wrapper handlers. Thread-Topic: [PATCH v2 4/4] IntelFsp2WrapperPkg: Implement FSP 2.4 MultiPhase wrapper handlers. Thread-Index: AQHYrFLwWhpFa52Yq0+i5Q4WNXRVgq3IQ+mA Date: Wed, 31 Aug 2022 00:11:59 +0000 Message-ID: References: <20220810004822.1499-1-chasel.chiu@intel.com> <20220810004822.1499-5-chasel.chiu@intel.com> In-Reply-To: <20220810004822.1499-5-chasel.chiu@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: 7933832f-675e-4e2f-8c6f-08da8ae56c0e x-ms-traffictypediagnostic: CY5PR11MB6305:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: p0o4sarejbKbQyj21ea726OW/nHd9baIr3/GE/5Cu4UlfO+6uAPwp2anoqhapKPGHl1ZMFKodn9eHYVw3D1nOWd8ORLnRZ1G7BgaKMFOzX5Q0veaJp8o1BD7OqHohguN9rFqFF50ol5SklmQSAtV27hQZ8YdSfEXW2CRlGTPWyxZET/1yf3nwhjFQr7VsBpZa98QL32tn+S6KzEoBNjMiyzpbqLLYLuLG/Z6q4sG2G3xKZ5oK4DigadmC/Q1JV31pSfKPMXC+CG/gxN5jtXCQILDxstgdLxmGnBJJ91xk0Z+pKuWF4DcyXIMg0/WAmZ+KSVl7F7+ymtmCLcuW8iqgUhvoQh21+2iMIFbsh7zT34Y7HWQOjuPKOxCE+WFPfFRPOHW+At2JDWYrUa02O+a+/D/w9p0Uk9Nf03ffGvlL+FRvni+Yd5ZkaSmh/HkdYX211IH+4Zh8duWuq/HKbJpi1tVj6+yHI3coSmiEQkwLxbiGXAnqZoDka025JL3zCuo7zMD530XzJntdou/zWT4yiCbsG9pCtvcaxUBZOsQ4brfqrYk2pFjBN/lb1WXLxuvyYJxMFYR0VRdQzfMP44b/50x6eycSmTSZ8x9Q+PSbydKjBkF3HIltYLvmOp9doPfXbZC2sDd8RANGA9b8wM9xNGU6oTDqWTVWcwhDfXoyhWLbLSFMOgWdJSZYkrj6sULP2tbOK/DPOmtQOs71jQPtX2unjaO5y10ZRi+FGfySt7SitH3Er7YW7t6LE0fLWxE1GC8tnVH+tqAExo2IxVGBf/mFeFbhEwkUi78/Ebya54= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5832.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(346002)(39860400002)(376002)(136003)(71200400001)(76116006)(55016003)(86362001)(4326008)(66946007)(66476007)(66556008)(8676002)(66446008)(64756008)(38070700005)(110136005)(82960400001)(316002)(186003)(83380400001)(41300700001)(107886003)(478600001)(122000001)(38100700002)(966005)(26005)(9686003)(53546011)(6506007)(5660300002)(7696005)(33656002)(52536014)(8936002)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AgrUpGqZFIf5NIYfu7hbGl9BbpbNPAjFsVUYr3LWD+/yD9dGFwh7yBYHICzT?= =?us-ascii?Q?fPkG2HIOLwrtgPRuitouyd7SMn0s/FLzF2pzkwzmCfcetO6eDgqSmS7U8AfM?= =?us-ascii?Q?k1/nPi9GRGAYp/+ZVt9NVExY5LWcbVMmrU+O5DMaIXBGH51JPzKzIM9YHnA+?= =?us-ascii?Q?GOYnG7S2Kby6rHmGA5EOtsfFtmu3vclz08loB2PwTjUtfW92cU4e4WnWlQDa?= =?us-ascii?Q?nS63LZDNL5+Puz7UidYn5+bmQ3Bbf2VaqDXzI8NOGdwIRp3G0I1aYp/P3lJ1?= =?us-ascii?Q?eDORsxC5Y0mvQC7XYdHOj7WBrULdKhKx1v+wAyRZSWBVbIzO+XDU/TjlA4PG?= =?us-ascii?Q?CBV14vSD8BtHo2/YPAgf73853Nsbo4ctXjXUXClNUQo6kGQwZGy9w1lpeCla?= =?us-ascii?Q?G6wjR6Y1F++RQ0shhzSsuQ+lhOlwrIuLkj0sHlzb6L/SUdm31CqDuxJt40m/?= =?us-ascii?Q?edYDxkRo3+jbH1BxsIzioOhsg7XX+xKV39Rl22bRcGwlGwbzdFLbpgfb9YOQ?= =?us-ascii?Q?kQCdX/YLaDEanOpatOZCzEn7ofiimDet4jWjhJ4cysnZ8OgA7MKmIg11JNyV?= =?us-ascii?Q?2v2fzCQDonvck4uIm7IKYd7HtK6ufhOU0j8Jzhn574XJSg8NMBVgoOy26aZl?= =?us-ascii?Q?VdNWWGWqU41JyIGeqkhPJ2bDvZrYEcCYOAOED0YTsI2tkNuGixMR3797ZcIy?= =?us-ascii?Q?VNeZl4Q65WRSfR210Hu5zXDGX1sMX9OCLU33lxejZ/RJXMbBSDLa4s6Tl8XP?= =?us-ascii?Q?j+pSNKmudih1WvM92fqAJLnThPJkGEle1GWjj6v6Vgn2EhmkYqpRLum9kreK?= =?us-ascii?Q?Jlc5XWd5lg9sqSdQSsaw9uKbPNYXDc6WvJ6LSrViDmuHWtVKpvukAfd7KUoj?= =?us-ascii?Q?7z1ph9ilO7Pmzod0nIejwXHv8kh8TAVGLHv503RxJ54GCO5ZpDQvsqt3jBQR?= =?us-ascii?Q?lOw2mQmDRb2hNk6KBbBvNz17Ccq/tYUaIeVIodl4uWTBmaglYDRSNdDFQ5UW?= =?us-ascii?Q?Bw5JFGyBWDT/xAE/2BCOQb0XVla8IMU5gnhNLVXuXHpp+jDhtE/3zwxDUMid?= =?us-ascii?Q?1d79nZl/ksqUWIqhibqVoMftQmvzbzvsliSdzusGcuRGX4Gs5XUhRwCgje5j?= =?us-ascii?Q?c3xHEQJ/vourSFlxL1IoDKa+gymWFzD133vKe0fJq9IX/h7y3hcWUEAlKAgf?= =?us-ascii?Q?RT7RWL4ID9ucscErn37PaMdAZ9i/kbVNBF7Ji3WE52sTFRIl0LfhK3+OsfHZ?= =?us-ascii?Q?ZceqnhjH9geal0FP4c/zkwdpbWcybFatOa2WKGxG3SMkYQyx4LyIfSioE0MV?= =?us-ascii?Q?z9fvykFDRBDU/E0/1W1QM3/UYzWagz5/e2Mj9J+fCShwgFtLYjRjNZleTo0x?= =?us-ascii?Q?E+XimGnnAUaWKTlDYG1YHWeoZum6sqjj2C1zS3phIuT8xRl8/sOXiaLeijFm?= =?us-ascii?Q?iekN/SLN3MVDZwOz4xaiRYoHJ0SnQXDKA+IClXBECXgISQMX0VMhGhA7TKh3?= =?us-ascii?Q?6589qje1wPpiSNHAD9Nam5Gzr9IdGmNox7BEQZLjnInv2X7C5MqvPp7BxirI?= =?us-ascii?Q?xtTW/AwYLMPCoz6RrikJ5EiSgrqbWla51HyjHgzmxsA9ccJ4mK5MOtPl+7CP?= =?us-ascii?Q?LA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5832.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7933832f-675e-4e2f-8c6f-08da8ae56c0e X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 00:11:59.0758 (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: wB9Z/XEWPSAwILsAZsc5rzYnuGMyVgiL9XnRAGhjuSzHTJOAdlfsXTSpr0VuA3S4Bx0Buo1vLmBYPIAbQ8DIUJOaznP5YFZy+8AB8n1z2pg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6305 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Nate DeSimone > -----Original Message----- > From: Chiu, Chasel > Sent: Tuesday, August 9, 2022 5:48 PM > To: devel@edk2.groups.io > Cc: Chiu, Chasel ; Desimone, Nathaniel L > ; Zeng, Star > Subject: [PATCH v2 4/4] IntelFsp2WrapperPkg: Implement FSP 2.4 > MultiPhase wrapper handlers. >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3916 >=20 > Implement MultiPhase wrapper handlers and only call to MultiPhase > handlers when FSP supports. >=20 > Cc: Nate DeSimone > Cc: Star Zeng > Signed-off-by: Chasel Chiu > --- > IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c | 33 > +++++++++++++++++++++++++-------- > IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c | 27 > +++++++++++++++++++++------ > IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf | 1 + > IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf | 3 ++- > 4 files changed, 49 insertions(+), 15 deletions(-) >=20 > diff --git a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c > b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c > index ac27524d08..ea206a7960 100644 > --- a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c > +++ b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.c > @@ -23,6 +23,7 @@ > #include #include > #include > +#include > #include > #include > @@ -35,6 +36,8 @@ #include #include > #include +#include > +#include extern EFI_GUID > gFspHobGuid; @@ -119,25 +122,39 @@ PeiFspMemoryInit ( > TimeStampCounterStart =3D AsmReadTsc (); Status =3D > CallFspMemoryInit (FspmUpdDataPtr, &FspHobListPtr);- // Create hobs > after memory initialization and not in temp RAM. Hence passing the record= ed > timestamp here- PERF_START_EX (&gFspApiPerformanceGuid, "EventRec", > NULL, TimeStampCounterStart, FSP_STATUS_CODE_MEMORY_INIT | > FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);- > PERF_END_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, > FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE > | FSP_STATUS_CODE_API_EXIT);- DEBUG ((DEBUG_INFO, "Total time spent > executing FspMemoryInitApi: %d millisecond\n", DivU64x32 > (GetTimeInNanoSecond (AsmReadTsc () - TimeStampCounterStart), > 1000000))); // // Reset the system if FSP API returned > FSP_STATUS_RESET_REQUIRED status // if ((Status >=3D > FSP_STATUS_RESET_REQUIRED_COLD) && (Status <=3D > FSP_STATUS_RESET_REQUIRED_8)) {- DEBUG ((DEBUG_INFO, > "FspMemoryInitApi requested reset 0x%x\n", Status));+ DEBUG > ((DEBUG_INFO, "FspMemoryInitApi requested reset %r\n", Status)); > CallFspWrapperResetSystem (Status); } - if (EFI_ERROR (Status)) {+ if > ((Status !=3D FSP_STATUS_VARIABLE_REQUEST) && EFI_ERROR (Status)) { > DEBUG ((DEBUG_ERROR, "ERROR - Failed to execute FspMemoryInitApi(), > Status =3D %r\n", Status));+ ASSERT_EFI_ERROR (Status); } - DEBUG > ((DEBUG_INFO, "FspMemoryInit status: 0x%x\n", Status));- > ASSERT_EFI_ERROR (Status);+ DEBUG ((DEBUG_INFO, "FspMemoryInit > status: %r\n", Status));+ if (Status =3D=3D FSP_STATUS_VARIABLE_REQUEST)= {+ > //+ // call to Variable request handler+ //+ > FspWrapperVariableRequestHandler (&FspHobListPtr, > FspMultiPhaseMemInitApiIndex);+ }++ //+ // See if MultiPhase process i= s > required or not+ //+ FspWrapperMultiPhaseHandler (&FspHobListPtr, > FspMultiPhaseMemInitApiIndex); // FspM MultiPhase++ //+ // Create > hobs after memory initialization and not in temp RAM. Hence passing the > recorded timestamp here+ //+ PERF_START_EX > (&gFspApiPerformanceGuid, "EventRec", NULL, TimeStampCounterStart, > FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE > | FSP_STATUS_CODE_API_ENTRY);+ PERF_END_EX > (&gFspApiPerformanceGuid, "EventRec", NULL, 0, > FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE > | FSP_STATUS_CODE_API_EXIT);+ DEBUG ((DEBUG_INFO, "Total time spent > executing FspMemoryInitApi: %d millisecond\n", DivU64x32 > (GetTimeInNanoSecond (AsmReadTsc () - TimeStampCounterStart), > 1000000))); Status =3D TestFspMemoryInitApiOutput (FspmUpdDataPtr, > &FspHobListPtr); if (EFI_ERROR (Status)) {diff --git > a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c > b/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c > index ee48dd69d3..091ddb697a 100644 > --- a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c > +++ b/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.c > @@ -21,6 +21,7 @@ > #include #include > #include > +#include > #include > #include #include > @@ -36,6 +37,7 @@ > #include #include #include > +#include extern > EFI_PEI_NOTIFY_DESCRIPTOR mS3EndOfPeiNotifyDesc; extern EFI_GUID > gFspHobGuid;@@ -318,23 +320,36 @@ PeiMemoryDiscoveredNotify ( > TimeStampCounterStart =3D AsmReadTsc (); PERF_START_EX > (&gFspApiPerformanceGuid, "EventRec", NULL, 0, > FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | > FSP_STATUS_CODE_API_ENTRY); Status =3D CallFspSiliconInit ((VOID > *)FspsUpdDataPtr);- PERF_END_EX (&gFspApiPerformanceGuid, > "EventRec", NULL, 0, FSP_STATUS_CODE_SILICON_INIT | > FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);- > DEBUG ((DEBUG_INFO, "Total time spent executing FspSiliconInitApi: %d > millisecond\n", DivU64x32 (GetTimeInNanoSecond (AsmReadTsc () - > TimeStampCounterStart), 1000000))); // // Reset the system if FSP AP= I > returned FSP_STATUS_RESET_REQUIRED status // if ((Status >=3D > FSP_STATUS_RESET_REQUIRED_COLD) && (Status <=3D > FSP_STATUS_RESET_REQUIRED_8)) {- DEBUG ((DEBUG_INFO, > "FspSiliconInitApi requested reset 0x%x\n", Status));+ DEBUG > ((DEBUG_INFO, "FspSiliconInitApi requested reset %r\n", Status)); > CallFspWrapperResetSystem (Status); } - if (EFI_ERROR (Status)) {+ if > ((Status !=3D FSP_STATUS_VARIABLE_REQUEST) && EFI_ERROR (Status)) { > DEBUG ((DEBUG_ERROR, "ERROR - Failed to execute FspSiliconInitApi(), > Status =3D %r\n", Status));+ ASSERT_EFI_ERROR (Status); } - DEBUG > ((DEBUG_INFO, "FspSiliconInit status: 0x%x\n", Status));- > ASSERT_EFI_ERROR (Status);+ DEBUG ((DEBUG_INFO, "FspSiliconInit status: > %r\n", Status));++ if (Status =3D=3D FSP_STATUS_VARIABLE_REQUEST) {+ = //+ > // call to Variable request handler+ //+ > FspWrapperVariableRequestHandler (&FspHobListPtr, > FspMultiPhaseSiInitApiIndex);+ }++ //+ // See if MultiPhase process is > required or not+ //+ FspWrapperMultiPhaseHandler (&FspHobListPtr, > FspMultiPhaseSiInitApiIndex); // FspS MultiPhase++ PERF_END_EX > (&gFspApiPerformanceGuid, "EventRec", NULL, 0, > FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | > FSP_STATUS_CODE_API_EXIT);+ DEBUG ((DEBUG_INFO, "Total time spent > executing FspSiliconInitApi: %d millisecond\n", DivU64x32 > (GetTimeInNanoSecond (AsmReadTsc () - TimeStampCounterStart), > 1000000))); Status =3D TestFspSiliconInitApiOutput ((VOID *)NULL); i= f > (RETURN_ERROR (Status)) {diff --git > a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf > b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf > index e2262d693c..332509e0bc 100644 > --- a/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf > +++ b/IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf > @@ -46,6 +46,7 @@ > FspWrapperApiLib FspWrapperApiTestLib FspMeasurementLib+ > FspWrapperMultiPhaseProcessLib [Packages] MdePkg/MdePkg.decdiff -- > git a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf > b/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf > index 0598f85ab3..f9c2ffca1c 100644 > --- a/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf > +++ b/IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf > @@ -6,7 +6,7 @@ > # register TemporaryRamDonePpi to call TempRamExit API, and register > MemoryDiscoveredPpi # notify to call FspSiliconInit API. #-# Copyright (= c) > 2014 - 2021, Intel Corporation. All rights reserved.
+# Copyright (c)= 2014 - > 2022, Intel Corporation. All rights reserved.
# # SPDX-License-Ident= ifier: > BSD-2-Clause-Patent #@@ -46,6 +46,7 @@ > FspWrapperApiLib FspWrapperApiTestLib FspMeasurementLib+ > FspWrapperMultiPhaseProcessLib [Packages] MdePkg/MdePkg.dec-- > 2.35.0.windows.1