From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id B240C20945B80 for ; Mon, 18 Sep 2017 18:49:44 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Sep 2017 18:52:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,415,1500966000"; d="scan'208";a="130090508" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga004.jf.intel.com with ESMTP; 18 Sep 2017 18:52:48 -0700 Received: from fmsmsx158.amr.corp.intel.com (10.18.116.75) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 18 Sep 2017 18:52:47 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx158.amr.corp.intel.com (10.18.116.75) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 18 Sep 2017 18:52:47 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Tue, 19 Sep 2017 09:52:45 +0800 From: "Zeng, Star" To: Larry Cleeton , "edk2-devel@lists.01.org" CC: "Yao, Jiewen" , "Zeng, Star" Thread-Topic: EFI_MEMORY_ATTRIBUTES_TABLE not in runtime memory Thread-Index: AdMwtbIGgmjoUTiIS3yYgSDmqXoyNwALvJ5w Date: Tue, 19 Sep 2017 01:52:45 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103B972DD1@shsmsx102.ccr.corp.intel.com> References: In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: EFI_MEMORY_ATTRIBUTES_TABLE not in runtime memory X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Sep 2017 01:49:44 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable As I know according to UEFI spec, it has no requirement about the Table nee= ds to be in runtime memory, but only requires the list (holding Guid value = and Table pointer) needs to be in runtime memory. "The InstallConfigurationTable() function is used to maintain the list of c= onfiguration tables that are stored in the EFI System Table. The list is st= ored as an array of (GUID, Pointer) pairs. The list must be allocated from = pool memory with PoolType set to EfiRuntimeServicesData." Jiewen, you should know more detail about this feature. Thanks, Star -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Larr= y Cleeton Sent: Tuesday, September 19, 2017 3:49 AM To: edk2-devel@lists.01.org Subject: [edk2] EFI_MEMORY_ATTRIBUTES_TABLE not in runtime memory The EFI_MEMORY_ATTRIBUTES_TABLE constructed in MdeModulePkg/core/dxe/misc/M= emoryAttributesTable.c is allocating the table memory using AllocatePool().= It seems it should be allocated using AllocateRuntimePool(). We've observe= d Linux kernels seeing a zeroed table, likely because those boot services m= emory pages have been reclaimed and zeroed. It appears that several other c= onfiguration tables are allocated with runtime memory. I haven't found any = specific statements that this table should be in runtime memory. However it= seems pragmatic and consistent that it be in runtime memory. _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel