From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021128.outbound.protection.outlook.com [40.107.130.128]) by lore.virtuozzo.com (Postfix) with ESMTPS id B53A4802A5 for ; Wed, 23 Sep 2026 13:30:29 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JUBNS355dtGb8FlIkRe+VRXcDaHAbFaLwwxqPOwg/QwB9votTh4UdCvkVYwUB3KXuSZgNp3TVNr9WnFFMGtLM4XGerN/nR9hdYo5cYimNPBGpaHGONGdY5VJRnvXB9eItuZlMTVpiPzvBPFPIlwzgn4M5KbPXZdwuEC3atA0oypCPMy8Os44kAbmQtfOS94yeuMf3SKwKp8NEeAD/G0Hc6rUFb7Etr/2BxtXPLvLjf/oPBcI924g0j3y9VPBuC27UJjpjwuKhQl4esAY4G6k9LMHOO62LcrBhUSBVxcNdcszKy/RlhJ5cfYL1nVUzr16FT/YKXc0ZmZRsIHFq0ay1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=hILFodFsOQxYUJGBdzTWIt84ye3hCpoYdc4bHWYHEtk=; b=ELNjifmxH+gYPZMDFT4rO0V7hAsu0tMFODKcq8SdemmhoY0aTDtI2cj8dJ6hEC0LH/dJl6nsB7Ihra4tgY4anofemLfN+oTe5eS6kj70k1PfFAFKOCDLXOYjorHoElZ4K2tYf4M2lXvRCdDmAe9Ii9g+DTchgXmNq5+jNgJ8m2txT2WZMdu+hJ9TcbgRwLAvRDICk4yYTDT2NPorGJSi0Y1RALmd/ekOd8fNbOhNqHs0A08ZuHAOskg0ob6c1PQwq9qQUYM6I300Lm9B5drj0nku/f6Dh61mTsa1Ecc0Uz6J9kOdBDrl38xfemGil/Etp3UGu6W7afdjvH10+Ya/zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hILFodFsOQxYUJGBdzTWIt84ye3hCpoYdc4bHWYHEtk=; b=dlZwzw7v+7caE0qNf+ay3vnGQawOcxOov9p+tE02yUXySZAtCNtT83JkfueomjbGUg/oLyjbX8jt2ernGs7PT+Pu8OabQWXWDRVHY0hCuCkvE6hVGY4U2W1qdKlpVl2PeZCWCQi+ZeJE+Xm+QrMbvcOZzYLdpUddAAiL5GVa0kp3+0bO6vGTFr/m+3j/ZDzGjjwwSeGMexC73kXdjkI3ZmiHJsVYVrYwk+LWkKIg8/kW66C7f0eU9no4XP9feI1821R5d4hpVweAR1sh7XAVXoKwUI0CJBAyqN8QrslYhk/s7gsSjltf7/sO7BkYAEVPfOXHnogs8wJVIwjZkzsNaw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by AS8PR08MB6582.eurprd08.prod.outlook.com (2603:10a6:20b:339::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Wed, 23 Sep 2026 13:30:25 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0451.014; Wed, 23 Sep 2026 13:30:25 +0000 Message-ID: <8e426e1c-fd47-441f-9afc-1d849d8144a7@virtuozzo.com> Date: Wed, 23 Sep 2026 16:30:23 +0300 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/2] UefiCpuPkg/MpInitLib: recover from a lost Start-up IPI #VSTOR-146639 To: "Denis V. Lunev" , svt-core@virtuozzo.com References: <20260921154406.1628753-1-den@openvz.org> Content-Language: en-US From: Andrey Drobyshev In-Reply-To: <20260921154406.1628753-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR4P281CA0201.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e5::17) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AS8PR08MB6582:EE_ X-MS-Office365-Filtering-Correlation-Id: 98ad9a6b-48bb-4671-1239-08df1976d2f1 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|23010399003|366016|376014|10067099003|5113699003|18002099003|22082099003|56012099006; X-Microsoft-Antispam-Message-Info: 41IignfMvzNZbVzNJ1rIa1h+5Ar0cjDYB2sAMXLECyMS7fOC6pCQ5uE7OHJQhdg5eAcaucyJ9LeB6haIo0FHkcX2YPMRCakFXh6GqL8IvOHZhIvBEKSipFOYoX3NqmpKXOyaHim0xacmKS7oYQ1ntWrt9LdSHt2p+n2GkmftSz0TKo1yDfDG2kYiYHmMKI+/GdA19TZu5Zha4ks+hnJ/ErIG405nEmHU/NDYCcdBdA4FW2wWWYvVAJTvLPiSyIF016Mn1vSVEOaCY4AZ1Ky3y7DoFbRp7zfpctX4rTT4C7hn5KhrB/e8A4623krCelAB0k1wPH5UrNHi3UYSK6iokwOFYtysJTBY265b8q3Sx3myYADiy5hMtotqA+GtrarxabymH/kxr/Za76WSoOrF4jg6xp9hiHfLF7h6ZxFDBGLcSk51RcHt3JI67cUb29UDwXXLeRjAryfWifvZoQ7pbtLX/OpzKX5obdv/5zktzOrNQGaL56vUOEJAsxDdNN5uZZCT9c3NC6UBohM8S3J6mMxAlRr73GO4jD6I3uoEz34J9LznMycJvis1xVIVMGSmXBEE2LVfopzPue/3m5K90mCtmuqWRII9Ug5WQ4vawXgsGkPz6SUcwmBjqjxgg07ST6VrhoD9MB0Wey5OICfYcOO3lC1VnaTGxAg4ZhSJguM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(23010399003)(366016)(376014)(10067099003)(5113699003)(18002099003)(22082099003)(56012099006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnU5cGR3ejBmOE9DKytBWkpkUEZCUWROZWMvSVE5THVzRzdVc3lpeVZWV1Z2?= =?utf-8?B?MHdLL00rZHU2NS9McnI5MVN0djZwZ09PSENPRUJ0cDA0SUJuNVZBbkJHUFJM?= =?utf-8?B?NnBYcEJFOHpCL1BJM3ZmM08zL2loM2RTajd0NlJQdzNicjEwcWRDb3ludld1?= =?utf-8?B?K1o4aTZDNTUyYXBvdmdWOC9jckRTd2NOSXdoOFpXUDZtclZ5bXVHblRKazRp?= =?utf-8?B?TnMzTVRYNGdsQXVKTStpYWFNTzMwZWYwZ2QxV0g3ckY3SElINVM3VUM1cmFL?= =?utf-8?B?SzE2ayt5eFJJeHBaTTFSRzFNRWh1OU5IL05paW05VE1ZL0ZlS3VNQXVNOWkw?= =?utf-8?B?SkJKU0J2VFBoZWUyVjZ1NDRlYmlWaUNXUHNwRjdHVlVybHVsa3g0MUFxenlo?= =?utf-8?B?c1lXTk5qalhXSnlQMzM2Qzc0NUFhK3YzL1NRbFUyQlM1VmIzNzRQTCsyVldr?= =?utf-8?B?OTVBMTRIZWJFV3lFTjdiakVOUkpaYmpzcGFnNlI0eDd5QWMxY0FJRGpmRlA0?= =?utf-8?B?NE1lOFJWalhHOGJ4dnozZkovS2lDc0syZkxZaG94Q2Erd3FUTEdDcjFiaXp1?= =?utf-8?B?RXVWcEpaa3JUMGE5RXhSNlBMZ1lzUW5FQ1h1UjlHL0ZzMWRvQkxhVUIwTldM?= =?utf-8?B?V05ZOGowK29UVlQ1ejI2cGJ5MEVOcmllSFVIU2hpL1pCazJwNUplaEdqVC9D?= =?utf-8?B?cSs4NUxaQ2VDUllHMlFPTzFDbWRrYmkxb2RRNFRFNFhldTFBcFZDMmQwQUZN?= =?utf-8?B?VUZXc01HTG8wTmxwK2FSei9uTHhML2oyWmZ2UFNOaVhFR21NSUVhNEZFbEdp?= =?utf-8?B?Yld1YjcyTEZqSzYzeU1KR2VDNXc1NGJZMVRCMnhLMkFSYmZMZytBRC9NTkYx?= =?utf-8?B?bkJ0S0N6MTgyTU1NWEdPTzZJMDdLMmVLUUtuV0psOHBFakJrSlFYSmQzU0dE?= =?utf-8?B?YTM2RG96dVZ3Z1Fzb0VPZkVQM0pBa1dDUnhYdUJJNDRrZlBFdzRSajdYVWhl?= =?utf-8?B?VWtqNlpVR1Rld1JPdXhuM0pkNFVIV29rbUlxTVpSWHV4bDhBMUxsaXI2WE9O?= =?utf-8?B?ZXhvMGZQb2t4Yk56amZrSm1ZRVEyck1QWm45Z2EybWliMWhjY2V1ZFBFNWM3?= =?utf-8?B?a0VBN1lyNjdpV0JIZ0t6OTRvd1dlU3ovS3cvV3ZueklBZEptYis1ZzNGR0t5?= =?utf-8?B?T1luMXBiSEVvV2pYOTBkd1BHcmhWYXYxQlpZMzhaL3FZUFFEajJ3TGVnN1Fr?= =?utf-8?B?aElFc1ZhUytsMUlUSUx4UmQ5TzJ0c2d0Skp3c3R4SWI4aGZ5UDJxZmU2NGhr?= =?utf-8?B?cEZGSmVQMzJXRk5peWRDZXVMcWhZNlJ1U0V2akpEbkJEMWRXSDlsN2k4RUZs?= =?utf-8?B?OUtFZ2hPMHFwcUVGdlUzR1VUTEtTL1M3eUVSTVh3NmdpdWJLOWxuTUdyMitR?= =?utf-8?B?TmNHeGg3TWgzMHRXMU5EMGh4YWVRdWI1c0QvWE85RU5CWHE2dzNuME03aGt0?= =?utf-8?B?LzExTXozb253dVM3S2lBMWEzQ3lBZzVsZGt2V3R5Q2pyYTVOVWE4UHk1Wkc0?= =?utf-8?B?aUZoS3E1N0lpbldzRVhiVnNtL3VXeEZ5aEJ5dHJtSHllL1ZDOE0xZmRobUUr?= =?utf-8?B?T1poU0xIa2dMZTdDMmswWjFtUE15azAyNUtwQkExaCtFUkxvSXArdXFDWkJO?= =?utf-8?B?cXQ2NHhYbnZQSzhDamEzWTI0Q0NWL2JmVFJwenVMUFdOTWhyTU5PWWFwZm4z?= =?utf-8?B?Z0ExNjZMZE1QVVJNZHlMUEN5eCtOMVJQNHdiM1doY1E3SmJUUGJ6NklFM0xx?= =?utf-8?B?WmpoNHZHUGVyVm5jVzRpbjF5b0x0WnpnRG5oLzRIdDAwNHc1Z3BadWR0UHFU?= =?utf-8?B?eFVTaEV2b2V0cE92akZMZWlYK0Y4M3NvMmw5MlRLNWdObGZhb1c3aUR5OVpt?= =?utf-8?B?d0JCRUF4U3ZRMEt4blQ3YWZOM0RidGI4anFjN09RaXI1UEV1S3hQcWNITk9S?= =?utf-8?B?TnRoQ3RwcEdtN3BrWklIajdYQit6dTA4S1RVcDlLVFVqQkNNcHArWmRXWThR?= =?utf-8?B?cGFKYjluMmFmSEJwOG5VVXdrbngwa2NEOHpiL1NNSzJ5cTBHWEFLQUljTW9Q?= =?utf-8?B?ak5Cci9FRkxkUm9laUlSN3pIUlZ6S0VCVXV0bEM3dzVpZ2pieFVNZklJVHlD?= =?utf-8?B?bFVjaEljWHFuc2JJTVV5UUFDTjZrMkpPSUhjTUlmRkJUaWdidGlxUEQ0b0ph?= =?utf-8?B?dCtPTm5mN2tTdVBNeGY4dFVMRkFUSlpiUlNQb2FaaUtuMUVPbzJHTXVPK01h?= =?utf-8?B?WFVxRHVqQmpPS0FFa1FJV0pNR0hmNkJYdnN6VVBFMWQ1U3RDZ1RWOHRsV0oy?= =?utf-8?Q?fEoqSHBy89qmK/GU=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 98ad9a6b-48bb-4671-1239-08df1976d2f1 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Sep 2026 13:30:24.9587 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: b2CO3y8brOabwSWlpxtA/DWNcCVI4FW7jpQ78cNb6ify9fns2A5uhe+L9vg4XnQJWHfoFn+KrQ3eINAChG70pQwPg/Oc5ItZp0bmTCTEfiY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6582 On 9/21/26 6:44 PM, Denis V. Lunev wrote: > WaitApWakeup() spins until an AP clears its wakeup signal, with no timeout > and no way out. A hypervisor can lose the Start-up IPI: KVM latches INIT > while the target vCPU is in SMM but discards the SIPI outright. The AP is > left in wait-for-SIPI, the BSP spins forever, and the guest never boots. > > Analysis of the live hung guest is in the bug. > > Patch 1 exports SendStartupIpi() from LocalApicLib, so one AP can be poked > without an INIT that would reset an AP already running the procedure. > Patch 2 makes WaitApWakeup() resend rather than spin. > > Verified by dropping Start-up IPIs in KVM with a kprobe on > kvm_apic_send_ipi(); both firmware binaries are unmodified. Killing one > INIT-SIPI-SIPI sequence hangs the current firmware at all 8 drop points > tried, leaving the APs at CR0=0x00000010. The patched firmware boots at > all 8, issuing exactly one directed Start-up IPI per stranded AP. Without > injection, 80 boots patched against stock show no regression. > > Submitted upstream as https://github.com/tianocore/edk2/pull/13164 > > Denis V. Lunev (2): > UefiCpuPkg: add SendStartupIpi to LocalApicLib #VSTOR-146639 > UefiCpuPkg/MpInitLib: resend the Start-up IPI when an AP misses it > #VSTOR-146639 > > UefiCpuPkg/Include/Library/LocalApicLib.h | 19 +++++ > .../Library/BaseXApicLib/BaseXApicLib.c | 32 +++++-- > .../BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 32 +++++-- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 85 +++++++++++++++++-- > UefiCpuPkg/Library/MpInitLib/MpLib.h | 2 + > 5 files changed, 153 insertions(+), 17 deletions(-) Please put the component name in the subject, we have multiple components in development in svt-core@. Same for the branch name. We have FC for hci-8.0 now - should this series go into 8.0, or 8.1, or both? Andrey