From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 2C4747803CE for ; Mon, 27 May 2024 02:38:25 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=M0rbEj4fvnEdn99UfDecr8N83LcBpKEFsYzANexiaQo=; c=relaxed/simple; d=groups.io; h=From:To:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:msip_labels:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20240206; t=1716777505; v=1; b=EnAhJvY2XK6na/YF8f6psKjgtC4j3jJkyTcSo8zFhOafdDC/ORSPRw43iKVUVijxO+l+JYYL H3N9v9O/ZawEQ2K0ERpOxTMwLp0VudjO4Do4N84YOgJIAi8a5xfEpdYh1dY3ylH3uDaPKILOOgH q69sqIfcp0Pwzg6iBVGPclMb/7FLiJ3tHFlDCDK8P7OK8Odg2S8eaJiHOnrq1WY0K1FHzRVjHlv HLLJFXrw6MynG4e1LaoTF1DHkf22KNtcToXgHEUnPBsOESSLXD5xFu7jxyieNoIL1cJyzZtoBXQ aACALHpMvPys8dKxy6sQzvMvDYKKp0j0jNhCh8vAYpf8w== X-Received: by 127.0.0.2 with SMTP id 3HHbYY7687511xiQe7fuYzEz; Sun, 26 May 2024 19:38:24 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by mx.groups.io with SMTP id smtpd.web11.19317.1716777503677773282 for ; Sun, 26 May 2024 19:38:23 -0700 X-CSE-ConnectionGUID: 0nn+Iuk1RluticeiMph6TQ== X-CSE-MsgGUID: Vyl57VzhQKOIAQpgSN1abA== X-IronPort-AV: E=McAfee;i="6600,9927,11084"; a="13262336" X-IronPort-AV: E=Sophos;i="6.08,191,1712646000"; d="scan'208,217";a="13262336" X-Received: from orviesa005.jf.intel.com ([10.64.159.145]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 May 2024 19:38:23 -0700 X-CSE-ConnectionGUID: sMDY6CkhQDmlyT0iJvcRFQ== X-CSE-MsgGUID: GV5mivYmQTGVvMJg8LJK8w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,191,1712646000"; d="scan'208,217";a="39455570" X-Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa005.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 26 May 2024 19:38:23 -0700 X-Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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.2507.39; Sun, 26 May 2024 19:38:22 -0700 X-Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 26 May 2024 19:38:22 -0700 X-Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Sun, 26 May 2024 19:38:22 -0700 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) 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.2507.39; Sun, 26 May 2024 19:38:21 -0700 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by PH8PR11MB7000.namprd11.prod.outlook.com (2603:10b6:510:220::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.31; Mon, 27 May 2024 02:38:19 +0000 X-Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::41a4:c775:32e6:76a8]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::41a4:c775:32e6:76a8%4]) with mapi id 15.20.7611.025; Mon, 27 May 2024 02:38:19 +0000 From: "Ni, Ray" To: gaoliming , "devel@edk2.groups.io" , "Feng, Ning" Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg/MpLib:Do not assume BSP is #0. Thread-Topic: [edk2-devel] [PATCH] UefiCpuPkg/MpLib:Do not assume BSP is #0. Thread-Index: AQHarjCN0uJNmp/a9kao0ZDr8qKuQLGnKlH3gAAAkauAAK8XAIAChxWY Date: Mon, 27 May 2024 02:38:18 +0000 Message-ID: References: <20240525074209.1672006-1-ning.feng@intel.com> <17D29748B3A2AE5A.12956@groups.io> <00c901daae9b$2d686070$88392150$@byosoft.com.cn> In-Reply-To: <00c901daae9b$2d686070$88392150$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|PH8PR11MB7000:EE_ x-ms-office365-filtering-correlation-id: afd7bb3d-fcf5-44a9-cb2a-08dc7df61191 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: =?gb2312?B?ZmJxTk80VlpiVzFsTTBKSHZ1UzVJTWJFWS9Fa3VjZ1J6andFWmh3SGpjNXZK?= =?gb2312?B?QWtqeGVQTVc0eUhBdlBxemhvTUtDYjVaditIdVlGOU55VlJneEhCOGEyT0h3?= =?gb2312?B?SnBIckxaM0lXRzgrZ2JUeVRMOE45NHo1MGxDSEkrdUVlTWNyMXl5WldjQ3lk?= =?gb2312?B?eDZFcFhlTGFPWXFJSjJveGQ0Yko4aHhPaHFQTFVMeVVSNWpYK3J3RElZeUJ6?= =?gb2312?B?RHU2S2xvSGxCU1JaNkZtNWpqYXpjOFE0a1YwZzV4UWQ5ZjJ1QW9LR2ZteG5E?= =?gb2312?B?cENBWHYyMDNqMjVBYW5HT1NIV3ZHSEpTb1hDNFBXeTl5WWhoUlc2RW1tSnJo?= =?gb2312?B?SWhIeFE5aktIRmFqcDArcGplRnpYZi9sMU5Xa1YrVTV5aElEN2xMbkJ0Y3J3?= =?gb2312?B?UVNVQ0hOaThOUWQ4aGZZVUZFUmt5MXJzeis5aHoyZHMzRkFyWThnMDJzNUFu?= =?gb2312?B?T3lqUzFWSTViNCtPVWlmTUlIUyttbFc3UG56L1NZZEY4QWd5R2J1QS9tbWhB?= =?gb2312?B?T1A2OTY1bGV6bDZYb0lTUmhGS2hFKzVUcUxGNUEvQUVTK21zcjU4ZkY4Vkpv?= =?gb2312?B?WmljUzB6QndETE4rbFhGV0Fic2pJbWgxOHlBYUdNeXp6MDdJVEJMYWl5Y1Bj?= =?gb2312?B?Z3kzc1pvYVk2Yk0zanZISGNYK2JIbkpQbzJ5R00xejJ5b0U5bTBqanE4dG9n?= =?gb2312?B?dTJEQ3BGZFdXeUFjU0hzVGc3Z2xUZkhhRlViMUtnbVN0UWY2OFJkby81bXV4?= =?gb2312?B?RWJtdVBSRTA3dS9WSndUekNaYUNoaXRuRXFkY3ZBNjJaSkpKZWtQTmU3MW13?= =?gb2312?B?RkVSSEhGVjhsNzRIQ0w1OUZ2NXFQZ0FDbmZEWDRrQzdFbWJUTVJxK0dJYnlS?= =?gb2312?B?ekxEMkZOWGpwNmdsMFZJeVc0SnV2Vm1oZ2VEa3lvcS82L0x5NUJKSzdwVlZ2?= =?gb2312?B?Nmc1RVVnS1hIdGFFTjhNaVJQRG5jdXpobytRUkFWRmNIbnRIbEYwNjB6bnJm?= =?gb2312?B?a2hSUXY1MUJabHpmZ0FXMVNvYXhKdzVRVjFBRGQxZlgrZGxpSk9DREVoNWFa?= =?gb2312?B?VkhRMGUwUm1mZVlONFBTMXJKTVlGVWt3aE01VEpBc29ndGhvRFgzLzZkY240?= =?gb2312?B?WGV4czlwbjN2MGs1cWdJNDBqcVJYc3hSYUVQUktRUnFYUHFRKzJIbjRGdHRt?= =?gb2312?B?NWlDZUIwU3FydFNDazJkNy9zNjMxd2psOGJUd3FtOFlMdWZYd3ZLRXZBNE1F?= =?gb2312?B?cVJpRDRnbEc1blpWT3M0cGJhUTlWYnRRN3lidnU4WDVYdzd3WWNjWVU3ZUtH?= =?gb2312?B?clNqcW54RkxrMk1JZzRYbUpPL0J2RGtCdys1dUNQd3BEV2hETnNCQmQ2UmNP?= =?gb2312?B?cUdDenJQSVk5K1h4YjY5dTMzTUNubXYvVTJaTXl6YWFSWmtrVmsvS3h1cmhp?= =?gb2312?B?VDVVMXMxS0pCU29ISWpXT3BvYWtGOTBJNFIxQ2x3R2JBKzFHZVd3dUEyWFJH?= =?gb2312?B?blQ2SHhWTDhwOXFJNHF4bThzOTg5ZndyYTdjQTF2eEVsY0RTTGNnaXh2VlRo?= =?gb2312?B?eTZxQUVWbjZLaW5NTW5qdjgvNmtEbGkxcGVWV2tTcE5RZ3JDMUlIMEk1SkNt?= =?gb2312?B?cE81NkZHb0c0bzFqVWo4ekRYcS9MWW5IRTdXVFZ1Y3cxWWZNNFV3NFBBRGdW?= =?gb2312?B?ajJqUWQ4K3lsUkJrWFlNeU1zd1VMajdheHRLSEYyOXZXZ1YrZnlQOFBZVHRm?= =?gb2312?Q?ZmgDTDbuzQgY3RFib0=3D?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?QmNYL0hIRko5bkpJb25DTkdNbk9MVldpSjFoYlZDNitQdVZoVVBqM2p5bUZj?= =?gb2312?B?RzJYNi9qUStETitiTEN0WDFkOW1UK05BQ2xvekxmR0lQNVdJcytTRTV3TzRm?= =?gb2312?B?cFkrbm55QTk2OXAyb1RUU1BhaE5Rb2xpc3lGSVN3Q1VKb2QxVmREbnlJTE4z?= =?gb2312?B?NENCdlZRZnhTQ0NLRlRWaDJmdmpiOWtOMlhKQW50ZTNiTk42bFJ1V0hMMGEy?= =?gb2312?B?ZFRlTndmT0h4d054dU9EejZDWnkvUy9aZFBLenl1VjNuS3k2NVhVZmxUTjcx?= =?gb2312?B?V2pqVjA1T3d0dHVMVnRLelNUcjJhQkhXdi9MbTRiT1lOTHRJODR0TjZPMCsw?= =?gb2312?B?aU9WWkt4dG9qVGdUQlE4L2hXQXVyQ25mMDNFU1VyNjdkcUNQcXhIR1Y1ZHFT?= =?gb2312?B?SXVKU05MNXZRUFQzTDl5aVJ0cmlOajcxWGQ5NThvRUZoRTF0cmdXeXlDc0pv?= =?gb2312?B?SDY5SW9VWHF0a0JzejQvejZNZDJOSUo1NUZ2Z2ZZMjlCd08ybSt4WHZyNnFL?= =?gb2312?B?NlR4N3Fla1ZvMVptTUcya0tvN3Erc3hWQzEwVkpDUnErUkdObmE1d251WVhm?= =?gb2312?B?dWZET1c3a3poOXEreDIrOExTTHorSDBtWXk0czBwZ1lFOHhVYWI3MnhBRkJD?= =?gb2312?B?SDVVNklaRDVabGpic25GNTJocmdZQkV0NUZkRzB2b0lpOFVDUzl0SExBRjQw?= =?gb2312?B?RkgySm42K2hOV0dBaFBOejhkbHFlbDgxQ2VZUlJTWnJ5ZWZLYlU0c205YXJs?= =?gb2312?B?YUJubDhmODJTUFR6SkI3ZGwxMGwzSXlvdllNbGpsZy90TGt0WjBzbnBTVm1P?= =?gb2312?B?dkt2ZHJaL2ZHd0hZQTFXbGNBRWZqZU51bUFINW9aS1dRVk9vbi9NYVdIN2ph?= =?gb2312?B?b0tCbjVJK2RZaXN6dWNOekw0LytYcEI4M3E0QTI1QzZOdlQrNndSZ2lRbE5s?= =?gb2312?B?dTRiamNFUUkxaGFmK3dRQTNVMjIzVG84S21wT3VQcGo5MFJ0OFdjWndUM3RX?= =?gb2312?B?VzFYQ3JjTTJldUluTmNsZmN1K0xyNEh0b2w2QTZQZlppV3k0bFVUMjNucXN6?= =?gb2312?B?K0Q3NEY0bFdGOFo2ZWFzallqQ2VSNHlpcGZtaStLajlFazhjY2tXVEJlNEhH?= =?gb2312?B?Nit5dlRWdUxyNlExMElpZWJweGU1NjFOU09EVlZKODRGQ001NWhwc0hqRjhy?= =?gb2312?B?STNOS2hMdWoxTHg0WWFmU01rSnJhU0srNnpPS3ZTNHFRWmhHcVk4VjFJTFh2?= =?gb2312?B?NkRnTjNVbmtETytOYlZraDdOcVNyOE5zb1UyVzR4TzVETXFtWU9rOTJDTFF2?= =?gb2312?B?OEVaZXE2RTkvV2o4UkVqeEV6M0lFWERWMm9Xd21QR1ZUTktwa2pFMExIcU9H?= =?gb2312?B?MFozNjVmbUpzSStnOUNRcENYYWJYcHVObDFlaXNNbUR6VzZaWkJJcjY5TlJX?= =?gb2312?B?ZVJnYlN4cXpyYnBtYUVJNy9kdmQvalRKbnpkRzM3TjZYK3ZQS004TGdnVUR1?= =?gb2312?B?UERlRmt0N0kxcDJ4cG00eHdKakZnWDZ6aTBvaWlKVUFjRWQzZkZhamdYTGRO?= =?gb2312?B?MzJBMlQvNzdzb1A4OFJuNmY1MUF5V2hnVjd2VDhBbjJNc3drR295UWx6UTJw?= =?gb2312?B?WURKaGQ1bDh6Qm9UK0xBYm5oREdXMXRuL3VGL0lPNUlJRmJjL0M5ZWF3Q0xs?= =?gb2312?B?U1hZaFpEKzZPVWRuQ24yRFFFV1prYjdMWC94MlFsbTZMMG4xQUhVbklCMlJt?= =?gb2312?B?SEJRYVZOWlNXUmVRdzRPMFQxYmw5TXlXQTNrc2E2Z0JZTkVrK1oyaWNWL3k0?= =?gb2312?B?YXA1bEJEQzZBNEdKNWZZeXd4TWpJcFlzU2pRd2VadnNsWkJGUEdaVm41RDIw?= =?gb2312?B?NVBkVTZzRHBpQWdmWlB1Yk1Oa0V6Vzh3Y3JiU1U3aEQ0dGViZmNjRmhPK04z?= =?gb2312?B?MnMreFJDSFczSnkyMUtySWdyVnRlQmY0cEVVYzRHWisyeGNLWllnVnlXcVRu?= =?gb2312?B?M2cyS0NEZTB2VHk3blcvK1VaTENWaVNKWE1ZZFR5VlRyVWtxL0tJRG95cTRV?= =?gb2312?B?eWEzMElWRUZ2KzZTUkxDYll2bklnYzcvOUVPTHdHWkdNQ3BDWGlTZUZDaFgw?= =?gb2312?Q?frUs=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: afd7bb3d-fcf5-44a9-cb2a-08dc7df61191 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 May 2024 02:38:18.9419 (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: wzV8Kma2Sm2GylK90bOEcg+P4dJ7A/6FzD7DFLRWPrl/m5g+zY4HHAHXBHdw9h9+9b65Fd8sbaUygSyHoo93Tg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB7000 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Sun, 26 May 2024 19:38:23 -0700 Resent-From: ray.ni@intel.com Reply-To: devel@edk2.groups.io,ray.ni@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: ma4XlaCILrIpcpdPzfw1z2qZx7686176AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_MN6PR11MB8244EE282AC2744A5A784DA38CF02MN6PR11MB8244namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=EnAhJvY2; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io --_000_MN6PR11MB8244EE282AC2744A5A784DA38CF02MN6PR11MB8244namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SSBtb2RpZmllZCB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gYWRkIG1vcmUgQ2MgdGFncyB0byBieS1w YXNzIENJIGNoZWNrcy4NCg0KQW5kIEkgZm91bmQgaXQgaGFzIGJlZW4gbWVyZ2VkLiBUaGFua3Ms IExpbWluZyENCg0KDQpUaGFua3MsDQpSYXkNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQpGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NClNlbnQ6IFNh dHVyZGF5LCBNYXkgMjUsIDIwMjQgMjA6MDANClRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2 ZWxAZWRrMi5ncm91cHMuaW8+OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgRmVuZywgTmlu ZyA8bmluZy5mZW5nQGludGVsLmNvbT4NClN1YmplY3Q6ILvYuLQ6IFtlZGsyLWRldmVsXSBbUEFU Q0hdIFVlZmlDcHVQa2cvTXBMaWI6RG8gbm90IGFzc3VtZSBCU1AgaXMgIzAuDQoNCg0KUmF5Og0K DQogIFRoaXMgUFIgZG9lc26hr3QgcGFzcyBDSS4gUGxlYXNlIGNoZWNrLg0KDQoNCg0KVGhhbmtz DQoNCkxpbWluZw0KDQq3orz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdy b3Vwcy5pbz4gtPqx7SBOaSwgUmF5DQq3osvNyrG85DogMjAyNMTqNdTCMjXI1SA5OjM1DQrK1bz+ yMs6IEZlbmcsIE5pbmcgPG5pbmcuZmVuZ0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlv c29mdC5jb20uY24+DQrW98ziOiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZy9N cExpYjpEbyBub3QgYXNzdW1lIEJTUCBpcyAjMC4NCg0KDQoNCkkgY3JlYXRlZCBQUiBmb3IgbWVy Z2U6IFVlZmlDcHVQa2cvTXBMaWI6RG8gbm90IGFzc3VtZSBCU1AgaXMgIzAuIGJ5IG5pcnVpeXUg oaQgUHVsbCBSZXF1ZXN0ICM1NjgzIKGkIHRpYW5vY29yZS9lZGsyIChnaXRodWIuY29tKTxodHRw czovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL2VkazIvcHVsbC81NjgzPg0KDQpCdXQsIEkgY2Fubm90 IHNldCAicHVzaCIgbGFiZWwuDQoNCg0KDQpAR2FvLCBMaW1pbmc8bWFpbHRvOmdhb2xpbWluZ0Bi eW9zb2Z0LmNvbS5jbj4/DQoNCg0KDQpUaGFua3MsDQoNClJheQ0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KDQpGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2 ZWxAZWRrMi5ncm91cHMuaW8+IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbzxtYWlsdG86ZGV2ZWxAZWRr Mi5ncm91cHMuaW8+PiBvbiBiZWhhbGYgb2YgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbTxtYWls dG86cmF5Lm5pQGludGVsLmNvbT4+DQpTZW50OiBTYXR1cmRheSwgTWF5IDI1LCAyMDI0IDk6MzIN ClRvOiBGZW5nLCBOaW5nIDxuaW5nLmZlbmdAaW50ZWwuY29tPG1haWx0bzpuaW5nLmZlbmdAaW50 ZWwuY29tPj47IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5p bz4gPGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz4+DQpT dWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gVWVmaUNwdVBrZy9NcExpYjpEbyBub3Qg YXNzdW1lIEJTUCBpcyAjMC4NCg0KDQoNClJldmlld2VkLWJ5OiBSYXkgTmkgPHJheS5uaUBpbnRl bC5jb208bWFpbHRvOnJheS5uaUBpbnRlbC5jb20+Pg0KDQoNCg0KVGhhbmtzLA0KDQpSYXkNCg0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KRnJvbTogRmVuZywgTmluZyA8bmlu Zy5mZW5nQGludGVsLmNvbTxtYWlsdG86bmluZy5mZW5nQGludGVsLmNvbT4+DQpTZW50OiBTYXR1 cmRheSwgTWF5IDI1LCAyMDI0IDE1OjQyDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRv OmRldmVsQGVkazIuZ3JvdXBzLmlvPiA8ZGV2ZWxAZWRrMi5ncm91cHMuaW88bWFpbHRvOmRldmVs QGVkazIuZ3JvdXBzLmlvPj4NCkNjOiBGZW5nLCBOaW5nIDxuaW5nLmZlbmdAaW50ZWwuY29tPG1h aWx0bzpuaW5nLmZlbmdAaW50ZWwuY29tPj47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb208bWFp bHRvOnJheS5uaUBpbnRlbC5jb20+Pg0KU3ViamVjdDogW1BBVENIXSBVZWZpQ3B1UGtnL01wTGli OkRvIG5vdCBhc3N1bWUgQlNQIGlzICMwLg0KDQoNCg0KUkVGOmh0dHBzOi8vYnVnemlsbGEudGlh bm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc3OA0KTVBJbml0bGliIGhhdmUgd3JvbmcgZXhw ZWN0YXRpb24gdGhhdCBCU1AgaW5kZXggc2hvdWxkIGFsd2F5cyBiZSAwIGluDQpNcEluaXRMaWJJ bml0aWFsaXplKCksIFN3aXRjaEJzcCgpLEFwV2FrZXVwRnVuY3Rpb24oKS4NClRoYXQgd2lsbCBj YXVzZSB0aGUgZGF0YSBtaXNtYXRjaCwgaWYgdGhlIGluaXRpYWwgQlNQIGlzIG5vdCAwLg0KQ2M6 IFJheSBOaSA8cmF5Lm5pQGludGVsLmNvbTxtYWlsdG86cmF5Lm5pQGludGVsLmNvbT4+DQpTaWdu ZWQtb2ZmLWJ5OiBOaW5nIEZlbmcgPG5pbmcuZmVuZ0BpbnRlbC5jb208bWFpbHRvOm5pbmcuZmVu Z0BpbnRlbC5jb20+Pg0KLS0tDQogVWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9NcExpYi5j IHwgNDcgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KIDEgZmlsZSBjaGFuZ2VkLCAzMCBp bnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL1VlZmlDcHVQa2cv TGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYyBiL1VlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIv TXBMaWIuYw0KaW5kZXggZDcyNDQ1NjUwMi4uYmE0OTdjYmZkOSAxMDA2NDQNCi0tLSBhL1VlZmlD cHVQa2cvTGlicmFyeS9NcEluaXRMaWIvTXBMaWIuYw0KKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5 L01wSW5pdExpYi9NcExpYi5jDQpAQCAtMTE0LDYgKzExNCwxMCBAQCBGdXR1cmVCU1BQcm9jICgN CiAgIFNhdmVWb2xhdGlsZVJlZ2lzdGVycyAoJkRhdGFJbkhvYi0+QVBJbmZvLlZvbGF0aWxlUmVn aXN0ZXJzKTsNCg0KICAgQXNtRXhjaGFuZ2VSb2xlICgmRGF0YUluSG9iLT5BUEluZm8sICZEYXRh SW5Ib2ItPkJTUEluZm8pOw0KDQogICBSZXN0b3JlVm9sYXRpbGVSZWdpc3RlcnMgKCZEYXRhSW5I b2ItPkFQSW5mby5Wb2xhdGlsZVJlZ2lzdGVycywgRkFMU0UpOw0KDQorICAvLw0KDQorICAvLyBS ZXN0b3JlIFZvbGF0aWxlUmVnIHNhdmVkIGluIENwdU1wRGF0YS0+Q3B1RGF0YQ0KDQorICAvLw0K DQorICBDb3B5TWVtICgmRGF0YUluSG9iLT5DcHVEYXRhW0RhdGFJbkhvYi0+QnNwTnVtYmVyXS5W b2xhdGlsZVJlZ2lzdGVycywgJkRhdGFJbkhvYi0+QVBJbmZvLlZvbGF0aWxlUmVnaXN0ZXJzLCBz aXplb2YgKENQVV9WT0xBVElMRV9SRUdJU1RFUlMpKTsNCg0KIH0NCg0KDQoNCiAvKioNCg0KQEAg LTc2MSwxMSArNzY1LDExIEBAIEFwV2FrZXVwRnVuY3Rpb24gKA0KICAgICAgIEJpc3REYXRhICAg ICA9IChVSU5UMzIpQXBTdGFja0RhdGEtPkJpc3Q7DQoNCg0KDQogICAgICAgLy8NCg0KLSAgICAg IC8vIENwdU1wRGF0YS0+Q3B1RGF0YVswXS5Wb2xhdGlsZVJlZ2lzdGVycyBpcyBpbml0aWFsaXpl ZCBiYXNlZCBvbiBCU1AgZW52aXJvbm1lbnQsDQoNCisgICAgICAvLyBDcHVNcERhdGEtPkNwdURh dGFbQnNwTnVtYmVyXS5Wb2xhdGlsZVJlZ2lzdGVycyBpcyBpbml0aWFsaXplZCBiYXNlZCBvbiBC U1AgZW52aXJvbm1lbnQsDQoNCiAgICAgICAvLyAgIHRvIGluaXRpYWxpemUgQVAgaW4gSW5pdENv bmZpZyBwYXRoLg0KDQotICAgICAgLy8gTk9URTogSURUUi5CQVNFIHN0b3JlZCBpbiBDcHVNcERh dGEtPkNwdURhdGFbMF0uVm9sYXRpbGVSZWdpc3RlcnMgcG9pbnRzIHRvIGEgZGlmZmVyZW50IElE VCBzaGFyZWQgYnkgYWxsIEFQcy4NCg0KKyAgICAgIC8vIE5PVEU6IElEVFIuQkFTRSBzdG9yZWQg aW4gQ3B1TXBEYXRhLT5DcHVEYXRhW0JzcE51bWJlcl0uVm9sYXRpbGVSZWdpc3RlcnMgcG9pbnRz IHRvIGEgZGlmZmVyZW50IElEVCBzaGFyZWQgYnkgYWxsIEFQcy4NCg0KICAgICAgIC8vDQoNCi0g ICAgICBSZXN0b3JlVm9sYXRpbGVSZWdpc3RlcnMgKCZDcHVNcERhdGEtPkNwdURhdGFbMF0uVm9s YXRpbGVSZWdpc3RlcnMsIEZBTFNFKTsNCg0KKyAgICAgIFJlc3RvcmVWb2xhdGlsZVJlZ2lzdGVy cyAoJkNwdU1wRGF0YS0+Q3B1RGF0YVtDcHVNcERhdGEtPkJzcE51bWJlcl0uVm9sYXRpbGVSZWdp c3RlcnMsIEZBTFNFKTsNCg0KICAgICAgIEluaXRpYWxpemVBcERhdGEgKENwdU1wRGF0YSwgUHJv Y2Vzc29yTnVtYmVyLCBCaXN0RGF0YSwgQXBUb3BPZlN0YWNrKTsNCg0KICAgICAgIEFwU3RhcnR1 cFNpZ25hbEJ1ZmZlciA9IENwdU1wRGF0YS0+Q3B1RGF0YVtQcm9jZXNzb3JOdW1iZXJdLlN0YXJ0 dXBBcFNpZ25hbDsNCg0KICAgICB9IGVsc2Ugew0KDQpAQCAtNzk4LDEwICs4MDIsMTAgQEAgQXBX YWtldXBGdW5jdGlvbiAoDQogICAgICAgICAvLyAxLiBBUCBpcyByZS1lbmFibGVkIGFmdGVyIGl0 J3MgZGlzYWJsZWQsIGluIGVpdGhlciBQRUkgb3IgRFhFIHBoYXNlLg0KDQogICAgICAgICAvLyAy LiBBUCBpcyBpbml0aWFsaXplZCBpbiBEWEUgcGhhc2UuDQoNCiAgICAgICAgIC8vIEluIGVpdGhl ciBjYXNlLCB1c2UgdGhlIHZvbGF0aWxlIHJlZ2lzdGVycyB2YWx1ZSBkZXJpdmVkIGZyb20gQlNQ Lg0KDQotICAgICAgICAvLyBOT1RFOiBJRFRSLkJBU0Ugc3RvcmVkIGluIENwdU1wRGF0YS0+Q3B1 RGF0YVswXS5Wb2xhdGlsZVJlZ2lzdGVycyBwb2ludHMgdG8gYQ0KDQorICAgICAgICAvLyBOT1RF OiBJRFRSLkJBU0Ugc3RvcmVkIGluIENwdU1wRGF0YS0+Q3B1RGF0YVtCc3BOdW1iZXJdLlZvbGF0 aWxlUmVnaXN0ZXJzIHBvaW50cyB0byBhDQoNCiAgICAgICAgIC8vICAgZGlmZmVyZW50IElEVCBz aGFyZWQgYnkgYWxsIEFQcy4NCg0KICAgICAgICAgLy8NCg0KLSAgICAgICAgUmVzdG9yZVZvbGF0 aWxlUmVnaXN0ZXJzICgmQ3B1TXBEYXRhLT5DcHVEYXRhWzBdLlZvbGF0aWxlUmVnaXN0ZXJzLCBG QUxTRSk7DQoNCisgICAgICAgIFJlc3RvcmVWb2xhdGlsZVJlZ2lzdGVycyAoJkNwdU1wRGF0YS0+ Q3B1RGF0YVtDcHVNcERhdGEtPkJzcE51bWJlcl0uVm9sYXRpbGVSZWdpc3RlcnMsIEZBTFNFKTsN Cg0KICAgICAgIH0gZWxzZSB7DQoNCiAgICAgICAgIGlmIChDcHVNcERhdGEtPkFwTG9vcE1vZGUg PT0gQXBJbkhsdExvb3ApIHsNCg0KICAgICAgICAgICAvLw0KDQpAQCAtOTI3LDcgKzkzMSw3IEBA IER4ZUFwRW50cnlQb2ludCAoDQogICAgIEFzbVdyaXRlTXNyNjQgKE1TUl9JQTMyX0VGRVIsIEVm ZXJNc3IuVWludDY0KTsNCg0KICAgfQ0KDQoNCg0KLSAgUmVzdG9yZVZvbGF0aWxlUmVnaXN0ZXJz ICgmQ3B1TXBEYXRhLT5DcHVEYXRhWzBdLlZvbGF0aWxlUmVnaXN0ZXJzLCBGQUxTRSk7DQoNCisg IFJlc3RvcmVWb2xhdGlsZVJlZ2lzdGVycyAoJkNwdU1wRGF0YS0+Q3B1RGF0YVtDcHVNcERhdGEt PkJzcE51bWJlcl0uVm9sYXRpbGVSZWdpc3RlcnMsIEZBTFNFKTsNCg0KICAgSW50ZXJsb2NrZWRJ bmNyZW1lbnQgKChVSU5UMzIgKikmQ3B1TXBEYXRhLT5GaW5pc2hlZENvdW50KTsNCg0KICAgUGxh Y2VBUEluTXdhaXRMb29wT3JSdW5Mb29wICgNCg0KICAgICBDcHVNcERhdGEtPkFwTG9vcE1vZGUs DQoNCkBAIC0yMTUxLDExICsyMTU1LDE2IEBAIE1wSW5pdExpYkluaXRpYWxpemUgKA0KICAgQ3B1 TXBEYXRhLT5CYWNrdXBCdWZmZXJTaXplID0gQXBSZXNldFZlY3RvclNpemVCZWxvdzFNYjsNCg0K ICAgQ3B1TXBEYXRhLT5XYWtldXBCdWZmZXIgICAgID0gKFVJTlROKS0xOw0KDQogICBDcHVNcERh dGEtPkNwdUNvdW50ICAgICAgICAgPSAxOw0KDQotICBDcHVNcERhdGEtPkJzcE51bWJlciAgICAg ICAgPSAwOw0KDQotICBDcHVNcERhdGEtPldhaXRFdmVudCAgICAgICAgPSBOVUxMOw0KDQotICBD cHVNcERhdGEtPlN3aXRjaEJzcEZsYWcgICAgPSBGQUxTRTsNCg0KLSAgQ3B1TXBEYXRhLT5DcHVE YXRhICAgICAgICAgID0gKENQVV9BUF9EQVRBICopKENwdU1wRGF0YSArIDEpOw0KDQotICBDcHVN cERhdGEtPkNwdUluZm9JbkhvYiAgICAgPSAoVUlOVDY0KShVSU5UTikoQ3B1TXBEYXRhLT5DcHVE YXRhICsgTWF4TG9naWNhbFByb2Nlc3Nvck51bWJlcik7DQoNCisgIGlmIChGaXJzdE1wSGFuZE9m ZiA9PSBOVUxMKSB7DQoNCisgICAgQ3B1TXBEYXRhLT5Cc3BOdW1iZXIgPSAwOw0KDQorICB9IGVs c2Ugew0KDQorICAgIENwdU1wRGF0YS0+QnNwTnVtYmVyID0gR2V0QnNwTnVtYmVyIChGaXJzdE1w SGFuZE9mZik7DQoNCisgIH0NCg0KKw0KDQorICBDcHVNcERhdGEtPldhaXRFdmVudCAgICAgPSBO VUxMOw0KDQorICBDcHVNcERhdGEtPlN3aXRjaEJzcEZsYWcgPSBGQUxTRTsNCg0KKyAgQ3B1TXBE YXRhLT5DcHVEYXRhICAgICAgID0gKENQVV9BUF9EQVRBICopKENwdU1wRGF0YSArIDEpOw0KDQor ICBDcHVNcERhdGEtPkNwdUluZm9JbkhvYiAgPSAoVUlOVDY0KShVSU5UTikoQ3B1TXBEYXRhLT5D cHVEYXRhICsgTWF4TG9naWNhbFByb2Nlc3Nvck51bWJlcik7DQoNCiAgIEluaXRpYWxpemVTcGlu TG9jayAoJkNwdU1wRGF0YS0+TXBMb2NrKTsNCg0KICAgQ3B1TXBEYXRhLT5TZXZFc0lzRW5hYmxl ZCAgID0gQ29uZmlkZW50aWFsQ29tcHV0aW5nR3Vlc3RIYXMgKENDQXR0ckFtZFNldkVzKTsNCg0K ICAgQ3B1TXBEYXRhLT5TZXZTbnBJc0VuYWJsZWQgID0gQ29uZmlkZW50aWFsQ29tcHV0aW5nR3Vl c3RIYXMgKENDQXR0ckFtZFNldlNucCk7DQoNCkBAIC0yMTg2LDExICsyMTk1LDExIEBAIE1wSW5p dExpYkluaXRpYWxpemUgKA0KICAgLy8gRG9uJ3QgcGFzcyBCU1AncyBUUiB0byBBUHMgdG8gYXZv aWQgQVAgaW5pdCBmYWlsdXJlLg0KDQogICAvLw0KDQogICBWb2xhdGlsZVJlZ2lzdGVycy5UciA9 IDA7DQoNCi0gIENvcHlNZW0gKCZDcHVNcERhdGEtPkNwdURhdGFbMF0uVm9sYXRpbGVSZWdpc3Rl cnMsICZWb2xhdGlsZVJlZ2lzdGVycywgc2l6ZW9mIChWb2xhdGlsZVJlZ2lzdGVycykpOw0KDQor ICBDb3B5TWVtICgmQ3B1TXBEYXRhLT5DcHVEYXRhW0NwdU1wRGF0YS0+QnNwTnVtYmVyXS5Wb2xh dGlsZVJlZ2lzdGVycywgJlZvbGF0aWxlUmVnaXN0ZXJzLCBzaXplb2YgKFZvbGF0aWxlUmVnaXN0 ZXJzKSk7DQoNCiAgIC8vDQoNCiAgIC8vIFNldCBCU1AgYmFzaWMgaW5mb3JtYXRpb24NCg0KICAg Ly8NCg0KLSAgSW5pdGlhbGl6ZUFwRGF0YSAoQ3B1TXBEYXRhLCAwLCAwLCBDcHVNcERhdGEtPkJ1 ZmZlciArIEFwU3RhY2tTaXplKTsNCg0KKyAgSW5pdGlhbGl6ZUFwRGF0YSAoQ3B1TXBEYXRhLCBD cHVNcERhdGEtPkJzcE51bWJlciwgMCwgQ3B1TXBEYXRhLT5CdWZmZXIgKyBBcFN0YWNrU2l6ZSAq IChDcHVNcERhdGEtPkJzcE51bWJlciArIDEpKTsNCg0KICAgLy8NCg0KICAgLy8gU2F2ZSBhc3Nl bWJseSBjb2RlIGluZm9ybWF0aW9uDQoNCiAgIC8vDQoNCkBAIC0yMjQ1LDkgKzIyNTQsOCBAQCBN cEluaXRMaWJJbml0aWFsaXplICgNCiAgICAgICBBbWRTZXZVcGRhdGVDcHVNcERhdGEgKENwdU1w RGF0YSk7DQoNCiAgICAgfQ0KDQoNCg0KLSAgICBDcHVNcERhdGEtPkNwdUNvdW50ICA9IE1heExv Z2ljYWxQcm9jZXNzb3JOdW1iZXI7DQoNCi0gICAgQ3B1TXBEYXRhLT5Cc3BOdW1iZXIgPSBHZXRC c3BOdW1iZXIgKEZpcnN0TXBIYW5kT2ZmKTsNCg0KLSAgICBDcHVJbmZvSW5Ib2IgICAgICAgICA9 IChDUFVfSU5GT19JTl9IT0IgKikoVUlOVE4pQ3B1TXBEYXRhLT5DcHVJbmZvSW5Ib2I7DQoNCisg ICAgQ3B1TXBEYXRhLT5DcHVDb3VudCA9IE1heExvZ2ljYWxQcm9jZXNzb3JOdW1iZXI7DQoNCisg ICAgQ3B1SW5mb0luSG9iICAgICAgICA9IChDUFVfSU5GT19JTl9IT0IgKikoVUlOVE4pQ3B1TXBE YXRhLT5DcHVJbmZvSW5Ib2I7DQoNCiAgICAgZm9yIChNcEhhbmRPZmYgPSBGaXJzdE1wSGFuZE9m ZjsNCg0KICAgICAgICAgIE1wSGFuZE9mZiAhPSBOVUxMOw0KDQogICAgICAgICAgTXBIYW5kT2Zm ID0gR2V0TmV4dE1wSGFuZE9mZkhvYiAoTXBIYW5kT2ZmKSkNCg0KQEAgLTI2MTUsNyArMjYyMywx MiBAQCBTd2l0Y2hCU1BXb3JrZXIgKA0KICAgU2F2ZVZvbGF0aWxlUmVnaXN0ZXJzICgmQ3B1TXBE YXRhLT5CU1BJbmZvLlZvbGF0aWxlUmVnaXN0ZXJzKTsNCg0KICAgQXNtRXhjaGFuZ2VSb2xlICgm Q3B1TXBEYXRhLT5CU1BJbmZvLCAmQ3B1TXBEYXRhLT5BUEluZm8pOw0KDQogICBSZXN0b3JlVm9s YXRpbGVSZWdpc3RlcnMgKCZDcHVNcERhdGEtPkJTUEluZm8uVm9sYXRpbGVSZWdpc3RlcnMsIEZB TFNFKTsNCg0KLQ0KDQorICAvLw0KDQorICAvLyBSZXN0b3JlIFZvbGF0aWxlUmVncyBzYXZlZCBp biBDcHVNcERhdGEtPkNwdURhdGENCg0KKyAgLy8gRG9uJ3QgcGFzcyBCU1AncyBUUiB0byBBUHMg dG8gYXZvaWQgQVAgaW5pdCBmYWlsdXJlLg0KDQorICAvLw0KDQorICBDb3B5TWVtICgmQ3B1TXBE YXRhLT5DcHVEYXRhW0NwdU1wRGF0YS0+TmV3QnNwTnVtYmVyXS5Wb2xhdGlsZVJlZ2lzdGVycywg JkNwdU1wRGF0YS0+QlNQSW5mby5Wb2xhdGlsZVJlZ2lzdGVycywgc2l6ZW9mIChDUFVfVk9MQVRJ TEVfUkVHSVNURVJTKSk7DQoNCisgIENwdU1wRGF0YS0+Q3B1RGF0YVtDcHVNcERhdGEtPk5ld0Jz cE51bWJlcl0uVm9sYXRpbGVSZWdpc3RlcnMuVHIgPSAwOw0KDQogICAvLw0KDQogICAvLyBTZXQg dGhlIEJTUCBiaXQgb2YgTVNSX0lBMzJfQVBJQ19CQVNFIG9uIG5ldyBCU1ANCg0KICAgLy8NCg0K LS0NCjIuMjUuMQ0KDQoNCg0KCi09LT0tPS09LT0tPS09LT0tPS09LT0tCkdyb3Vwcy5pbyBMaW5r czogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91cC4KVmlldy9SZXBs eSBPbmxpbmUgKCMxMTkyNzApOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVzc2Fn ZS8xMTkyNzAKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC8xMDYzMjQzMjUv NzY4NjE3NgpHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8KVW5zdWJzY3Jp YmU6IGh0dHBzOi8vZWRrMi5ncm91cHMuaW8vZy9kZXZlbC91bnN1YiBbcmViZWNjYUBvcGVuZncu aW9dCi09LT0tPS09LT0tPS09LT0tPS09LT0tCgoNCg== --_000_MN6PR11MB8244EE282AC2744A5A784DA38CF02MN6PR11MB8244namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
I modified the commit message to add more Cc tags to by-pass CI checks.

And I found it has been merged. Thanks, Liming!


Thanks,
Ray

From: gaoliming <gaolimi= ng@byosoft.com.cn>
Sent: Saturday, May 25, 2024 20:00
To: devel@edk2.groups.io <devel@edk2.groups.io>; Ni, Ray <r= ay.ni@intel.com>; Feng, Ning <ning.feng@intel.com>
Subject: =BB=D8=B8=B4: [edk2-devel] [PATCH] UefiCpuPkg/MpLib:Do not = assume BSP is #0.
 

Ray:

  This PR doesn=A1=AFt pass CI. Please check.

 

Thanks

Liming

=B7=A2=BC= =FE=C8=CB: devel@edk2.groups.io <devel@edk2.groups.io>= ; =B4=FA=B1=ED Ni, Ray
=B7=A2=CB=CD=CA=B1=BC=E4: 2024=C4=EA5=D4=C225=C8=D5 9:35
=CA=D5=BC=FE=C8=CB: Feng, Ning <ning.feng@intel.com>; devel@edk2.groups.io; Ni, R= ay <ray.ni@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn> =D6=F7=CC=E2: Re: [edk2-devel] [PATCH] UefiCpuPkg/MpLib:Do not assume BSP is #0.=

 

But, I cannot set "push" label= .

 

 

Thanks,

Ray


From= : devel@edk2.groups.io <devel@edk2.groups.io> on behalf of= Ni, Ray <ray.ni@intel.com> Sent: Saturday, May 25, 2024 9:32
To: Feng, Ning <ning.feng@= intel.com>; devel@edk2.groups.io <devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg/MpLib:Do not assume BSP= is #0.

 

Reviewed-by: Ray Ni <ray.ni@intel.com>

 

Thanks,

Ray


From= : Feng, Ning <ning.feng@intel.com>
Sent: Saturday, May 25, 2024 15:42
To: devel@edk2.groups.io= <devel@edk2.groups.io> Cc: Feng, Ning <ning.feng@= intel.com>; Ni, Ray <ray.ni@i= ntel.com>
Subject: [PATCH] UefiCpuPkg/MpLib:Do not assume BSP is #0.

 

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D4778
MPInitlib have wrong expectation that BSP index should always be 0 in
MpInitLibInitialize(), SwitchBsp(),ApWakeupFunction().
That will cause the data mismatch, if the initial BSP is not 0.
Cc: Ray Ni <ray.ni@intel.com>=
Signed-off-by: Ning Feng <ning.fe= ng@intel.com>
---
 UefiCpuPkg/Library/MpInitLib/MpLib.c | 47 ++++++++++++++++++---------= -
 1 file changed, 30 insertions(+), 17 deletions(-)

diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpIn= itLib/MpLib.c
index d724456502..ba497cbfd9 100644
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
@@ -114,6 +114,10 @@ FutureBSPProc (
   SaveVolatileRegisters (&DataInHob->APInfo.VolatileRegis= ters);

   AsmExchangeRole (&DataInHob->APInfo, &DataInHob->= ;BSPInfo);

   RestoreVolatileRegisters (&DataInHob->APInfo.VolatileRe= gisters, FALSE);

+  //

+  // Restore VolatileReg saved in CpuMpData->CpuData

+  //

+  CopyMem (&DataInHob->CpuData[DataInHob->BspNumber].Volati= leRegisters, &DataInHob->APInfo.VolatileRegisters, sizeof (CPU_VOLAT= ILE_REGISTERS));

 }

 

 /**

@@ -761,11 +765,11 @@ ApWakeupFunction (
       BistData     =3D (= UINT32)ApStackData->Bist;

 

       //

-      // CpuMpData->CpuData[0].VolatileRegiste= rs is initialized based on BSP environment,

+      // CpuMpData->CpuData[BspNumber].Volatil= eRegisters is initialized based on BSP environment,

       //   to initialize AP in Ini= tConfig path.

-      // NOTE: IDTR.BASE stored in CpuMpData->= CpuData[0].VolatileRegisters points to a different IDT shared by all APs.
+      // NOTE: IDTR.BASE stored in CpuMpData->= CpuData[BspNumber].VolatileRegisters points to a different IDT shared by al= l APs.

       //

-      RestoreVolatileRegisters (&CpuMpData-&g= t;CpuData[0].VolatileRegisters, FALSE);

+      RestoreVolatileRegisters (&CpuMpData-&g= t;CpuData[CpuMpData->BspNumber].VolatileRegisters, FALSE);

       InitializeApData (CpuMpData, Processor= Number, BistData, ApTopOfStack);

       ApStartupSignalBuffer =3D CpuMpData-&g= t;CpuData[ProcessorNumber].StartupApSignal;

     } else {

@@ -798,10 +802,10 @@ ApWakeupFunction (
         // 1. AP is re-enabled aft= er it's disabled, in either PEI or DXE phase.

         // 2. AP is initialized in= DXE phase.

         // In either case, use the= volatile registers value derived from BSP.

-        // NOTE: IDTR.BASE stored in Cp= uMpData->CpuData[0].VolatileRegisters points to a

+        // NOTE: IDTR.BASE stored in Cp= uMpData->CpuData[BspNumber].VolatileRegisters points to a

         //   different I= DT shared by all APs.

         //

-        RestoreVolatileRegisters (&= CpuMpData->CpuData[0].VolatileRegisters, FALSE);

+        RestoreVolatileRegisters (&= CpuMpData->CpuData[CpuMpData->BspNumber].VolatileRegisters, FALSE);
       } else {

         if (CpuMpData->ApLoopMo= de =3D=3D ApInHltLoop) {

           //

@@ -927,7 +931,7 @@ DxeApEntryPoint (
     AsmWriteMsr64 (MSR_IA32_EFER, EferMsr.Uint64);

   }

 

-  RestoreVolatileRegisters (&CpuMpData->CpuData[0].VolatileReg= isters, FALSE);

+  RestoreVolatileRegisters (&CpuMpData->CpuData[CpuMpData->= BspNumber].VolatileRegisters, FALSE);

   InterlockedIncrement ((UINT32 *)&CpuMpData->FinishedCou= nt);

   PlaceAPInMwaitLoopOrRunLoop (

     CpuMpData->ApLoopMode,

@@ -2151,11 +2155,16 @@ MpInitLibInitialize (
   CpuMpData->BackupBufferSize =3D ApResetVectorSizeBelow1Mb;<= br>
   CpuMpData->WakeupBuffer     =3D (UINTN)= -1;

   CpuMpData->CpuCount      &nbs= p;  =3D 1;

-  CpuMpData->BspNumber        = =3D 0;

-  CpuMpData->WaitEvent        = =3D NULL;

-  CpuMpData->SwitchBspFlag    =3D FALSE;

-  CpuMpData->CpuData       &nbs= p;  =3D (CPU_AP_DATA *)(CpuMpData + 1);

-  CpuMpData->CpuInfoInHob     =3D (UINT64)(UIN= TN)(CpuMpData->CpuData + MaxLogicalProcessorNumber);

+  if (FirstMpHandOff =3D=3D NULL) {

+    CpuMpData->BspNumber =3D 0;

+  } else {

+    CpuMpData->BspNumber =3D GetBspNumber (FirstMpHandOf= f);

+  }

+

+  CpuMpData->WaitEvent     =3D NULL;

+  CpuMpData->SwitchBspFlag =3D FALSE;

+  CpuMpData->CpuData       =3D (CPU_= AP_DATA *)(CpuMpData + 1);

+  CpuMpData->CpuInfoInHob  =3D (UINT64)(UINTN)(CpuMpData->= CpuData + MaxLogicalProcessorNumber);

   InitializeSpinLock (&CpuMpData->MpLock);

   CpuMpData->SevEsIsEnabled   =3D ConfidentialCompu= tingGuestHas (CCAttrAmdSevEs);

   CpuMpData->SevSnpIsEnabled  =3D ConfidentialComputingG= uestHas (CCAttrAmdSevSnp);

@@ -2186,11 +2195,11 @@ MpInitLibInitialize (
   // Don't pass BSP's TR to APs to avoid AP init failure.

   //

   VolatileRegisters.Tr =3D 0;

-  CopyMem (&CpuMpData->CpuData[0].VolatileRegisters, &Vola= tileRegisters, sizeof (VolatileRegisters));

+  CopyMem (&CpuMpData->CpuData[CpuMpData->BspNumber].Volati= leRegisters, &VolatileRegisters, sizeof (VolatileRegisters));

   //

   // Set BSP basic information

   //

-  InitializeApData (CpuMpData, 0, 0, CpuMpData->Buffer + ApStackSi= ze);

+  InitializeApData (CpuMpData, CpuMpData->BspNumber, 0, CpuMpData-= >Buffer + ApStackSize * (CpuMpData->BspNumber + 1));

   //

   // Save assembly code information

   //

@@ -2245,9 +2254,8 @@ MpInitLibInitialize (
       AmdSevUpdateCpuMpData (CpuMpData);

     }

 

-    CpuMpData->CpuCount  =3D MaxLogicalProcessorNum= ber;

-    CpuMpData->BspNumber =3D GetBspNumber (FirstMpHandOf= f);

-    CpuInfoInHob       &= nbsp; =3D (CPU_INFO_IN_HOB *)(UINTN)CpuMpData->CpuInfoInHob;

+    CpuMpData->CpuCount =3D MaxLogicalProcessorNumber;
+    CpuInfoInHob        = =3D (CPU_INFO_IN_HOB *)(UINTN)CpuMpData->CpuInfoInHob;

     for (MpHandOff =3D FirstMpHandOff;

          MpHandOff !=3D NULL;=

          MpHandOff =3D GetNex= tMpHandOffHob (MpHandOff))

@@ -2615,7 +2623,12 @@ SwitchBSPWorker (
   SaveVolatileRegisters (&CpuMpData->BSPInfo.VolatileRegi= sters);

   AsmExchangeRole (&CpuMpData->BSPInfo, &CpuMpData-&g= t;APInfo);

   RestoreVolatileRegisters (&CpuMpData->BSPInfo.VolatileR= egisters, FALSE);

-

+  //

+  // Restore VolatileRegs saved in CpuMpData->CpuData

+  // Don't pass BSP's TR to APs to avoid AP init failure.

+  //

+  CopyMem (&CpuMpData->CpuData[CpuMpData->NewBspNumber].Vol= atileRegisters, &CpuMpData->BSPInfo.VolatileRegisters, sizeof (CPU_V= OLATILE_REGISTERS));

+  CpuMpData->CpuData[CpuMpData->NewBspNumber].VolatileRegisters= .Tr =3D 0;

   //

   // Set the BSP bit of MSR_IA32_APIC_BASE on new BSP

   //

--
2.25.1

_._,_._,_

Groups.io Links:

=20 You receive all messages sent to this group. =20 =20

View/Reply Online (#119270) | =20 | Mute= This Topic | New Topic
Your Subscriptio= n | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_
--_000_MN6PR11MB8244EE282AC2744A5A784DA38CF02MN6PR11MB8244namp_--