From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web11.1929.1599849432878232655 for ; Fri, 11 Sep 2020 11:37:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Eme/2xIc; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) IronPort-SDR: YqKQ+BUuTaYkYuNvbsUKIuDewfQad4OZ54Ao3FQibij4tX7QcQH5mdaiNNawClak8h8auGlLlU cla9nT+p3oCA== X-IronPort-AV: E=McAfee;i="6000,8403,9741"; a="138342517" X-IronPort-AV: E=Sophos;i="5.76,416,1592895600"; d="scan'208,217";a="138342517" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Sep 2020 11:37:12 -0700 IronPort-SDR: PuDPXpj/e7bns7+NIBZY4JJd3AlU+q6qqxJmxeVEp+ExxUGnAn50XiCMLHogUPivC0HZXfIdy3 LRrQp6V8u00A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,416,1592895600"; d="scan'208,217";a="329868496" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga004.fm.intel.com with ESMTP; 11 Sep 2020 11:37:12 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) 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.1713.5; Fri, 11 Sep 2020 11:37:11 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.1713.5 via Frontend Transport; Fri, 11 Sep 2020 11:37:11 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.55) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 11 Sep 2020 11:37:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KUwedds+vdfvi5p17MbgITrAr6HHMtsa5A6SiZyNqWXER98USYn7Ri4y2BR7Q7WR167T3yCbmkIQoToCgRkT99QjyQryRH6B7OUNbD4CY0fQ0DOKWVBdoprRtJYzk+tUDhTkl2yibwIrS2RsMwa9F2S5vXDwJULeVj+fRbWDD8vgmICnVyP69G5wlFA2XggiSpngCaSFgZcw+rax2wbxKSidc7gyOtkT/TpGOH92BkMynXpwXQVF+8gGmG4cwOzsgflhywO/BJXcAvw+9aSsRO819jxJ2b0jx+xudhq0XdR4CJqXvGIH/okZvvZpQgcE0nKD+IDDYR+IZV/3CPXFaA== 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-SenderADCheck; bh=eNVHAuLhVccM13aJgo9Zu9oJae9rMxHJ2e1gStHNiDE=; b=F9FWxe0bfjzqUUuGLgRSgV7kNmTbrljeQxXB4NRuDswFNZd5xgCI6kODiEcalKiAexncREY/XaX+Nzt/4eJOnJCJPOv+PZCwHxmviSelKpFOYoFVwR+X+an6wPnaZr9+9Q4w7JYi3BkwffI3oavUH8q3k6DkWJemr7CDVYGAihQV/NtX/tU7ZNakh6uPcpB785D28bVc4vvh12h3yobstGfJu/gYHCXV4sFH3Yuxo1S6yvgTp8cwksZUepF8tHTg8IvXkkHpoz0A7sK/6dcmhlmIN3uHrEr8Z+2bG78EGWXBp9nOmUHL8UYQ/4OXpIuvnURgnp/Z8qVXMz+ii0dTdg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eNVHAuLhVccM13aJgo9Zu9oJae9rMxHJ2e1gStHNiDE=; b=Eme/2xIcvc5r4nwI++TJ3O55gKHjEiWtbEyOYS1zDVjpY+cMmlKxF34Sn37VcMSqSBtQMvtV1zT34E6QwRaq8upxnOav9inw1VhoqugIEsE+PFkas3xn2pHgcpC17LxZpnVnMAXXope1e3OvUbv4KxyaaBi4x9BiX4WZFmwwloE= Received: from BY5PR11MB4007.namprd11.prod.outlook.com (2603:10b6:a03:189::28) by BYAPR11MB3624.namprd11.prod.outlook.com (2603:10b6:a03:b1::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Fri, 11 Sep 2020 18:37:06 +0000 Received: from BY5PR11MB4007.namprd11.prod.outlook.com ([fe80::889e:ec52:bb02:db78]) by BY5PR11MB4007.namprd11.prod.outlook.com ([fe80::889e:ec52:bb02:db78%3]) with mapi id 15.20.3326.030; Fri, 11 Sep 2020 18:37:06 +0000 From: "Ni, Ray" To: "Dong, Eric" , "Chiu, Chasel" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , Laszlo Ersek , "Kumar, Rahul1" , "Desimone, Nathaniel L" Subject: Re: [PATCH] UefiCpuPkg/RegisterCpuFeaturesLib: Support MpServices2 only case. Thread-Topic: [PATCH] UefiCpuPkg/RegisterCpuFeaturesLib: Support MpServices2 only case. Thread-Index: AQHWh1FQDhqnMI1jY0mBGhcGhViBEqliuK8AgADXMQw= Date: Fri, 11 Sep 2020 18:37:05 +0000 Message-ID: References: <20200910090233.22784-1-chasel.chiu@intel.com>, In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [180.171.153.78] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c41699bc-8eef-4b09-aa2d-08d85681af30 x-ms-traffictypediagnostic: BYAPR11MB3624: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:873; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VNHnDDunLOuknpY4Txs0kZpfrRI03OF1UXkscMKuM5bmGCYvQimEa/P/JE/aJ2BDXHUHT6KSBAOGamJThzL8E46YuS2496Kj/e18tzZbn21N3g+wPnzfxAVm07NQuKIV7orT019+IkoXyKrAIWkdkwiQb1v74gnSIc0qpHejsTsmYaillekVmOOiBCOVO5vIl2qkGPbK+LOUdjMeXBxMpTzoIzqwySzJ8/xYSkPnffAtDsuraTVXmHhrn+Ym848khstZqB9z2n5CxLXpfB0+hcaUiRowEtT1X9PMB2sM9oHvHEbOsLTGY2jusnPyZFDWAbuiEYEOjyD0QIe/677FOickLXTBWirueM5tt1LbrnVDRvGymE+ENdcel/eIgfBBK/DUjROn5Z0c2jda/OS2fg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR11MB4007.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(396003)(39860400002)(136003)(366004)(376002)(346002)(71200400001)(76116006)(91956017)(33656002)(66446008)(2906002)(107886003)(66476007)(66946007)(66556008)(52536014)(64756008)(4326008)(55016002)(5660300002)(83380400001)(8936002)(53546011)(9686003)(7696005)(6506007)(316002)(110136005)(478600001)(8676002)(86362001)(186003)(966005)(166002)(54906003)(26005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: CuXq8IU6o4kZP5KqHZiM0V9p9uJrQbjhZHGCxXTJXx/EG0MnbZCIndG6zWICMJl1w3EFtmSV+IgXeR6sCM+Wk85BV+/5DY88/MOhLpujP4J4ZM4NVerFJeRQ89KkKZxPiqTMr1QzvsljZmVICTMB/n0E/QTA17yMEQ4q0tQEdiujulUEOh4/QaWn/zy7/wiT3VroK0s9u5ISjmun2RIrOcslACfs8qxp4mbHOp49kN/qCm/K4spR06bXLIL06wjLK5Z8Icx1vpi+XD3SmWazsmdZ4k8T8FuBs5yDenwPTpqokzjoPxtExbuhb1pJJbbooFedkdMaYAdqcxIvaDdcojYO441acBxU33G6IJ9ZBZmRSaPqCeTvITsQ8r6G7Zbk1hm/PHKbJK6pdE+E2+jc6wf0y2zHkkSWs2ZgfhfYFh0UqSvbrwTE97CRSKVWAYXOhYVBrmnwKkWhbgZjV2DeqAS7IHIlAnFiY3CLOuhqT7xROi+gULtamlhyAnJX7hnoHuJhRCQ4WW1rzb95zTpQTIuPFDadDy8q9QItSpooNW0bORQ4Vai6ndSvcLvfyQmMIOyNMJ7stKyG3tQQWyQ4JQ++0qaC7wXzNz5OH+Lj0H51+hbmbpO/NSPcJdJBpB+wZFslSDc63SWDmeQQwSPN9Q== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4007.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c41699bc-8eef-4b09-aa2d-08d85681af30 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2020 18:37:05.9529 (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: Qu/CyhYNRlppv/NR9El/Q8GkMAKoXKQoXRwXFFyYz8S02V2HuIeiAYuUXSzzQBafKQc0QhLV5yVNE53Pm9RIqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3624 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_BY5PR11MB4007DF484C491F8877808EB48C240BY5PR11MB4007namp_" --_000_BY5PR11MB4007DF484C491F8877808EB48C240BY5PR11MB4007namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 QSByb3VnaCBjaGVjayBpbiBwaG9uZS4gV2h5IGluZiBmaWxlIGlzIG5vdCBjaGFuZ2VkPw0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0Kt6K8/sjLOiBEb25nLCBFcmljIDxlcmlj LmRvbmdAaW50ZWwuY29tPg0Kt6LLzcqxvOQ6IEZyaWRheSwgU2VwdGVtYmVyIDExLCAyMDIwIDEw OjMxOjMyIEFNDQrK1bz+yMs6IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsg ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPg0Ks63LzTogQ2hpdSwg Q2hhc2VsIDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29t PjsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJhaHVs MS5rdW1hckBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmllbC5sLmRl c2ltb25lQGludGVsLmNvbT4NCtb3zOI6IFJFOiBbUEFUQ0hdIFVlZmlDcHVQa2cvUmVnaXN0ZXJD cHVGZWF0dXJlc0xpYjogU3VwcG9ydCBNcFNlcnZpY2VzMiBvbmx5IGNhc2UuDQoNClJldmlld2Vk LWJ5OiBFcmljIERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KU2Vu dDogVGh1cnNkYXksIFNlcHRlbWJlciAxMCwgMjAyMCA1OjAzIFBNDQpUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW8NCkNjOiBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERvbmcs IEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsg TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IEt1bWFyLCBSYWh1bDEgPHJhaHVsMS5r dW1hckBpbnRlbC5jb20+OyBEZXNpbW9uZSwgTmF0aGFuaWVsIEwgPG5hdGhhbmllbC5sLmRlc2lt b25lQGludGVsLmNvbT4NClN1YmplY3Q6IFtQQVRDSF0gVWVmaUNwdVBrZy9SZWdpc3RlckNwdUZl YXR1cmVzTGliOiBTdXBwb3J0IE1wU2VydmljZXMyIG9ubHkgY2FzZS4NCg0KUkVGOiBodHRwczov L2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTI4ODMNCg0KTXBTZXJ2aWNl cyBQcGkgY2FuIGJlIHJlcGxhY2VkIGJ5IE1wU2VydmljZXMyIFBwaSBhbmQgTXBTZXJ2aWNlczIg UHBpIGlzIG1hbmRhdG9yeSBmb3IgUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYiBmdW5jdGlvbmFsaXR5 LCBiYXNpbmcgb24gdGhpcyB3ZSBjYW4gZHJvcCBNcFNlcnZpY2VzIFBwaSB1c2FnZSBmcm9tIHRo ZSBsaWJyYXJ5IGFuZCB0aGUgY29uc3RyYWludCB0aGF0IGJvdGggUHBpcyBtdXN0IGJlIGluc3Rh bGxlZC4NCg0KQ2M6IEVyaWMgRG9uZyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCkNjOiBSYXkgTmkg PHJheS5uaUBpbnRlbC5jb20+DQpDYzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4N CkNjOiBSYWh1bCBLdW1hciA8cmFodWwxLmt1bWFyQGludGVsLmNvbT4NCkNjOiBOYXRlIERlU2lt b25lIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+DQpTaWduZWQtb2ZmLWJ5OiBDaGFz ZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPg0KLS0tDQogVWVmaUNwdVBrZy9MaWJyYXJ5 L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvUGVpUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi5jIHwgNjEg KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KIFVlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1cmVzTGliL1JlZ2lzdGVy Q3B1RmVhdHVyZXMuaCAgICAgICB8ICA2ICsrKy0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5z ZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xp YnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9QZWlSZWdpc3RlckNwdUZlYXR1cmVzTGliLmMg Yi9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9QZWlSZWdpc3RlckNw dUZlYXR1cmVzTGliLmMNCmluZGV4IDY0NzY4ZjdhNzQuLjRlNTU4ZTlmZWUgMTAwNjQ0DQotLS0g YS9VZWZpQ3B1UGtnL0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9QZWlSZWdpc3RlckNw dUZlYXR1cmVzTGliLmMNCisrKyBiL1VlZmlDcHVQa2cvTGlicmFyeS9SZWdpc3RlckNwdUZlYXR1 cmVzTGliL1BlaVJlZ2lzdGVyQ3B1RmVhdHVyZXNMaQ0KKysrIGIuYw0KQEAgLTEsNyArMSw3IEBA DQogLyoqIEBmaWxlDQogICBDUFUgUmVnaXN0ZXIgVGFibGUgTGlicmFyeSBmdW5jdGlvbnMuDQoN Ci0gIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCisgIENvcHlyaWdodCAoYykgMjAxNiAtIDIwMjAsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzDQorIHJlc2VydmVkLjxCUj4NCiAgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQoNCiAqKi8NCkBAIC0xMSw3ICsxMSw2IEBA DQogI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQogI2luY2x1ZGUgPExpYnJhcnkvUGVpU2Vy dmljZXNMaWIuaD4NCiAjaW5jbHVkZSA8TGlicmFyeS9QZWlTZXJ2aWNlc1RhYmxlUG9pbnRlckxp Yi5oPg0KLSNpbmNsdWRlIDxQcGkvTXBTZXJ2aWNlcy5oPg0KICNpbmNsdWRlIDxQcGkvTXBTZXJ2 aWNlczIuaD4NCg0KICNpbmNsdWRlICJSZWdpc3RlckNwdUZlYXR1cmVzLmgiDQpAQCAtNzUsMTAg Kzc0LDEwIEBAIEdldE1wU2VydmljZSAoDQogICBNUF9TRVJWSUNFUyAgICAgICAgICAgICAgICBN cFNlcnZpY2U7DQoNCiAgIC8vDQotICAvLyBHZXQgTVAgU2VydmljZXMgUHJvdG9jb2wNCisgIC8v IEdldCBNUCBTZXJ2aWNlczIgUHBpDQogICAvLw0KICAgU3RhdHVzID0gUGVpU2VydmljZXNMb2Nh dGVQcGkgKA0KLSAgICAgICAgICAgICAmZ0VmaVBlaU1wU2VydmljZXNQcGlHdWlkLA0KKyAgICAg ICAgICAgICAmZ0Vka2lpUGVpTXBTZXJ2aWNlczJQcGlHdWlkLA0KICAgICAgICAgICAgICAwLA0K ICAgICAgICAgICAgICBOVUxMLA0KICAgICAgICAgICAgICAoVk9JRCAqKikmTXBTZXJ2aWNlLlBw aQ0KQEAgLTEwMCwxNyArOTksMTcgQEAgR2V0UHJvY2Vzc29ySW5kZXggKA0KICAgKQ0KIHsNCiAg IEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9QRUlfTVBfU0VSVklD RVNfUFBJICAgICpDcHVNcFBwaTsNCisgIEVES0lJX1BFSV9NUF9TRVJWSUNFUzJfUFBJICpDcHVN cDJQcGk7DQogICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBQcm9jZXNzb3JJbmRleDsNCg0K LSAgQ3B1TXBQcGkgPSBDcHVGZWF0dXJlc0RhdGEtPk1wU2VydmljZS5QcGk7DQorICBDcHVNcDJQ cGkgPSBDcHVGZWF0dXJlc0RhdGEtPk1wU2VydmljZS5QcGk7DQoNCiAgIC8vDQogICAvLyBGb3Ig dHdvIHJlYXNvbnMgd2hpY2ggdXNlIE5VTEwgZm9yIFdob0FtSToNCiAgIC8vIDEuIFRoaXMgZnVu Y3Rpb24gd2lsbCBiZSBjYWxsZWQgYnkgQVBzIGFuZCBBUCBzaG91bGQgbm90IHVzZSBQZWlTZXJ2 aWNlcyBUYWJsZQ0KICAgLy8gMi4gQ2hlY2sgV2hvQW1JIGltcGxlbWVudGF0aW9uLCB0aGlzIHBh cmFtZXRlciB3aWxsIG5vdCBiZSB1c2VkLg0KICAgLy8NCi0gIFN0YXR1cyA9IENwdU1wUHBpLT5X aG9BbUkoTlVMTCwgQ3B1TXBQcGksICZQcm9jZXNzb3JJbmRleCk7DQorICBTdGF0dXMgPSBDcHVN cDJQcGktPldob0FtSSAoQ3B1TXAyUHBpLCAmUHJvY2Vzc29ySW5kZXgpOw0KICAgQVNTRVJUX0VG SV9FUlJPUiAoU3RhdHVzKTsNCiAgIHJldHVybiBQcm9jZXNzb3JJbmRleDsNCiB9DQpAQCAtMTMx LDE2ICsxMzAsMTUgQEAgR2V0UHJvY2Vzc29ySW5mb3JtYXRpb24gKA0KICAgT1VUIEVGSV9QUk9D RVNTT1JfSU5GT1JNQVRJT04gICAgICAgICpQcm9jZXNzb3JJbmZvQnVmZmVyDQogICApDQogew0K LSAgRUZJX1BFSV9NUF9TRVJWSUNFU19QUEkgICAgKkNwdU1wUHBpOw0KKyAgRURLSUlfUEVJX01Q X1NFUlZJQ0VTMl9QUEkgKkNwdU1wMlBwaTsNCiAgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg IFN0YXR1czsNCiAgIENQVV9GRUFUVVJFU19EQVRBICAgICAgICAgICpDcHVGZWF0dXJlc0RhdGE7 DQoNCiAgIENwdUZlYXR1cmVzRGF0YSA9IEdldENwdUZlYXR1cmVzRGF0YSAoKTsNCi0gIENwdU1w UHBpID0gQ3B1RmVhdHVyZXNEYXRhLT5NcFNlcnZpY2UuUHBpOw0KKyAgQ3B1TXAyUHBpID0gQ3B1 RmVhdHVyZXNEYXRhLT5NcFNlcnZpY2UuUHBpOw0KDQotICBTdGF0dXMgPSBDcHVNcFBwaS0+R2V0 UHJvY2Vzc29ySW5mbyAoDQotICAgICAgICAgICAgICAgR2V0UGVpU2VydmljZXNUYWJsZVBvaW50 ZXIoKSwNCi0gICAgICAgICAgICAgICBDcHVNcFBwaSwNCisgIFN0YXR1cyA9IENwdU1wMlBwaS0+ R2V0UHJvY2Vzc29ySW5mbyAoDQorICAgICAgICAgICAgICAgQ3B1TXAyUHBpLA0KICAgICAgICAg ICAgICAgIFByb2Nlc3Nvck51bWJlciwNCiAgICAgICAgICAgICAgICBQcm9jZXNzb3JJbmZvQnVm ZmVyDQogICAgICAgICAgICAgICAgKTsNCkBAIC0xNjIsMTggKzE2MCwxNyBAQCBTdGFydHVwQWxs QVBzV29ya2VyICgNCiAgICkNCiB7DQogICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RhdHVzOw0KLSAgRUZJX1BFSV9NUF9TRVJWSUNFU19QUEkgICAgICAgICAgICAgICpD cHVNcFBwaTsNCisgIEVES0lJX1BFSV9NUF9TRVJWSUNFUzJfUFBJICAgICAgICAgICAqQ3B1TXAy UHBpOw0KICAgQ1BVX0ZFQVRVUkVTX0RBVEEgICAgICAgICAgICAgICAgICAgICpDcHVGZWF0dXJl c0RhdGE7DQoNCiAgIENwdUZlYXR1cmVzRGF0YSA9IEdldENwdUZlYXR1cmVzRGF0YSAoKTsNCi0g IENwdU1wUHBpID0gQ3B1RmVhdHVyZXNEYXRhLT5NcFNlcnZpY2UuUHBpOw0KKyAgQ3B1TXAyUHBp ID0gQ3B1RmVhdHVyZXNEYXRhLT5NcFNlcnZpY2UuUHBpOw0KDQogICAvLw0KICAgLy8gV2FrZXVw IGFsbCBBUHMgZm9yIGRhdGEgY29sbGVjdGlvbi4NCiAgIC8vDQotICBTdGF0dXMgPSBDcHVNcFBw aS0+U3RhcnR1cEFsbEFQcyAoDQotICAgICAgICAgICAgICAgICBHZXRQZWlTZXJ2aWNlc1RhYmxl UG9pbnRlciAoKSwNCi0gICAgICAgICAgICAgICAgIENwdU1wUHBpLA0KKyAgU3RhdHVzID0gQ3B1 TXAyUHBpLT5TdGFydHVwQWxsQVBzICgNCisgICAgICAgICAgICAgICAgIENwdU1wMlBwaSwNCiAg ICAgICAgICAgICAgICAgIFByb2NlZHVyZSwNCiAgICAgICAgICAgICAgICAgIEZBTFNFLA0KICAg ICAgICAgICAgICAgICAgMCwNCkBAIC0yMDMsMTcgKzIwMCw3IEBAIFN0YXJ0dXBBbGxDUFVzV29y a2VyICgNCiAgIC8vDQogICAvLyBHZXQgTVAgU2VydmljZXMyIFBwaQ0KICAgLy8NCi0gIFN0YXR1 cyA9IFBlaVNlcnZpY2VzTG9jYXRlUHBpICgNCi0gICAgICAgICAgICAgJmdFZGtpaVBlaU1wU2Vy dmljZXMyUHBpR3VpZCwNCi0gICAgICAgICAgICAgMCwNCi0gICAgICAgICAgICAgTlVMTCwNCi0g ICAgICAgICAgICAgKFZPSUQgKiopJkNwdU1wMlBwaQ0KLSAgICAgICAgICAgICApOw0KLSAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCi0NCi0gIC8vDQotICAvLyBXYWtldXAgYWxsIEFQcyBm b3IgZGF0YSBjb2xsZWN0aW9uLg0KLSAgLy8NCisgIENwdU1wMlBwaSA9IENwdUZlYXR1cmVzRGF0 YS0+TXBTZXJ2aWNlLlBwaTsNCiAgIFN0YXR1cyA9IENwdU1wMlBwaS0+U3RhcnR1cEFsbENQVXMg KA0KICAgICAgICAgICAgICAgICAgQ3B1TXAyUHBpLA0KICAgICAgICAgICAgICAgICAgUHJvY2Vk dXJlLA0KQEAgLTIzNCwxOCArMjIxLDE3IEBAIFN3aXRjaE5ld0JzcCAoDQogICApDQogew0KICAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCi0gIEVGSV9QRUlf TVBfU0VSVklDRVNfUFBJICAgICAgICAgICAgICAqQ3B1TXBQcGk7DQorICBFREtJSV9QRUlfTVBf U0VSVklDRVMyX1BQSSAgICAgICAgICAgKkNwdU1wMlBwaTsNCiAgIENQVV9GRUFUVVJFU19EQVRB ICAgICAgICAgICAgICAgICAgICAqQ3B1RmVhdHVyZXNEYXRhOw0KDQogICBDcHVGZWF0dXJlc0Rh dGEgPSBHZXRDcHVGZWF0dXJlc0RhdGEgKCk7DQotICBDcHVNcFBwaSA9IENwdUZlYXR1cmVzRGF0 YS0+TXBTZXJ2aWNlLlBwaTsNCisgIENwdU1wMlBwaSA9IENwdUZlYXR1cmVzRGF0YS0+TXBTZXJ2 aWNlLlBwaTsNCg0KICAgLy8NCiAgIC8vIFdha2V1cCBhbGwgQVBzIGZvciBkYXRhIGNvbGxlY3Rp b24uDQogICAvLw0KLSAgU3RhdHVzID0gQ3B1TXBQcGktPlN3aXRjaEJTUCAoDQotICAgICAgICAg ICAgICAgICBHZXRQZWlTZXJ2aWNlc1RhYmxlUG9pbnRlciAoKSwNCi0gICAgICAgICAgICAgICAg IENwdU1wUHBpLA0KKyAgU3RhdHVzID0gQ3B1TXAyUHBpLT5Td2l0Y2hCU1AgKA0KKyAgICAgICAg ICAgICAgICAgQ3B1TXAyUHBpLA0KICAgICAgICAgICAgICAgICAgUHJvY2Vzc29yTnVtYmVyLA0K ICAgICAgICAgICAgICAgICAgVFJVRQ0KICAgICAgICAgICAgICAgICAgKTsNCkBAIC0yNjksMTgg KzI1NSwxNyBAQCBHZXROdW1iZXJPZlByb2Nlc3NvciAoDQogICApDQogew0KICAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICAgU3RhdHVzOw0KLSAgRUZJX1BFSV9NUF9TRVJWSUNFU19QUEkgICAg KkNwdU1wUHBpOw0KKyAgRURLSUlfUEVJX01QX1NFUlZJQ0VTMl9QUEkgKkNwdU1wMlBwaTsNCiAg IENQVV9GRUFUVVJFU19EQVRBICAgICAgICAgICpDcHVGZWF0dXJlc0RhdGE7DQoNCiAgIENwdUZl YXR1cmVzRGF0YSA9IEdldENwdUZlYXR1cmVzRGF0YSAoKTsNCi0gIENwdU1wUHBpID0gQ3B1RmVh dHVyZXNEYXRhLT5NcFNlcnZpY2UuUHBpOw0KKyAgQ3B1TXAyUHBpID0gQ3B1RmVhdHVyZXNEYXRh LT5NcFNlcnZpY2UuUHBpOw0KDQogICAvLw0KICAgLy8gR2V0IHRoZSBudW1iZXIgb2YgQ1BVcw0K ICAgLy8NCi0gIFN0YXR1cyA9IENwdU1wUHBpLT5HZXROdW1iZXJPZlByb2Nlc3NvcnMgKA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICBHZXRQZWlTZXJ2aWNlc1RhYmxlUG9pbnRlciAoKSwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgQ3B1TXBQcGksDQorICBTdGF0dXMgPSBDcHVNcDJQcGkt PkdldE51bWJlck9mUHJvY2Vzc29ycyAoDQorICAgICAgICAgICAgICAgICAgICAgICAgIENwdU1w MlBwaSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZDcHVzLA0KICAgICAgICAg ICAgICAgICAgICAgICAgICBOdW1iZXJPZkVuYWJsZWRQcm9jZXNzb3JzDQogICAgICAgICAgICAg ICAgICAgICAgICAgICk7DQpkaWZmIC0tZ2l0IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1JlZ2lzdGVy Q3B1RmVhdHVyZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJlcy5oIGIvVWVmaUNwdVBrZy9MaWJyYXJ5 L1JlZ2lzdGVyQ3B1RmVhdHVyZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJlcy5oDQppbmRleCA1M2Ni MzQwYjRjLi5lOGE0YWE2NDRkIDEwMDY0NA0KLS0tIGEvVWVmaUNwdVBrZy9MaWJyYXJ5L1JlZ2lz dGVyQ3B1RmVhdHVyZXNMaWIvUmVnaXN0ZXJDcHVGZWF0dXJlcy5oDQorKysgYi9VZWZpQ3B1UGtn L0xpYnJhcnkvUmVnaXN0ZXJDcHVGZWF0dXJlc0xpYi9SZWdpc3RlckNwdUZlYXR1cmVzLmgNCkBA IC0xMCw3ICsxMCw3IEBADQogI2RlZmluZSBfUkVHSVNURVJfQ1BVX0ZFQVRVUkVTX0hfDQogI2lu Y2x1ZGUgPFBpUGVpLmg+DQogI2luY2x1ZGUgPFBpRHhlLmg+DQotI2luY2x1ZGUgPFBwaS9NcFNl cnZpY2VzLmg+DQorI2luY2x1ZGUgPFBwaS9NcFNlcnZpY2VzMi5oPg0KICNpbmNsdWRlIDxQcm90 b2NvbC9NcFNlcnZpY2UuaD4NCg0KICNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCkBAIC02 NCw4ICs2NCw4IEBAIHR5cGVkZWYgc3RydWN0IHsNCiB9IFBST0dSQU1fQ1BVX1JFR0lTVEVSX0ZM QUdTOw0KDQogdHlwZWRlZiB1bmlvbiB7DQotICBFRklfTVBfU0VSVklDRVNfUFJPVE9DT0wgICpQ cm90b2NvbDsNCi0gIEVGSV9QRUlfTVBfU0VSVklDRVNfUFBJICAgKlBwaTsNCisgIEVGSV9NUF9T RVJWSUNFU19QUk9UT0NPTCAgICpQcm90b2NvbDsNCisgIEVES0lJX1BFSV9NUF9TRVJWSUNFUzJf UFBJICpQcGk7DQogfSBNUF9TRVJWSUNFUzsNCg0KIHR5cGVkZWYgc3RydWN0IHsNCi0tDQoyLjEz LjMud2luZG93cy4xDQoNCg== --_000_BY5PR11MB4007DF484C491F8877808EB48C240BY5PR11MB4007namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
A rough check in phone. Why inf file is not = changed?


=B7=A2=BC=FE=C8=CB: Dong, E= ric <eric.dong@intel.com>
=B7=A2=CB=CD=CA=B1=BC=E4: Friday, September 11, 2020 10:31:32 AM
=CA=D5=BC=FE=C8=CB: Chiu, Chasel <chasel.chiu@intel.com>; deve= l@edk2.groups.io <devel@edk2.groups.io>
=B3=AD=CB=CD: Chiu, Chasel <chasel.chiu@intel.com>; Ni, Ray &l= t;ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>; Kumar, Rahu= l1 <rahul1.kumar@intel.com>; Desimone, Nathaniel L <nathaniel.l.de= simone@intel.com>
=D6=F7=CC=E2: RE: [PATCH] UefiCpuPkg/RegisterCpuFeaturesLib: Support= MpServices2 only case.
 
Reviewed-by: Eric Dong <eric.dong@intel.com>=

-----Original Message-----
From: Chasel Chiu <chasel.chiu@intel.com>
Sent: Thursday, September 10, 2020 5:03 PM
To: devel@edk2.groups.io
Cc: Chiu, Chasel <chasel.chiu@intel.com>; Dong, Eric <eric.dong@in= tel.com>; Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redh= at.com>; Kumar, Rahul1 <rahul1.kumar@intel.com>; Desimone, Nathani= el L <nathaniel.l.desimone@intel.com>
Subject: [PATCH] UefiCpuPkg/RegisterCpuFeaturesLib: Support MpServices2 onl= y case.

REF: http= s://bugzilla.tianocore.org/show_bug.cgi?id=3D2883

MpServices Ppi can be replaced by MpServices2 Ppi and MpServices2 Ppi is ma= ndatory for RegisterCpuFeaturesLib functionality, basing on this we can dro= p MpServices Ppi usage from the library and the constraint that both Ppis m= ust be installed.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
---
 UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesLib.c= | 61 +++++++++++++++++++++++--------------------------------------
 UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h =       |  6 +++---
 2 files changed, 26 insertions(+), 41 deletions(-)

diff --git a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeatur= esLib.c b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesL= ib.c
index 64768f7a74..4e558e9fee 100644
--- a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesLib.c=
+++ b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesLi +++ b.c
@@ -1,7 +1,7 @@
 /** @file
   CPU Register Table Library functions.
 
-  Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.&= lt;BR>
+  Copyright (c) 2016 - 2020, Intel Corporation. All rights
+ reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -11,7 +11,6 @@
 #include <Library/HobLib.h>
 #include <Library/PeiServicesLib.h>
 #include <Library/PeiServicesTablePointerLib.h>
-#include <Ppi/MpServices.h>
 #include <Ppi/MpServices2.h>
 
 #include "RegisterCpuFeatures.h"
@@ -75,10 +74,10 @@ GetMpService (
   MP_SERVICES        &nb= sp;       MpService;
 
   //
-  // Get MP Services Protocol
+  // Get MP Services2 Ppi
   //
   Status =3D PeiServicesLocatePpi (
-             &= amp;gEfiPeiMpServicesPpiGuid,
+             &= amp;gEdkiiPeiMpServices2PpiGuid,
            &nb= sp; 0,
            &nb= sp; NULL,
            &nb= sp; (VOID **)&MpService.Ppi
@@ -100,17 +99,17 @@ GetProcessorIndex (
   )
 {
   EFI_STATUS        &nbs= p;        Status;
-  EFI_PEI_MP_SERVICES_PPI    *CpuMpPpi;
+  EDKII_PEI_MP_SERVICES2_PPI *CpuMp2Ppi;
   UINTN         &nb= sp;            Proce= ssorIndex;
 
-  CpuMpPpi =3D CpuFeaturesData->MpService.Ppi;
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
 
   //
   // For two reasons which use NULL for WhoAmI:
   // 1. This function will be called by APs and AP should not us= e PeiServices Table
   // 2. Check WhoAmI implementation, this parameter will not be = used.
   //
-  Status =3D CpuMpPpi->WhoAmI(NULL, CpuMpPpi, &ProcessorIndex)= ;
+  Status =3D CpuMp2Ppi->WhoAmI (CpuMp2Ppi, &ProcessorIndex);    ASSERT_EFI_ERROR (Status);
   return ProcessorIndex;
 }
@@ -131,16 +130,15 @@ GetProcessorInformation (
   OUT EFI_PROCESSOR_INFORMATION     &nb= sp;  *ProcessorInfoBuffer
   )
 {
-  EFI_PEI_MP_SERVICES_PPI    *CpuMpPpi;
+  EDKII_PEI_MP_SERVICES2_PPI *CpuMp2Ppi;
   EFI_STATUS        &nbs= p;        Status;
   CPU_FEATURES_DATA       &nb= sp;  *CpuFeaturesData;
 
   CpuFeaturesData =3D GetCpuFeaturesData ();
-  CpuMpPpi =3D CpuFeaturesData->MpService.Ppi;
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
 
-  Status =3D CpuMpPpi->GetProcessorInfo (
-            &n= bsp;  GetPeiServicesTablePointer(),
-            &n= bsp;  CpuMpPpi,
+  Status =3D CpuMp2Ppi->GetProcessorInfo (
+            &n= bsp;  CpuMp2Ppi,
            &nb= sp;   ProcessorNumber,
            &nb= sp;   ProcessorInfoBuffer
            &nb= sp;   );
@@ -162,18 +160,17 @@ StartupAllAPsWorker (
   )
 {
   EFI_STATUS        &nbs= p;            &= nbsp;     Status;
-  EFI_PEI_MP_SERVICES_PPI       &n= bsp;      *CpuMpPpi;
+  EDKII_PEI_MP_SERVICES2_PPI       = ;    *CpuMp2Ppi;
   CPU_FEATURES_DATA       &nb= sp;            *CpuF= eaturesData;
 
   CpuFeaturesData =3D GetCpuFeaturesData ();
-  CpuMpPpi =3D CpuFeaturesData->MpService.Ppi;
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
 
   //
   // Wakeup all APs for data collection.
   //
-  Status =3D CpuMpPpi->StartupAllAPs (
-            &n= bsp;    GetPeiServicesTablePointer (),
-            &n= bsp;    CpuMpPpi,
+  Status =3D CpuMp2Ppi->StartupAllAPs (
+            &n= bsp;    CpuMp2Ppi,
            &nb= sp;     Procedure,
            &nb= sp;     FALSE,
            &nb= sp;     0,
@@ -203,17 +200,7 @@ StartupAllCPUsWorker (
   //
   // Get MP Services2 Ppi
   //
-  Status =3D PeiServicesLocatePpi (
-             &= amp;gEdkiiPeiMpServices2PpiGuid,
-             0= ,
-             N= ULL,
-             (= VOID **)&CpuMp2Ppi
-             )= ;
-  ASSERT_EFI_ERROR (Status);
-
-  //
-  // Wakeup all APs for data collection.
-  //
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
   Status =3D CpuMp2Ppi->StartupAllCPUs (
            &nb= sp;     CpuMp2Ppi,
            &nb= sp;     Procedure,
@@ -234,18 +221,17 @@ SwitchNewBsp (
   )
 {
   EFI_STATUS        &nbs= p;            &= nbsp;     Status;
-  EFI_PEI_MP_SERVICES_PPI       &n= bsp;      *CpuMpPpi;
+  EDKII_PEI_MP_SERVICES2_PPI       = ;    *CpuMp2Ppi;
   CPU_FEATURES_DATA       &nb= sp;            *CpuF= eaturesData;
 
   CpuFeaturesData =3D GetCpuFeaturesData ();
-  CpuMpPpi =3D CpuFeaturesData->MpService.Ppi;
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
 
   //
   // Wakeup all APs for data collection.
   //
-  Status =3D CpuMpPpi->SwitchBSP (
-            &n= bsp;    GetPeiServicesTablePointer (),
-            &n= bsp;    CpuMpPpi,
+  Status =3D CpuMp2Ppi->SwitchBSP (
+            &n= bsp;    CpuMp2Ppi,
            &nb= sp;     ProcessorNumber,
            &nb= sp;     TRUE
            &nb= sp;     );
@@ -269,18 +255,17 @@ GetNumberOfProcessor (
   )
 {
   EFI_STATUS        &nbs= p;        Status;
-  EFI_PEI_MP_SERVICES_PPI    *CpuMpPpi;
+  EDKII_PEI_MP_SERVICES2_PPI *CpuMp2Ppi;
   CPU_FEATURES_DATA       &nb= sp;  *CpuFeaturesData;
 
   CpuFeaturesData =3D GetCpuFeaturesData ();
-  CpuMpPpi =3D CpuFeaturesData->MpService.Ppi;
+  CpuMp2Ppi =3D CpuFeaturesData->MpService.Ppi;
 
   //
   // Get the number of CPUs
   //
-  Status =3D CpuMpPpi->GetNumberOfProcessors (
-            &n= bsp;            GetP= eiServicesTablePointer (),
-            &n= bsp;            CpuM= pPpi,
+  Status =3D CpuMp2Ppi->GetNumberOfProcessors (
+            &n= bsp;            CpuM= p2Ppi,
            &nb= sp;            = NumberOfCpus,
            &nb= sp;            = NumberOfEnabledProcessors
            &nb= sp;            = );
diff --git a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.= h b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h
index 53cb340b4c..e8a4aa644d 100644
--- a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h
+++ b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h
@@ -10,7 +10,7 @@
 #define _REGISTER_CPU_FEATURES_H_
 #include <PiPei.h>
 #include <PiDxe.h>
-#include <Ppi/MpServices.h>
+#include <Ppi/MpServices2.h>
 #include <Protocol/MpService.h>
 
 #include <Library/BaseLib.h>
@@ -64,8 +64,8 @@ typedef struct {
 } PROGRAM_CPU_REGISTER_FLAGS;
 
 typedef union {
-  EFI_MP_SERVICES_PROTOCOL  *Protocol;
-  EFI_PEI_MP_SERVICES_PPI   *Ppi;
+  EFI_MP_SERVICES_PROTOCOL   *Protocol;
+  EDKII_PEI_MP_SERVICES2_PPI *Ppi;
 } MP_SERVICES;
 
 typedef struct {
--
2.13.3.windows.1

--_000_BY5PR11MB4007DF484C491F8877808EB48C240BY5PR11MB4007namp_--