From nobody Sun Apr 28 23:00:33 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+69458+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+69458+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1608843356; cv=none; d=zohomail.com; s=zohoarc; b=M838+8/kaRKt/oGsKFm7wt1g3nddXtLEQyhIXFD3g9iWHfpx3R+LYMcRjDD8LvDbI8NXIrxR1jb7E2jk4S7D3vnHwkHepMEaIUrHIIlHt06WWmJ7jIO3M7eNPKzZ9UDNE59wZbnbJvn/0q6LtmdwzC6NR+FU88R+ewpm2tQeEng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1608843356; h=Cc:Date:From:List-Id:List-Unsubscribe:Message-ID:Reply-To:Sender:Subject:To; bh=zVReQ0+YsvMdS4dqSzx6oITsgxd1sc3ZbrnbF/9U0To=; b=IhclfhQm3cn5OsO3o5ypQmvegisB/EGAE4vzpGnlP72e+qlbQuegofQ+7R+WoYbxVVYUaDGZkR/uI/DHSqKNlIvjp3BPlYEzrhq4eHwBplOeaSRpDMUNRsLvSbaqnp/YzylqOone4r3fuxo4g8mZEI3Z5vcH6QgbALBRV2qODgs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+69458+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16088433565581005.7522659986969; Thu, 24 Dec 2020 12:55:56 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id UL9QYY1788612xuetGQpTBnP; Thu, 24 Dec 2020 12:55:56 -0800 X-Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.2816.1608843349477950953 for ; Thu, 24 Dec 2020 12:55:50 -0800 IronPort-SDR: 2MuqK5Oq4OW+3HxACSSMKttUp216TxWmbevqxmYBG2/wnf1Sck0EoYVuYLZxmMkptQJDlbBzwx z0XqJcDtSXKQ== X-IronPort-AV: E=McAfee;i="6000,8403,9845"; a="240263294" X-IronPort-AV: E=Sophos;i="5.78,446,1599548400"; d="scan'208";a="240263294" X-Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Dec 2020 12:55:43 -0800 IronPort-SDR: xHqMCNDm/tmXrxKxP2C4ak0XskwSA5oc+KMOxDQTS6FCpzHT0y3WKY0BM/HFtD4BOmEJL3qjLX kou0SaC1DGlQ== X-IronPort-AV: E=Sophos;i="5.78,446,1599548400"; d="scan'208";a="417730458" X-Received: from gdong1-mobl.amr.corp.intel.com ([10.212.176.23]) by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Dec 2020 12:55:41 -0800 From: "Guo Dong" To: devel@edk2.groups.io Cc: eric.dong@intel.com, maurice.ma@intel.com, benjamin.you@intel.com, philipp.deppenwiese@9elements.com Subject: [edk2-devel] [PATCH] UefiPayloadPkg: Add memory type information HOB Date: Thu, 24 Dec 2020 13:55:37 -0700 Message-Id: <20201224205537.20648-1-guo.dong@intel.com> Precedence: Bulk List-Unsubscribe: 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,guo.dong@intel.com X-Gm-Message-State: yBu0QAr0HtwulvxWXQKyqIeCx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1608843356; bh=WgmSmaOBbl5xAETeNoz9Yzu2l7HYlp+uncHyNdpooOg=; h=Cc:Date:From:Reply-To:Subject:To; b=Sx3KVgl+vaUJKv02WdF3C3FuIoTbGn0FzE+PrXxk8fJFmKCvsYM8WwdTOJFL+scKqmo nOh1gO6iWlwQtnyVFEYPlztE8njlFhK+1AA9I4SiUnkR6Xf416KYjehvM6E9h1nEDCVO5 Ka8+a336Zw/3DFhFoUyLTmaB7SxzRWkc5IM= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" To avoid DXE drivers to be dispatched to memory above 4GB, this patch build memory type information HOB in payload entry module. Signed-off-by: Guo Dong Reviewed-by: Maurice Ma --- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 23 ++++++++++++++++= ++----- UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 1 + UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 5 +++++ 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c b/UefiPaylo= adPkg/UefiPayloadEntry/UefiPayloadEntry.c index 805f5448d9..5d8b9d1464 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c @@ -7,6 +7,16 @@ =20 #include "UefiPayloadEntry.h" =20 + +EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] =3D { + { EfiACPIReclaimMemory, FixedPcdGet32 (PcdMemoryTypeEfiACPIReclaimMemo= ry) }, + { EfiACPIMemoryNVS, FixedPcdGet32 (PcdMemoryTypeEfiACPIMemoryNVS) = }, + { EfiReservedMemoryType, FixedPcdGet32 (PcdMemoryTypeEfiReservedMemoryT= ype) }, + { EfiRuntimeServicesData, FixedPcdGet32 (PcdMemoryTypeEfiRuntimeServices= Data) }, + { EfiRuntimeServicesCode, FixedPcdGet32 (PcdMemoryTypeEfiRuntimeServices= Code) }, + { EfiMaxMemoryType, 0 } +}; + /** Callback function to build resource descriptor HOB =20 @@ -40,11 +50,6 @@ MemInfoCallback ( EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE | EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE; =20 - if (Base >=3D BASE_4GB ) { - // Remove tested attribute to avoid DXE core to dispatch driver to mem= ory above 4GB - Attribue &=3D ~EFI_RESOURCE_ATTRIBUTE_TESTED; - } - BuildResourceDescriptorHob (Type, Attribue, (EFI_PHYSICAL_ADDRESS)Base, = Size); DEBUG ((DEBUG_INFO , "buildhob: base =3D 0x%lx, size =3D 0x%lx, type =3D= 0x%x\n", Base, Size, Type)); =20 @@ -343,6 +348,14 @@ BuildGenericHob ( BuildResourceDescriptorHob (EFI_RESOURCE_MEMORY_MAPPED_IO, ResourceAttri= bute, 0xFEC80000, SIZE_512KB); BuildMemoryAllocationHob ( 0xFEC80000, SIZE_512KB, EfiMemoryMappedIO); =20 + // + // Create Memory Type Information HOB + // + BuildGuidDataHob ( + &gEfiMemoryTypeInformationGuid, + mDefaultMemoryTypeInformation, + sizeof(mDefaultMemoryTypeInformation) + ); } =20 =20 diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h b/UefiPaylo= adPkg/UefiPayloadEntry/UefiPayloadEntry.h index 2c84d6ed53..57b03dffe9 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h @@ -31,6 +31,7 @@ #include #include #include +#include =20 =20 #define LEGACY_8259_MASK_REGISTER_MASTER 0x21 diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPay= loadPkg/UefiPayloadEntry/UefiPayloadEntry.inf index cc59f1903b..444d03b6d4 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf @@ -84,6 +84,11 @@ =20 gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemBase gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemSize + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData + gUefiPayloadPkgTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode gUefiPayloadPkgTokenSpaceGuid.PcdPayloadStackTop gUefiPayloadPkgTokenSpaceGuid.PcdSystemMemoryUefiRegionSize =20 --=20 2.16.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#69458): https://edk2.groups.io/g/devel/message/69458 Mute This Topic: https://groups.io/mt/79209988/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-