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.web12.28985.1599183255565758728 for ; Thu, 03 Sep 2020 18:34:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=jiDeLPKv; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: ray.ni@intel.com) IronPort-SDR: lnyzl+INbZNsl66sxh3+8SMOoYnYocnI3RclThr4eCFtPj0PO/x/9YlOBfpnpBBx9As+j1hFX7 E/rV7Wh2Tjww== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="145380813" X-IronPort-AV: E=Sophos;i="5.76,387,1592895600"; d="scan'208,217";a="145380813" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2020 18:34:14 -0700 IronPort-SDR: 5WtprHFI4hiAYt4P9CPYcDLpdSm+eD+z654wv90pxagtskzDlJ/atOr806gadFbq8FbmsWta0v GVPN7f28UiTA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,387,1592895600"; d="scan'208,217";a="339490017" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 03 Sep 2020 18:34:14 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 3 Sep 2020 18:34:14 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.1713.5; Thu, 3 Sep 2020 18:34:13 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.1713.5 via Frontend Transport; Thu, 3 Sep 2020 18:34:13 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.109) 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; Thu, 3 Sep 2020 18:34:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dx2Ln4Qr1YUSQM1UJQkYm8uZaR9hLB/5qRd64Utam9pj9AbsRoJN9pjwmvGx015Fg/tRxs5sXOa0ZYgE+h2++1iUVvRYnzE2KfcrNuRP+NHfJzfFWEZXCn5SwuWwYdaSt6eo375fU2UFQN9S1sZs2HsQ1DgJc8ZC+DmOINyMRSgmtdDJ0cRYTa51H2q/dLDwdlP0CLFfpJjpfyOnYKzhZw+MHnrmouBIESRYCSC1z+ubEU2j3EFXl+AwAxtU5Q4IIq1z7k34uZCW5+Im8TPompPqDqBST79TZYzqxFdZehLk1ebhMnlsa0+d+1+daLtGq/9gZATvaxT+tLgk7uKDFg== 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=n56FIZd43EWL8hMJAF3GeLihef67SSxlr7yvMloh/Zc=; b=Pyel/BHd16swbXuo9pVEBGKaTLFaQGGN+WErTGX1SKRWy4sMXaoaPuYuRM/pfWCaxSsKbbPbTFzkl5nh4rz57r/tbfc4EWGF2OkicchAnKAJ0g28nINyhVTcY11eI49YGjB6wEk6G0a3Z1Z93X5y4WYdCV2IIMnRE8S4yO0r4hmOxS75F+5lnjSfPh8yU6ID1JIz56uiBH7x/2KyvDyJfR4Xg6SfOXhAxCpSEHIyyWW3UQ4xgAWf25d/USUTavcTav8js/7E3PR1OLOAnqtqAzAh2GJV0g1j+fvaQ+xQTpDdSAQ7u84imfDRnH5rfjRadmK0od5mK0Y0w0p+nnc9yw== 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=n56FIZd43EWL8hMJAF3GeLihef67SSxlr7yvMloh/Zc=; b=jiDeLPKvo3R9wFDyKlfGcpeWYml6vQ2SfQOQ2jKVSsRGtPJ+oxHcaPOaup/iGSVh3FnVkf4BCGU3ySn+v9w+po3/rJeEVYfkhIHlmu8XH57tqZgl2+Dg4VhJlMgOSB2lU7vjZ7EK1ibWTTZBcO1dcUNNAKkAuajk9KfM+/Lxiz8= Received: from BY5PR11MB4007.namprd11.prod.outlook.com (2603:10b6:a03:189::28) by BYAPR11MB3816.namprd11.prod.outlook.com (2603:10b6:a03:f8::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Fri, 4 Sep 2020 01:34:07 +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.025; Fri, 4 Sep 2020 01:34:07 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Dong, Eric" CC: "Lou, Yun" Subject: Re: [edk2-devel] [PATCH v2] UefiCpuPkg/MpInitLib: Add check for CR3/GDT/IDT. Thread-Topic: [edk2-devel] [PATCH v2] UefiCpuPkg/MpInitLib: Add check for CR3/GDT/IDT. Thread-Index: AQHWggSVw2WfujL+NUS/O5Z245UUSqlXRPGAgAAPdICAAFy16A== Date: Fri, 4 Sep 2020 01:34:07 +0000 Message-ID: References: <20200903151147.1196-1-eric.dong@intel.com> ,<9c9d8289-4f8e-75d8-2816-750195a54842@redhat.com> In-Reply-To: <9c9d8289-4f8e-75d8-2816-750195a54842@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; 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: d95f04bd-626b-4b4f-1b3c-08d850729dd7 x-ms-traffictypediagnostic: BYAPR11MB3816: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rDjOHRLsgxQtKfQRzzdLnONQLIt/lzMR8EcMdU4xUMtibaD1mdEAk2DdwpUte61oGgJSb4wXJKOPtIHvWiZ33FdHOH0mexMmnOSUKTGM8w+HTpWqDcEr0Rzd+y5UspAb7WNfb5SyoAO0IHhZxPR8biw6BXdJeQG7vDSOYx5duUNVc84qkcCMLasiNCiuBOQCsc8L8Uq33jEppkAjZ+Q/te9wU8IX94ebbPNBBVeZCipOfYhDV1YuNZ2G9U1FZHHNEEcQIFFNwl9kbZsxBnFeT/X9bZCPsBojEewR9cRtfQRCXeM9MJrrrF9D1wDt9v47iYSRYWphQNT+Vw6QVj3isB9VHEhNDm7Nqhjh1HEzkTvJq8p3HLuyL/n6gUj90bfd3PKhtj+NayYSr0F5fxEeuQ== 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)(366004)(39860400002)(376002)(346002)(136003)(9686003)(55016002)(7696005)(4326008)(86362001)(6636002)(66556008)(26005)(6506007)(186003)(107886003)(5660300002)(110136005)(53546011)(166002)(66946007)(33656002)(316002)(8676002)(52536014)(66476007)(64756008)(71200400001)(966005)(2906002)(83380400001)(478600001)(8936002)(66446008)(76116006)(91956017);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: ZRIV+Az5dmXxKnPkQR5qkcJXwtQXgoj2srE5Z+j6sso9UWVkraFYdHcZnbC1ZezFfq6qWt0MKEQG05Ur//AF2WM7idAn8fGSAkuo18b43lm19xtCF90Re16U/58xgLg2JKsmJmuajWqJfMHwA4aXV2KiQ3YEIRU0w6LD+9dHwy2ALL4LXm6EY1CDcxnTCcK7tpk/pHEaBkkGtrDcVg5lCs+NJMdnFuLOIv8+ep2z+CO68WnzhCYfwZ3UxiE3B6dW03SUe3UylKHrbBdJRYIMVI827lSyLE+Gv8lFKbzxGjyKszMfmMu3wVjtaIkb0y/P2J+VYoSYTf6ArDv9Wv7cdLLF9wr+oC3rMVdgxwSDZoj2vXtGPtsg6QoI7tce5dboV4oVc0Ok7lLIcwXOMJuR00iHAzV6+pCeB3VPW/5CzPh3lSDs1cSR+J/uVoUWlEz3ramKTiv+xs3XhMgEffqm1pBbGnMKmIjRM/AaoHRPUaReWOO8O8gx2MCp02PKgeKwYFRu/fJEvW/s+7dGhJh2KPg7RO2p7i4qepA5PgE9Nfe1MqlGCQyzW86XdCiMEw0nuJm/Hj2tCG2keV3KIOaBWldAyyyt4KlMi+mQKCm4a0GuOEGP5J6uypvtzPBauIk7HJGG7aSmC3yzmR5KY8qmfA== 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: d95f04bd-626b-4b4f-1b3c-08d850729dd7 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2020 01:34:07.5690 (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: djxRobetlz/94g7WRSQPb3/rwZmLunQVPLLqtxaB/fzxCfmbNtQmTPL5afqm/Vu99WjjEVHfXwEMIb6nx06EEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3816 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_BY5PR11MB4007B4B0A75F5C87A1731A988C2D0BY5PR11MB4007namp_" --_000_BY5PR11MB4007B4B0A75F5C87A1731A988C2D0BY5PR11MB4007namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 V2h5IGRvIHdlIG5lZWQgYSBuZXcgUENEIHRvIGNvbnRyb2wgc3VjaCBjaGVjaz8gVW5kZXIgd2hh dCBjaXJjdW1zdGFuY2UgdGhlIFBDRCBpcyBmYWxzZT8NCldlIG1heSBuZWVkIHRvIG1vdmUgc3Vj aCBjaGVjayBvdXQgb2YgTXBMaWIuYy4gQmVjYXVzZSB3aGVuIGJwcyBydW5zIGF0IDMyYml0IG1v ZGUsIEFQIGRvZXNuoa90IG5lZWQgdG8gc3dpdGNoIHRvIGxvbmcgbW9kZSwgc3VjaCBjaGVjayBp cyBub3QgbmVlZGVkIGFuZCBhbHNvIGFsd2F5cyBwYXNzZXMuDQoNCldlIHNob3VsZCBub3QgYXNz dW1lIFBFSSBydW5zIGF0IDMyIGJpdCBtb2RlLg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0Kt6K8/sjLOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMu aW8+ILT6se0gTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCreiy83KsbzkOiBGcmlk YXksIFNlcHRlbWJlciA0LCAyMDIwIDM6NTU6NDcgQU0NCsrVvP7IyzogRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vw cy5pbz4NCrOty806IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+DQrW98ziOiBSZTogW2VkazIt ZGV2ZWxdIFtQQVRDSCB2Ml0gVWVmaUNwdVBrZy9NcEluaXRMaWI6IEFkZCBjaGVjayBmb3IgQ1Iz L0dEVC9JRFQuDQoNCk9uIDA5LzAzLzIwIDIxOjAwLCBMYXN6bG8gRXJzZWsgd3JvdGU6DQoNCj4g KDEwKSBNb3JlIGltcG9ydGFudGx5LCBWYWxpZENSM0dkdElkdENoZWNrKCkgc2hvdWxkIG5vdCBi ZSBjYWxsZWQgaW4gdGhlDQo+IFdvcmtlciBmdW5jdGlvbnMgZm9yIFN0YXJ0dXBBbGxBUHMsIFN0 YXJ0dXBUaGlzQVAsIFN3aXRjaEJTUCwgYW5kDQo+IEVuYWJsZURpc2FibGVBUCwgaW4gIlVlZmlD cHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYyIuDQo+DQo+IEluc3RlYWQsIHRoZSBjYWxs cyBzaG91bGQgYmUgbWFkZSBpbiB0aGUgRFhFIGluc3RhbmNlIG9mIHRoZSBsaWJyYXJ5DQo+ICgi VWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9EeGVNcExpYi5jIiksIGF0IHRoZSB2ZXJ5IHRv cCBvZiB0aGUNCj4gZnVuY3Rpb25zOg0KPg0KPiAtIE1wSW5pdExpYlN0YXJ0dXBBbGxBUHMNCj4g LSBNcEluaXRMaWJTdGFydHVwVGhpc0FQDQo+IC0gTXBJbml0TGliU3dpdGNoQlNQDQo+IC0gTXBJ bml0TGliRW5hYmxlRGlzYWJsZUFQDQo+DQo+IEhlcmUncyB3aHk6DQo+DQo+IChhKSBUaGUgc3lt cHRvbSBkb2VzIG5vdCBhZmZlY3QgdGhlIFBFSSBwaGFzZSAtLSBieSB0aGUgdGltZSB0aGUgVUVG SQ0KPiBhcHBsaWNhdGlvbiBpcyBleGVjdXRlZCwgdGhlIFBFSSBwaGFzZSBoYXMgZW5kZWQ7IHRo ZXJlJ3Mgbm8gbmVlZCB0bw0KPiBtb2RpZnkgdGhlIFBFSSBpbnN0YW5jZSBvZiB0aGUgbGlicmFy eS4NCj4NCj4gKGIpIFRoZSBjdXJyZW50bHkgcHJvcG9zZWQgZmFpbHVyZSBleGl0cyBhcmUgdG9v IGxhdGUuIEZvciBleGFtcGxlLCBpbg0KPiB0aGUgU3dpdGNoQlNQV29ya2VyKCkgZnVuY3Rpb24s IGJ5IHRoZSB0aW1lIHdlIGV4aXQsIHdlIGhhdmUgY2FsbGVkDQo+IERpc2FibGVBcGljVGltZXJJ bnRlcnJ1cHQoKSwgU2F2ZUFuZERpc2FibGVJbnRlcnJ1cHRzKCksIGFuZA0KPiBEaXNhYmxlTHZ0 SW50ZXJydXB0cygpIC0tIGFuZCB0aGUgZXJyb3IgcGF0aCBkb2VzIG5vdCByZXN0b3JlIHRoZQ0K PiBvcmlnaW5hbCBlbnZpcm9ubWVudC4NCj4NCj4gKGMpIEFjY29yZGluZyB0byB0aGUgUEkgc3Bl YyAodjEuNyksIHRoZSBTdGFydHVwQWxsQVBzKCksDQo+IFN0YXJ0dXBUaGlzQVAoKSwgU3dpdGNo QlNQKCksIEVuYWJsZURpc2FibGVBUCgpIG1lbWJlciBmdW5jdGlvbnMgb2YNCj4gRUZJX01QX1NF UlZJQ0VTX1BST1RPQ09MIG1heSBvbmx5IGJlIGNhbGxlZCBvbiB0aGUgKGN1cnJlbnQpIEJTUC4N Cj4gQmVjYXVzZSBvZiB0aGlzLCBpdCBpcyBPSyB0byBjYWxsIFZhbGlkQ1IzR2R0SWR0Q2hlY2so KSBhcyB0aGUgdmVyeQ0KPiBmaXJzdCBhY3Rpb24gaW4gdGhlIGFib3ZlLWxpc3RlZCBEeGVNcExp YiBmdW5jdGlvbnMuDQo+DQo+IChBc3N1bWluZyB0aGUgcHJvdG9jb2wgbWVtYmVycyBhcmUgY2Fs bGVkIGZyb20gYW4gQVAsIGFuZCBjb25zZXF1ZW50bHkNCj4gd2UgY2hlY2sgQ1IzIC8gR0RUUiAv IElEVFIgb24gdGhlIEFQIChhbmQgbm90IG9uIHRoZSBCU1ApLCB0aGF0J3MgdGhlDQo+ICpjYWxs ZXIncyogZmF1bHQsIHBlciBzcGVjISkNCg0KVGhpcyBtZWFucyB3ZSBjYW4gbW92ZSB0aGUgVmFs aWRDcjNHZHRJZHRDaGVjaygpIGZ1bmN0aW9uIHRvDQoiRHhlTXBMaWIuYyIsIGFuZCBpdCBpcyBu b3QgbmVjZXNzYXJ5IHRvIG1vZGlmeSAiTXBMaWIuaCIuDQoNClRoYW5rcw0KTGFzemxvDQoNCg0K DQoNCg== --_000_BY5PR11MB4007B4B0A75F5C87A1731A988C2D0BY5PR11MB4007namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Why do we need a new PCD to control such ch= eck? Under what circumstance the PCD is false?
We may need to move such check out of MpLib= .c. Because when bps runs at 32bit mode, AP doesn=A1=AFt need to switch to = long mode, such check is not needed and also always passes.

