From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 2394EAC019B for ; Thu, 25 Jan 2024 08:21:07 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=UhnfJ75q4eLj9ZpS3J2GhgfVxjw70kv3wiIFtfIM9JQ=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1706170866; v=1; b=hVmgxuNg/YifiZBhW9fxH4Nozhclrhj8NlwD9PWCbR3sw5oY9wPkxyM7UuXkRlAYZsaY/alG SDI+px9mVKQGhyAZecGRB4V4immSeVYzft1/RNY8fVrZn41kCpP67ydugcE8giwXpmLodUCLMGT GxbdBs9ljAGl8oWK2drGuJxA= X-Received: by 127.0.0.2 with SMTP id o1rHYY7687511xq31rb4Sl3f; Thu, 25 Jan 2024 00:21:06 -0800 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web10.12514.1706170864970255999 for ; Thu, 25 Jan 2024 00:21:05 -0800 X-Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-581-EY4_v0aIMDSyADMHWxlV8A-1; Thu, 25 Jan 2024 03:21:00 -0500 X-MC-Unique: EY4_v0aIMDSyADMHWxlV8A-1 X-Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8DD80106D064; Thu, 25 Jan 2024 08:21:00 +0000 (UTC) X-Received: from sirius.home.kraxel.org (unknown [10.39.192.43]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5EE6BC15E61; Thu, 25 Jan 2024 08:21:00 +0000 (UTC) X-Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id EBDB31801A90; Thu, 25 Jan 2024 09:20:57 +0100 (CET) From: "Gerd Hoffmann" To: devel@edk2.groups.io Cc: Liming Gao , =?UTF-8?q?L=C3=A1szl=C3=B3=20=C3=89rsek?= , Oliver Steffen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 2/2] MdeModulePkg/VirtualMemory: fix 5-level paging assert Date: Thu, 25 Jan 2024 09:20:57 +0100 Message-ID: <20240125082057.309133-3-kraxel@redhat.com> In-Reply-To: <20240125082057.309133-1-kraxel@redhat.com> References: <20240125082057.309133-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.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 Reply-To: devel@edk2.groups.io,kraxel@redhat.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 2HA3u86B6CkAHDLYlH9knVMux7686176AA= Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=hVmgxuNg; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=redhat.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io The ResetVector decides at runtime (depending on CPU capabilities) whenever it uses 5-level paging or not. Firmware builds with 5-level paging enabled (PcdEnable5LevelPageTable=TRUE) may run run in 4-level paging mode. The code handles that just fine, by looking at the la57 bit in cr4 instead of checking PcdEnable5LevelPageTable. So the ASSERT is too strict. Change it to ensure the build was configured with PcdEnable5LevelPageTable=TRUE when running in 5-level paging mode. Signed-off-by: Gerd Hoffmann --- MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c index 46528e4f719d..9e194ef8cc55 100644 --- a/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c +++ b/MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c @@ -745,7 +745,9 @@ CreateIdentityMappingPageTables ( // Cr4.UintN = AsmReadCr4 (); Page5LevelSupport = (Cr4.Bits.LA57 != 0); - ASSERT (PcdGetBool (PcdEnable5LevelPageTable) == Page5LevelSupport); + if (Page5LevelSupport) { + ASSERT (PcdGetBool (PcdEnable5LevelPageTable)); + } } else { // // If cpu runs in 32bit protected mode PEI, Page table Level in DXE is decided by PCD and feature capability. -- 2.43.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114375): https://edk2.groups.io/g/devel/message/114375 Mute This Topic: https://groups.io/mt/103950406/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-