From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023116.outbound.protection.outlook.com [40.107.162.116]) by lore.virtuozzo.com (Postfix) with ESMTPS id 947288017D for ; Mon, 2 Nov 2026 15:44:27 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sYVpE2FHzkU12O4sZftTGUTn6eh9NcXPWIHEh5K5VVU5kb0ECuwIBgejSvV7jmRfCvhgNsWo+rKicaXurIbQf9m0PziHmnDnECalrrvnYp0e3MitJa8dvB/zzBKGa7/8ZneNOZCycZfuWS1yd8p8xWKHVgczU5Ls1vKXdtEOMyUnGxVcMZbrJCupNfM0f4jkPSKM3sHN3IJkLEK8hgAO1kLBg4dZ209S7v9qU+SzPD3jH4oAHQETqVh1rdaSAaLMaK9HBtg+L1Gax9IqMHrWWK/yHpJbWfc/qVQUoWjwxM80H5VcUTjXF1VBwu9Wwz9BYcwzlzkCPf9aG4yBp6FPHw== 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=7GcUf1ezduD5CyCwQvqSwMXR+/HhQh8dizl6ZmtIwvw=; b=W3cxjLGDpohZDIivzCMHsET5vf+bNjVM8foX7wXKLK7WRmVYqL/TyWDw5x9XI6iTErcP73OmuNNeuJyG+SY7uwFWe3BciCRkya+eCYvy34rDwBPyEu3rKVfgQAsQ15Vs+UHcPsxPWdromR7MEsInVl4/szTmKzMLZ/X/1EjhmtvCNRv4Xc2Dz1J28Xw8lofSCCGKG16+06c5w1Q6WY+4queNN60Na5ka8MFbVCzhOSvri91rvn+TUy6nTEa2J4h3cq8B4WJz1fXCsfQ4F0henkwdX02BJT6AdEckSxecsCrKY5Y8u/f7Kp7b39jp+ifTSlu9ZUDWZusckWVxIbdnVg== 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=7GcUf1ezduD5CyCwQvqSwMXR+/HhQh8dizl6ZmtIwvw=; b=oTHdHzo4yDXHF1DvSk3TYiEmwZ1vXF/CSXY1CBSK3aM728YOxl6feWVSPFHWs6/SEth0mYQEE98PwheLb6a0x9zC+g98wNntZjRS1Jx8o9jrC6HhhEyMQVlyzAMcwfNMad94UUuXsqxZxjyduY8oUffCq2YRNFFtRGd8KFssMdPGUaOy4BHAZaf+d+HHy63PV2F50BOtFl0dkxSadIQeb38v+JTS7DwIpYJb3kJlyj/ICb4ftPSnI9OLNd2oqFchfIzRVEswuR38Z39CZIquLmUGdobywpGmUvY9mSqY6ZLrHtYRVZxR7jyvLdCCCyk/JrIeu/LtKwLv0noRJg33Gg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) by AM8PR08MB6497.eurprd08.prod.outlook.com (2603:10a6:20b:316::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Mon, 2 Nov 2026 15:44:25 +0000 Received: from AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd]) by AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd%5]) with mapi id 15.21.0569.011; Mon, 2 Nov 2026 15:44:23 +0000 Message-ID: <524478b7-a237-4e51-bf24-6b65a8ffe9bf@virtuozzo.com> Date: Mon, 2 Nov 2026 16:44:22 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH edk2 hci-8.1] OvmfPkg/PlatformInitLib: switch to 5-level paging only above 16TB #VSTOR-152672 #VSTOR-152405 To: Andrey Drobyshev , svt-core@virtuozzo.com Cc: den@openvz.org References: <20261102152520.61693-1-andrey.drobyshev@virtuozzo.com> Content-Language: en-US From: "Denis V. Lunev" In-Reply-To: <20261102152520.61693-1-andrey.drobyshev@virtuozzo.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: VI1PR10CA0106.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:803:28::35) To AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR08MB5892:EE_|AM8PR08MB6497:EE_ X-MS-Office365-Filtering-Correlation-Id: a157c4c5-e850-4da2-322b-08df38f82b35 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|10070799003|23010399003|366016|5023799004|56012099006|261009223027099003|261028144727099003|261021123027099003|261021121427099003|261022105027099003|261026140227099003|261026121527099003|261022075727099003|10067099003|18002099003|22082099003|261102123227099003|6133799003|5113699003|3023799007; X-Microsoft-Antispam-Message-Info: PNRNzxaxGyUc/Mohdu9U6ysAjI15AcRCetYemRFDJhbuhTE0QgL0kAlGGWPBfx5ww38CveK4AGk3A96zgHUE9WPzykSmH9L1umKpBS6IJCirrL7L2jw8+/Daxz3Elry+lbZQK/O+hVHKdlf6awow7iWa56x1+PsOg3rhX52p+Oy+G0ZYKVxQOAwb31VnUr3VChg8GJi2/6WZaP/CSpksoRcqYKnWy3eZYBDZP2jm52kvjVZQCKKhmM60m0RApqGjnDgFnGVxmqNqFlUdyCFxVbrBeLuM2KUfRUJieYGwaHN5ue6q3sKUPo8WoVxWY5yZePe/ekB2UMK3oJI3vEQ/oG6hPw8WRL3i1rXfFMOVuOcEqN01vVI+96L/l4tm3VsEAEAlqreKMMhBTtEatw1q/+R3of7Y1Ot3opbD8ttzPHi7G8wcd3TJRJJ0rPWcT3zKppFCoSh7I3II0AEjnHuEQcE/cNRXxJ1zgsYfJ4eNVvjYw+JxYSw4jCmJcXAhF4XP3Z7xUjB2S/O0JJLCmRa25EyhaOiQU+Y6gPol2qh/3ducT3AqmsRYUctxO9zC6GEJxORYSyE4weh8VIXCqujPgwmwqLkZ3rBxxRybOu9uEP9myNu4aBro9MnIMKZGz4Y/R4VdLj/AsCT/57cG7JqZA/jQA1VdBFnT4bh51M4oit8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR08MB5892.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(10070799003)(23010399003)(366016)(5023799004)(56012099006)(261009223027099003)(261028144727099003)(261021123027099003)(261021121427099003)(261022105027099003)(261026140227099003)(261026121527099003)(261022075727099003)(10067099003)(18002099003)(22082099003)(261102123227099003)(6133799003)(5113699003)(3023799007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VlhjRWFJWU12LzBrSndwZ0REL1g3amwycE83VXd0Zlc0aTl3bTcxUHVoRW12?= =?utf-8?B?L2U4cUQ5MGtnbUsyRURIRlhqUEdjQzQzSys5N3NCMVMvS1VRcUE5aVVCMURW?= =?utf-8?B?Qjg5a29CZkdNRUFVaUNpUWxMNDE2VVMrdVRZY0ZKcnNpQi9hTXVtSWxKV1Y1?= =?utf-8?B?cmpwQ3c2NVlIck81Skc2UlBOTEc4cEk5TWhwdE5uSUVRYXFBcE5icTN4UENR?= =?utf-8?B?QTJoZE55TVJpL3VhNzlMMEc0L05uUkVSeFdDWm5WTzl2c2lsVGNPcUFxc0xO?= =?utf-8?B?T09zSXk3dlE1RURkTzBKWFNQWVRnUnVaaWtvUWVFUUtrU2RhMmliWXU5OE5p?= =?utf-8?B?dVBDdVpQSmpiNmJkeHhJazcvSjFiczNzT3R5VVg2UE9uM0VZUU9CdlRCQ0Qv?= =?utf-8?B?NllkbW00ZmZqcjlXNEUrUmZPY25QNU9vUFRmUFBVVWc1UG9ZR2J6c1FGTEth?= =?utf-8?B?aFZRb2h5RGhBMFhCYkplR3Vta00vN2x4WFVmdUs5K3JEQkhKdU9JRUNNdE54?= =?utf-8?B?bXRzcXdoa0o3NG8yWFU1K3ZkNjR6d0F6ajlCZm1yVUNQVlNvc3pOU1VoN2Fi?= =?utf-8?B?RzhJOGh2b25hR0p3cmdXLzcxVWRoNUVuNW85UzFsRlNEZndES2I0M3BveWZO?= =?utf-8?B?R1ExVU1obW96RUhRMjlSMlVvVTQ1S2Q3RVUrYStSMEVycmE1cE4zQmxkOWwx?= =?utf-8?B?VDdIaG1BbDgxWnZtSHZuWTFiSGtaMlhDbUthRCtVUlk4cmV3T1VudG55aXpL?= =?utf-8?B?Q1hWOWFXL2dnUzhCUkQ0Zk4wUWgrRldkMGlMbDR3SFE0M2x5akxwOXFyN1lr?= =?utf-8?B?NmVUTS9Wb3JCL2k1a2FGeGRhdEU2UlBsdHdTOTg2SmZsMlRwRHBCeFRDV2Z3?= =?utf-8?B?QnczdGJzazcyR2NGTW5VRm01QzQwOGk4TkkvaWxteFlBakNTQ0dETWNQcjJo?= =?utf-8?B?dXlLbEkvVUVhRlZLOE4vZ0lkTmZqNFpDQ3BzN1p4TVl6MUdISDJGMzdqTmJT?= =?utf-8?B?YTZBV1dEQ3luR2pleHo3TS9JSnhIZmxGZmVlM3Q3Q2ZzVlFiZlhPMnZjb1RX?= =?utf-8?B?Rk1yVkttOGU1SkoyUjE4UjlGbE5zaFJKV1pNSjJ6N2pUV0dneUhXbUduSXFw?= =?utf-8?B?bmxyNHpoTXd4K3V1aU52dDlERlE4Z3c1ajliMTMzY2Y1TVFUdzhiUTd0Q3ZB?= =?utf-8?B?UzZLdWpOb3dUdnZyS1pZdnNQL3FGY2lMVHZybkZmRlZGTUpiOGZ2M1poU3NH?= =?utf-8?B?Umt0NmxrbGZVWlJ2ZzRPL2tNNDh2TUdRMm5mWDMwT0hYb21keUZpcUIvV1l0?= =?utf-8?B?TE1qa1MvYmczdzBPK2NEZjN6OGFiWitxY1BQUEorY3dnTUVKejFsTlZmUlhu?= =?utf-8?B?VzkxV0tab24vWWZIY0xjeU5PUzlnY0NwUHlEcWRscFNLYjhSRk45TkdYN0Nz?= =?utf-8?B?d2pSYjJxMmE5SVczUFF1UUFTZTJHUGQzaXQyRDFVaDZieHMwa1dZZVRmR3Vq?= =?utf-8?B?bWU5Z2J1L0F1RFZQYWRSMHE0VXBCSmVXQTNyMFhyVWpmejFVT0x5dW9NUWY2?= =?utf-8?B?S3Q4aHlRRWZpcFVEQVc4N3V2NDZWNFE3R0J4bisvQ3lkUjdyLzQ1UDcxQ1VN?= =?utf-8?B?ZGVrdys5WmtsaXFiRmVUTUJjM3pGSWpyb2FwWEp3Vkg1WDc4TzFYMGRlTVZy?= =?utf-8?B?Q3hvZGljdkIxNENXaWZTUEUrZ3lWMGhnSU5KMExkRllFMzJLek1RNFUyT3Jw?= =?utf-8?B?Qy9JQ1hpc1Rwakx2ZUxiUXk5RW84Yk5rcnl5TllIOUtTSlEzWTZqeUJSWlF5?= =?utf-8?B?K0xNTCtqR1lNTTRzWS85VWRaWS9abjl0RGJVZVVWdm84dUNlQWdPS2hhVnBy?= =?utf-8?B?U2krZmd1U2hJYlZkckxBVGdVdENLa2dqZXc3TnJLc0hnMlFvYkxyb1hXQklm?= =?utf-8?B?elpoNFRYWVVLc0dha3l0aHpBdVFOb25CZVBCcWtBMTBjTXNCa1RNNzFuTlZM?= =?utf-8?B?ZE9TSDN0Q0pYMGFaOFNJcC80RzRmOVptZnVrZGQzYUxHTE8rQ0Q3aVBHNVFP?= =?utf-8?B?Z1QyRWpZZ0pjaXB2a3VhOE12STMrdVpZeDhiS2RtS0ZzKzJUcFhzWWttK2Zs?= =?utf-8?B?cnhyTVFQc3hnWEVIUjBnMkYvc3RHVmRNbm9WWkxBSHpFZndhMDBVRGZJeVJG?= =?utf-8?B?T3diSlFzYk5pZWt5QmZ3MDFxQXAyRElWZmU3VGY4YUtzdzlnV25pOU9PRGZn?= =?utf-8?B?d1cwS2JsM0RSdk04NHF0RjFlbGdxMnlNU0NNSjh6dWJLamU5L2wzVWVZSW9I?= =?utf-8?B?WlFXQlFVK1J0L2JwQmNJN2hycVNHUXlPczU1eldqOGFhbmE4bXpBS3NOdFBo?= =?utf-8?Q?XoaKPI1KGqTrglchx+LDIJtXJUxI+fnepRZJq4M9Prs87?= X-MS-Exchange-AntiSpam-MessageData-1: 9X8JpGpR6CmJpQ== X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: a157c4c5-e850-4da2-322b-08df38f82b35 X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB5892.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2026 15:44:23.9317 (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: gSCFNRtRSwm/R8Wxtbh+oU3UPROYRCItBtxj0CWNXdbJcQaDcplCqJQu0QhevM0Kr3inbHC1xDJ/yl6xy0E9Zw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6497 On 11/2/26 16:25, Andrey Drobyshev wrote: > With PcdUse5LevelPageTable the 64-bit PEI decides per guest whether to > hand the OS over in 4- or 5-level paging mode. Without a fw_cfg > override it uses 5-level paging as soon as the guest address space > (RAM plus the memory hotplug window) reaches 1TB. > > That threshold is too low for us: > > * 4-level firmware paging already covers 64TB of address space, so > 5-level paging below that buys nothing and only changes what the OS > sees at ExitBootServices; > * on Windows that means booting the LA57 kernel (ntkrla57.exe), which > bugchecks on AMD guests exposed to the ARCH_CAPABILITIES MSR > (VSTOR-152405) and breaks Windows Setup. QEMU since the commit > 7fc0e1c9f577 ("i386: hide la57 at fresh start on vz machine types > that show ARCH_CAPABILITIES #VSTOR-152405") now hides la57 on the > VZ machine types that expose the MSR, but the firmware shouldn't > depend on that. > > Raise the threshold to 16TB. Ordinary guests, including those with a > large hotplug window, stay in 4-level paging. > > Signed-off-by: Andrey Drobyshev > --- > OvmfPkg/Library/PlatformInitLib/MemDetect.c | 6 +++--- > OvmfPkg/RUNTIME_CONFIG.md | 2 +- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c > index 937e2b77a5..7220db8ef9 100644 > --- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c > +++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c > @@ -967,7 +967,7 @@ Switch4Level ( > Should that not be the case the function checks the size of the address space > > needed, which is the RAM installed plus fw_cfg reservations. The downgrade > > to 4-level paging will happen for small guests where the address space needed > > - is lower than 1TB. > > + is lower than 16TB. > > > > > > This function will also log the paging level used and the reason for that. > > @@ -1002,9 +1002,9 @@ PlatformSetupPagingLevel ( > ); > > switch (Status) { > > case EFI_NOT_FOUND: > > - if (PlatformInfoHob->FirstNonAddress < (1ll << 40)) { > > + if (PlatformInfoHob->FirstNonAddress < (1ll << 44)) { > > // > > - // If the highest address actually used is below 1TB switch back into > > + // If the highest address actually used is below 16TB switch back into > > // 4-level paging mode for better compatibility with older guests. > > // > > DEBUG ((DEBUG_INFO, "%a: using 4-level paging (default for small guest)\n", __func__)); > > diff --git a/OvmfPkg/RUNTIME_CONFIG.md b/OvmfPkg/RUNTIME_CONFIG.md > index b75a5dacad..3bef1e6e4a 100644 > --- a/OvmfPkg/RUNTIME_CONFIG.md > +++ b/OvmfPkg/RUNTIME_CONFIG.md > @@ -228,7 +228,7 @@ paging levels are better for compatibility, not all OSes can handle > levels are better for huge VMs, the address space managed by OVMF can > > be larger. > > > > -Default: Use 5-level paging in case more than 1TB of memory is > > +Default: Use 5-level paging in case more than 16TB of memory is > > present, 4-level paging otherwise. > > > > Usage: > Reviewed-by: Denis V. Lunev