We should not assume PEI runs a= t 32 bit mode.


=B7=A2=BC=FE=C8=CB: devel@= edk2.groups.io <devel@edk2.groups.io> =B4=FA=B1=ED Laszlo Ersek <l= ersek@redhat.com>
=B7=A2=CB=CD=CA=B1=BC=E4: Friday, September 4, 2020 3:55:47 AM
=CA=D5=BC=FE=C8=CB: Dong, Eric <eric.dong@intel.com>; devel@e= dk2.groups.io <devel@edk2.groups.io>
=B3=AD=CB=CD: Ni, Ray <ray.ni@intel.com>
=D6=F7=CC=E2: Re: [edk2-devel] [PATCH v2] UefiCpuPkg/MpInitLib: Add= check for CR3/GDT/IDT.
 
On 09/03/20 21:00, Laszlo Ersek wrote:

> (10) More importantly, ValidCR3GdtIdtCheck() should not be called in = the
> Worker functions for StartupAllAPs, StartupThisAP, SwitchBSP, and
> EnableDisableAP, in "UefiCpuPkg/Library/MpInitLib/MpLib.c".=
>
> Instead, the calls should be made in the DXE instance of the library<= br> > ("UefiCpuPkg/Library/MpInitLib/DxeMpLib.c"), at the very to= p of the
> functions:
>
> - MpInitLibStartupAllAPs
> - MpInitLibStartupThisAP
> - MpInitLibSwitchBSP
> - MpInitLibEnableDisableAP
>
> Here's why:
>
> (a) The symptom does not affect the PEI phase -- by the time the UEFI=
> application is executed, the PEI phase has ended; there's no need to<= br> > modify the PEI instance of the library.
>
> (b) The currently proposed failure exits are too late. For example, i= n
> the SwitchBSPWorker() function, by the time we exit, we have called > DisableApicTimerInterrupt(), SaveAndDisableInterrupts(), and
> DisableLvtInterrupts() -- and the error path does not restore the
> original environment.
>
> (c) According to the PI spec (v1.7), the StartupAllAPs(),
> StartupThisAP(), SwitchBSP(), EnableDisableAP() member functions of > EFI_MP_SERVICES_PROTOCOL may only be called on the (current) BSP.
> Because of this, it is OK to call ValidCR3GdtIdtCheck() as the very > first action in the above-listed DxeMpLib functions.
>
> (Assuming the protocol members are called from an AP, and consequentl= y
> we check CR3 / GDTR / IDTR on the AP (and not on the BSP), that's the=
> *caller's* fault, per spec!)

This means we can move the ValidCr3GdtIdtCheck() function to
"DxeMpLib.c", and it is not necessary to modify "MpLib.h&qu= ot;.

Thanks
Laszlo




--_000_BY5PR11MB4007B4B0A75F5C87A1731A988C2D0BY5PR11MB4007namp_--