From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web08.8332.1654764380698563049 for ; Thu, 09 Jun 2022 01:46:21 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=e6dPnhsJ; spf=pass (domain: intel.com, ip: 134.134.136.20, 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=1654764380; x=1686300380; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=lGm7NbrZSbgopHstbA2n2KNaDIjvQlTsersij+/sOsY=; b=e6dPnhsJXRCjrB4mXrSUoLmSp237Keerh/7TAwdUuhYWCpgzRLqXSSzY zTrT/RO46wCRB7qnTDDmLfvw5YSeG99PxpYge21VCqj5JmKtD0FSfxWXy i3p8ztKv5uEjnqtwEjCOH+bs2j4JIh5C6b7fftzUiWu2DaRMDAEjBgsE5 aJiDXf2GV0gViZHohhqCk/zH+Cp8z3AvVciVb2MEX2j8+8LwKm/iZpFkQ owue5jnVfyUyjxcltkGNQWAVF9dDlUpT9KLIzLY/md2MBZbSiz1MXxnw4 g//JIJEA5TafAVXb104Bl9p2fL4nE9cj/iPigjEo6juzTIatKjjSHKYMZ w==; X-IronPort-AV: E=McAfee;i="6400,9594,10372"; a="265989140" X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="265989140" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2022 01:46:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,287,1647327600"; d="scan'208";a="671054484" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by FMSMGA003.fm.intel.com with ESMTP; 09 Jun 2022 01:46:19 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 9 Jun 2022 01:46:19 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 9 Jun 2022 01:46:19 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) 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.2308.27; Thu, 9 Jun 2022 01:46:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c9joDYx6CN3SAQXQaSU7HtIoS9HndDfrkPk07EezM8k+PwhnK5Nfme9tVdqd3cluVSHM+EuMPcqj9jmH6zfOqx012mhxt6oClRTzAgFIRSB72Wz7dH37GTxpeKMLIbZML1Qx2IntXV0Jl2U+eDRJPdeElZafDiu1sz2Oc3POwmKmI1LuvvFP6+FtqzBuIiLbnfPbDHNgee8O5OC5uIdIc1HvQB2uUSrJkm9YAomq3RzlSuF9egju8lgSl3Yy4ZW7arTvntlD+u2GDMifFlhlYH7qTK7B8YFyOeRzJG/yJqyCbWyXp0kJoKc7s1Ze9ABoFJXWYFOCvfUW7MYJNejk+A== 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=lGm7NbrZSbgopHstbA2n2KNaDIjvQlTsersij+/sOsY=; b=Ob2GxKm+V9EGqcikGB/R5qxlikG07Zm3sO3e3vBCsrtwY1VTXFL+xNoUcbmbx2AV0QTn9qVHGhBhmAeMANDNO7Jzwtza+ZOb+1n12SuTZXF7gRlbwXHqfX8a+1CaI71x3t5p7bObf39ZqELbzD1xF4F4W4+9hsp0bdDszIQKUP7LDzWusIiqq8i0WWlJQsTtBokRwsEwJoRGJVbi7n+oIfeQR6c6v+iQoyT/m2+/BJ7dCNvIgwf7lje1Blfche7b111xkTb8T4mkLPaqygXGryivK1LNumnGL+JhDmOyW9xUt1AGftKiaX4r/KFsONwUgFD1/LUps6fVXCaURryhRA== 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 DM6PR11MB3833.namprd11.prod.outlook.com (2603:10b6:5:144::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.13; Thu, 9 Jun 2022 08:46:16 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::4501:93e1:b65d:684c]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::4501:93e1:b65d:684c%11]) with mapi id 15.20.5314.019; Thu, 9 Jun 2022 08:46:16 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" CC: "Ni, Ray" , "Kinney, Michael D" , Tom Lendacky , "Yao, Jiewen" Subject: Why need to put AP in HLT/MWAIT in ExitBootServices callback Thread-Topic: Why need to put AP in HLT/MWAIT in ExitBootServices callback Thread-Index: Adh73Ci5/a/VIhtjS/qQMjtq/jHcGA== Date: Thu, 9 Jun 2022 08:46:16 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-reaction: no-action dlp-product: dlpe-windows 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: 7ef3b013-bb2f-4fe0-0738-08da49f4840d x-ms-traffictypediagnostic: DM6PR11MB3833: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: 5fHmrglM6z33PYgITy/jsdmoLQSBYStiVuSueMWQbHr1NaBBCLDfa6knTZozDhtnpq0oL/7Yg/hxWml3MYKpf8tA4J5BkwWT0B8PmwrN8x3TbRcKoVZO/3mI3fIgjIzLgOvxxBBQERwueyyMwCSg4+oNmIHOydccr9njkMmD7vg4sWL54wwodVwsfD4uDDCOxQwWgg0xGQdtDIdL3563FNkvfWfokJ7sE+2R6NPZYMgs6FXsMIQlXmuHwppPK4GnxtjFQiQHXSA9vSJD4xkGmzbIs7tViJsK6Ll9CG7vJZC15Lr3xJ5cd7mX/y8hjQxH6J8aCADZm4VfdNEmHRvXkGu/4++i3aSWm4WG5pBvGmZrsy4Tx1DmulNDZSIvS06Aub/Uv6FtS+Ti6Zjwewd18pW4YjjZ92h4kIfqOFVsrkOfDc5Iso466lx9S/Vz07eW4TiLOfFqgyUAqHJn1kwUfoydHC8LlxH0bwG9UXEWlDIAd6Ug/XIxRLWUsPNZUC/4/KYWDQg11WYStsJ8Yz5FOoIPT5MoTXBCh0Sur50quBkqGUH3rf1hHq2NTcmstDX23bB3f4L9UpcZRPsApA1Y/pMUw9CCmpgeb1l41gP3ySmbdKT7R+MUu7XYuCMFps1EwybRIy7inW0N9p4xdG3Koi7y7u7TUyEdRUeKvzcCz5DOCrvhMCgIludWsZPetuCjVxZB5SgVTwiEoLVdl0/j1xggjtRWUIqwItNcncHoZpf3SuEKH5LD/MghtD20OGoydtqU4iT8rzgHt3ZCWq3zZqb+otc+FKf3gcYyu6I7pTHABdDn6yx7RCAMznHAKJSkkUtGPhF/0q5M2n+G4fJf8A== 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)(4326008)(66476007)(66446008)(33656002)(66556008)(64756008)(6916009)(54906003)(66946007)(107886003)(9686003)(6506007)(2906002)(7696005)(316002)(508600001)(8936002)(55016003)(186003)(8676002)(71200400001)(26005)(966005)(52536014)(5660300002)(38100700002)(86362001)(122000001)(82960400001)(38070700005)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?8/MXC8mloxdCnSzRs2XX2mvpVmf9JxAmagYjDnpJno6xRq1qKEFkDcnW2BuB?= =?us-ascii?Q?y1EfWvGA3Uh24DzbFvbNwuFLqvQqoBdNy0zpPuvK6EkrrLrnJijPZSolNmOs?= =?us-ascii?Q?Aug1ZphPddLoQiD/M+AE0FC4VwfH3UzNyJKyTWpZDxrHNKFjsmzI46uJO37O?= =?us-ascii?Q?WYEi68w9nL9vT+o6a32n6rN9QCtqS+BAsJbsxlw3vbtusq36SlH8G3hiCF5j?= =?us-ascii?Q?W5LgB/lflpV/s7XhpZNyMfyOujAb6RTTL8W7hsbxbxApJEyqAGDGH59vFB9C?= =?us-ascii?Q?gV0Z/piUJllZDcGO4pglhbsDiheENSncGS0fAdB6GT7XJmIpVNn6YPw0XkBL?= =?us-ascii?Q?dOGtJGFt8kilZvpFv72vaQ09y38AQBrmX1Mq3cDK9NXAkPOahcFY2zgqDn4j?= =?us-ascii?Q?lKCAFti1zMekSkaFSiJYpWF8xWgAmPPlKq7V//hRI/TaekxSxXMeap2VrmRh?= =?us-ascii?Q?D2o1sdBJTkWi73Fmw/IZBJAMJ/wJjt5n+AA/hR2DOBQ49uvyTcYrNXtHarQc?= =?us-ascii?Q?mDRn+Og05qOhsKyUuosuciw5V5hpjbiNWFtRXoSCZs95tnNL+3DpxLAqMjw/?= =?us-ascii?Q?BXPE6QttTTwjoTw5xq8iQPQwfSoISuEgbo2wTQ9XAu0eXlSY2oxWhlWF3ksv?= =?us-ascii?Q?tBT1+KiJqX+RvcibSVNh1Ob3p4ubSkvDuk5EoXv08udiJiCTIb7wAfL3uCRX?= =?us-ascii?Q?91vmcb7c2/91MVC8EbsO5WxcIW5BiTas84xHh+Xc/7CfCFArwItkQmilIreq?= =?us-ascii?Q?b1tMCxX+BPIMPECVHsmSDMCD+DTMSeHECDnEq2k95xHrVZtk/gvdCyJLCqwI?= =?us-ascii?Q?5QFfVs1VIjfIuE01eHkFs18eT9D9B5pqeZJ+WQQPBRyskyEYYw1FVQr4si1M?= =?us-ascii?Q?eBttYhbnllaSp8ZUtjhqcQaEn8PaYlE2lnJy72wpVZno1YtUUZllbip2Zree?= =?us-ascii?Q?b63VE95zsXRf5ZyizkI+va1P6mjd4MVimIceQKcUbco4tn6UMTD68e/OxjyD?= =?us-ascii?Q?OCIJTDOg4kYRdm7RQNGlUfezR++aDP94UGrp6epdXigS1NTVaxKZQ9ccPwaC?= =?us-ascii?Q?Td5i28WlL3jwfaCxaZXhOykShFdOLcwJJsQIWrGWfoZ0sKQ8I+59Zw6hgCro?= =?us-ascii?Q?fZwS3oBUlnZwQ6o+/2LePQIVThsrfNhudmoYrygN8D7tJ96IiJEUJPEUxy+r?= =?us-ascii?Q?v2aRYrmfKxafN78hflZKKY770e9v6SmZToTbRGHhfKltg6pM+EjCum8O7ZAN?= =?us-ascii?Q?5ARwejRYcPbGmvGZnTlD5fO5PqQHlnSweB9Q54/TXMi4l1FvtMb6nzVNosQD?= =?us-ascii?Q?D2WfpS5Q8SMKw0n/7WA3MK5Eb1BSEVxg1YZ1Hilep1fjdin1r8ylIqIlGhiv?= =?us-ascii?Q?2g/CiKJArRY4mZIbaR4dWdeHLEPL+9H4WuJQAzhvd2QEaOIbTi2qaXJ2pUB2?= =?us-ascii?Q?aVcOOtGRpqDbf57PJ21CICL9F9f7oUmPfYW1/bNmip3LBZ4c+CivGx3b84VV?= =?us-ascii?Q?F2tJQjczN+ti9cTYbQgTb2zH53WXtW6LKjy90vp+gQecPXYPIXLhNmXbDUQn?= =?us-ascii?Q?ByzTgt+v3miXLvkPr1sNZfQjjkbpeEJPkqRzQ6+VsKmKtAovcyvBFkSnkfhG?= =?us-ascii?Q?qCy+HXZ5MReiNCwCG5IK2mfT+UV8w32/tdqG2XPCR89krcUShqvhzArFg8Wr?= =?us-ascii?Q?1fCpQRM03s+jWtK81IuyIwT1S9CaXlwPkxVtLg96lRZvuCUK+Z8DDmk8gqRy?= =?us-ascii?Q?vaFNHT6jYA=3D=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: 7ef3b013-bb2f-4fe0-0738-08da49f4840d X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2022 08:46:16.2328 (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: /uMY6DJhl20M5bnnvyN02YjdIFa/n3FNdgNBgOlu9rHzWMczNK/3jaeqiUfnl9cfUmgMJlMHN1nG8+JGnQW95g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3833 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 All, When I am reviewing today's MpInitLib code, I don't understand why below co= mplex logic is there to put AP in HLT or MWAIT on a ExitBootServices event = callback. https://github.com/tianocore/edk2/blob/ff36b2550f94dc5fac838cf298ae5a23cfdd= f204/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c#L423 https://github.com/tianocore/edk2/blob/ff36b2550f94dc5fac838cf298ae5a23cfdd= f204/UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm#L424 The above code is to put AP in a state that when it's woken up by interrupt= s or SMIs, it's executing code and using stack in reserved memory. (not in BootServices memory which might be overwritten by OS.) But according to the SDM content below, we can simply send a INIT IPI to al= l APs to let AP enter a wait-for-SIPI state. Then a simple SendInitIpiAllExcludingSelf() from BSP can replace all the co= mplicated code above. * The MP protocol will be executed only after a power-up or RESET. If the M= P protocol has been completed and a * BSP has been chosen, subsequent INITs (either to a specific processor or = system wide) do not cause the MP * protocol to be repeated. Instead, each processor examines its BSP flag (i= n the APIC_BASE MSR) to determine * whether it should execute the BIOS boot-strap code (if it is the BSP) or = enter a wait-for-SIPI state (if it is an * AP). Did I miss something here? Thanks, Ray