From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web10.12143.1655926776332415298 for ; Wed, 22 Jun 2022 12:39:36 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=KZGnnZJx; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=0172c72e1c=brian.johnson@hpe.com) Received: from pps.filterd (m0134423.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25MJE2d2008736; Wed, 22 Jun 2022 19:39:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=content-type : message-id : date : subject : to : references : from : in-reply-to : mime-version; s=pps0720; bh=XZkK+R1qJxeKPk84od/nxANmbVSgVxd6vh73rUreTEY=; b=KZGnnZJxxTU3gMwZRfLNT1N8v0hHZAua5MI6VZMvpkqeyeAlwP0kenAQ10F5iZPnEmRk 2V2ER46dA/7es3w5tJj8G4wqoLYZxrKE5piVSaXtT8pCXL/mzzRpIEqbNeZQXggApcLh yzFT9IwxmwDb14eMWZ2IqmqG4l5KWaCajoXt8tWKT7h5oOxId8Ml1TbfW3nsAGAFusXf 438qxOcZ77S4wxAGqI3W7zFtBc7tWasYD/GVbSLYW9FOJ7jr5n5upLJa72+wNpYOP+Pn +SqTFppMzwr4t8rLysztq5EfPj/G5MQOuPNC959B8PVX/9tKSAxtReSMLhOCYMkkLnlm EA== Received: from p1lg14881.it.hpe.com (p1lg14881.it.hpe.com [16.230.97.202]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 3gv922r8vv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 22 Jun 2022 19:39:33 +0000 Received: from p1wg14926.americas.hpqcorp.net (unknown [10.119.18.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14881.it.hpe.com (Postfix) with ESMTPS id 0D2538058D7; Wed, 22 Jun 2022 19:39:31 +0000 (UTC) Received: from p1wg14924.americas.hpqcorp.net (10.119.18.113) by p1wg14926.americas.hpqcorp.net (10.119.18.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Wed, 22 Jun 2022 07:39:28 -1200 Received: from p1wg14919.americas.hpqcorp.net (16.230.19.122) by p1wg14924.americas.hpqcorp.net (10.119.18.113) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15 via Frontend Transport; Wed, 22 Jun 2022 07:39:28 -1200 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Wed, 22 Jun 2022 07:39:27 -1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nnaQpg0YsRiE/waXZLolzp2LejC4Gm4xKjOsudo3H1ueP64kWtv+bXX+6T3SS9Tykt5g7E2qZVuQ547RsmVWxHf0AgUraBNCjJcdoeDjRRUNjVpgsw7wQ88mWiwDrdHJ5IxtPlVjsoTm6hGoh4RrL0HsQ6fbjhhAh91BBMvcJsRgz7JYlL+ANaiu37SG8Qlw1qApyTToE7Eu93MLMQV7hGJso27SjLu/S24C4brxQ9erK0ioImEAziYbzzEmfz3idLtnruWyVjFzWCdSGP9RptgY3czKUoMFv2iYYt3olly5kj1T3QpAj92JxlmZlG5+RVzislnNPQWd3T60KZIuAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=mOrhZxjlti50dvJjfcXVeC764fATaQx8o1ZhSn8b248=; b=DnG6eK3fKJ5Cn4bYva2dhqzJgunGydS8eqJZ1Z07jxGXbhzI9M19bWN1zTUYpHS0P2qwpdCHcKUIRdnH8JuQzCQqripk9nUiSVnV+3fz2mT0iKLvbtjrU8rbPc7ksytbjdr0GGW0LKoVTwd25V9X/w24V3hapKuBArtiOzRbyIS4LzlPCZeWAiGZtGDTOye41ggwxXvBplWMqqwEbKHqxracFYBh4cqVXBRMQ/dRRE4Ga4hqwkkewL3Yg4/RaEyjA/HHnF29PNFXHe57bdqNTdBMyk94nEJeKwC2B4SljdyKJnQiCz1kFyyOg71apQi16wosoDsH3+MkE9v5olCN1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1c0::21) by SJ0PR84MB1896.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:a03:436::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5353.22; Wed, 22 Jun 2022 19:39:26 +0000 Received: from MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a8ef:95c0:f06:8b1c]) by MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM ([fe80::a8ef:95c0:f06:8b1c%7]) with mapi id 15.20.5373.015; Wed, 22 Jun 2022 19:39:26 +0000 Message-ID: <76b8a649-c0e1-8ee8-4502-8d6010a76b14@hpe.com> Date: Wed, 22 Jun 2022 14:39:23 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [edk2-devel] Clarification of Memory management in PEI phase To: , , Andrew Fish References: <500949D4-FFB9-4BC1-8655-430BC788765A@apple.com> From: "Brian J. Johnson" Organization: HPE In-Reply-To: X-ClientProxiedBy: DM3PR11CA0012.namprd11.prod.outlook.com (2603:10b6:0:54::22) To MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1c0::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: be1c5c14-0775-40a7-2c5f-08da5486ea9d X-MS-TrafficTypeDiagnostic: SJ0PR84MB1896:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SKaKqhBmcHr7UZ5FYQKp+B2D4kbsQ58BTUSzBLvKgmDB0GAbblwQlbxIZqj5tVKJ7pYXcKUKbp7vdkJpKWAvIfVoyPEB/Djcl3uIcW4kQ/h9z87g5VPgZZl1UgpsIQMHUMKU8HNiwWfxMD6o2npBuW6Kq75n2Ra2uihAlZh4e5RvKUA4LIIWnKjEy9OZc3zMN1mBU9G883D1byyL/sTe1aoA3EmDBaAst/FNRdX809QQ8s2yP/hOmlUvhgnRZIZdhek61x95Wz0dVastt1AXqReq8fWyhHA1BecF75aGuCToeFqViB0kvOuqxuaUyODL/cc8G1c96YPIRvnNlpLI2iHRa7ijd0/jTt73ghjqB223TGxjAuLDCePV56UgLCYggO/eotAg2hUGMya4g853EKrVChBDM1AiH5iTol2r3YSZcH2VzfREKGz4o8br5DDLHZZYA+zaKBO1jqqUGmmYaGKxZQYGBXCw/Lf3x/1r6iSfuSS0cHe/YAiFmZ0Gn8A7OQTyf9OAsb43ahGGnip/zoGciK97nxO1hLtEFeTKBRFdoVH3wpT/Ofde8Hch0L5hgMsjvpHHAOP2Yukss/c8EWUDwe7w9LwBV4NTAwFQ+a8IHghsarsKUY249ZnKg2GhGBR/kHS3rMsXoX+ngdd0vz0L6vVqzX2atNfSQ5ooEPwUaH95vP13WMPLRMrmlTTsfAJ69M1ria74Vh8k2zAddtpX9SjcorkkFiWAkxnHKOJr5cPDx5Pvwk6n6vgTIhJabO7EASHp6Q+ufAUOmYLGSAeAA6uayUVdWah2gyK5jGgui2OHwXwNVje8eLQdfo0LWjvCVQ23P0Ci/5RAmhc0JW68Gpwxgh11lmB8tRZNqZc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(346002)(396003)(366004)(376002)(66556008)(6666004)(2906002)(166002)(6916009)(31686004)(316002)(186003)(66476007)(66946007)(38100700002)(36756003)(6506007)(8936002)(966005)(5660300002)(83380400001)(6486002)(478600001)(41300700001)(76236003)(8676002)(6512007)(36916002)(31696002)(26005)(53546011)(33964004)(86362001)(2616005)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZEgrZVBxcFJ0MklvMUx2RHhyQVFueHk5eFkzRjRvaEFrWEhvcEtoNE93bFMy?= =?utf-8?B?TlVpaER3SUFIYmdwZXFITWNkbXJZWjRaeENIQUttR0I0VmxzbWppaXN1RFBN?= =?utf-8?B?Mm1JRXk0c2l2WE9aR1MyaVFFaVRFOFNnTjlhQk4rQ1MyU3E4VHdhaWg0b0JM?= =?utf-8?B?Y0tFQk15ejRGSGJDaDJVdUFFYU5aYk9TSG1uZjBmU293SldpWDZrMUE1NkVN?= =?utf-8?B?V0xPWnRKQmp4eDlqMjJibXdnZ01SU0NidzhENzdEUVNtUjFGME42L0VPWVFz?= =?utf-8?B?cEZNUndFR0JUbmNBY25ibmgvM1A1dXNxZW9qVktLdzdHT0c5dWNvRzdIZGhI?= =?utf-8?B?MUd5dndFdWxoWTZBZDZoTTk0d3UybVUxeUxZaFN0ekdPTEl0RE5uYWMxTkMv?= =?utf-8?B?Q0VjZ21ONStlYTJPay9sbi9mVGdrUkxQR1hnNWIrb1hnYWQ5QnVRK1hyV0lq?= =?utf-8?B?Q1VvaWJBclR6UlR4Y1ZQTGt1R1BXMkZjUW91U0lCQ3VDVHMrOFdadW4yYmgv?= =?utf-8?B?K0M4aUd1Qmp1bzE3QWZCSFE2dFdjNXFZM09pbUdYeU5jckpFMjU1Mll6eHo1?= =?utf-8?B?VzR3ZGNmTHNEeDlybUN0bzZXa2tRT3pkVjgyWS8rZzRHdWRjNHhwdjJnV0lp?= =?utf-8?B?Z000YVNVOVNPTktwaFpWR3JQTENydENacjViMHRoZkhPNUk1cFo5S1Y5ZXda?= =?utf-8?B?cU05c0pDNStnaE8vUFZrTTdtbk5ySmpuRzFMTnpWQ21rS21TN2hUOVVGb3Vy?= =?utf-8?B?OVluZnVGUGxaRlFkUGNEV01FdzJBSTkraUMyWUJoamlXYzk4WGNjbDk1akIr?= =?utf-8?B?aTlKbnVMa2Q1NnhPc2twbmJ5R0IxdHFqUVhSUjlMZXFPWWVKalBVaXhRaFNO?= =?utf-8?B?Z2pYWmprV1dVUHRNVWZoMW5RK2F1MURzRHVsbk5CcWtKODRTaEZaa1JZNkps?= =?utf-8?B?QnNHVE9WSmp1eFpWdUo2T3AxQWhVcEpwYS8wcEFITFB3bnVUMXo0QVp2Ymh0?= =?utf-8?B?Z093NW5NTkNGVFZTQStKaXRWR2ZHZDkyVVRwdHhhZlN0cUlaYnRybGtZTEVS?= =?utf-8?B?ZXZHMWRsYzBJQ1E1YzNEc29LUlRBc3J0cFlvOWQvc1pNQythVERHRU95UTRt?= =?utf-8?B?SjFEaTlFbGIrRDRRQUFpN1JVa2ErWWFhMHV0dFpkYWtFazh4SGI4bmc2aVNo?= =?utf-8?B?cXZNYmQ0OGFuUWU5NklmbEI4Q2ZzS3Yra0VkZldrMzZnN0tTcWV6a25TaU8y?= =?utf-8?B?TlY0bHdLaktRcUVCTkIxZGdvUTFCeWZzcTliaDRhZ2RBZzYvS0FISnJacXdq?= =?utf-8?B?TmFyanA2TDdVdVdleGp3SDRFSThIN1hOSDJvSVNLdkl4NzIyLzQ3VUJGS21J?= =?utf-8?B?dURRRGJSVTdQM2JqelU2L0dNVjNJVjFrQWlBRXdYUVZRNGREcW1xNjZja1RV?= =?utf-8?B?VzQxK1dObjB3TUE2WXdnMU5ybmJ5K0dCdTNYWkl2azNVeC9FS0dTTkJ1WFZq?= =?utf-8?B?TUhYeGR2N2txV3k2dUpFbXFKUk9ONnVwTUczMHFNVktiN29ES1o5RTlVM3Jq?= =?utf-8?B?bXh1UGg1OFVGU1Q3VVVHUWdkZkt1ZFl1aERqcFkxZ21ZaEphK2paQjdTYTJ1?= =?utf-8?B?emFUR0lCUm1kd09vY3hrU01Md3Vid2pFZjlveCsrSUJGODV2WVZJMFZPZUxG?= =?utf-8?B?VWpjbWd6bDZXeGN2Z3BJMko4cmc5dXl3bHdjM1Nya3g2VURycFRHa25JOGtx?= =?utf-8?B?UHVMRUphdW9OaEdZUkIzaE9EV28rNFBmQzlXbDBoSTBlVzVKV3BRMmlGSjNF?= =?utf-8?B?WWYrRllrUG1lekl5cVg1bDBxaGNxYmNRTm5PNjVWdHpuTDBsa0FlWlpwY1ha?= =?utf-8?B?Mnh6RStIZGdCWWlvNDA4YXV4dDdMU0dMdk5oZWY3bkpsVkFWYnpsRW9XeWNv?= =?utf-8?B?TGZYZmxoa0dmL2JkRGpyNEFlNWh4WUxFU3J5RTlJNC9OU09GczNxVGtDcHRP?= =?utf-8?B?V1piTGhBN21hN3FuRkZGTjduM1d5RmlweEFpd0RIZm01dVdXdE50bVZHRHh0?= =?utf-8?B?MWRpMWZHNXlWOTFFV09DbDZJWmNwVWNXNDFZV3ZES3poSVE2cTBSWmxQMlJ6?= =?utf-8?Q?hqe7OEH5UXBmQSgc+x6k8XLQe?= X-MS-Exchange-CrossTenant-Network-Message-Id: be1c5c14-0775-40a7-2c5f-08da5486ea9d X-MS-Exchange-CrossTenant-AuthSource: MW5PR84MB1354.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jun 2022 19:39:26.6115 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PGC79580y1kN4XlOjamrw56zCY8XUcc/Fc6i6sMzVp+GlKv8UwC3LBrGml+EYvGk2tHTBEAS4L4/zqrjDFGvFA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR84MB1896 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: 1jyoc2o9ZeQAk8jv7R3jlNIVmIFEqgWf X-Proofpoint-ORIG-GUID: 1jyoc2o9ZeQAk8jv7R3jlNIVmIFEqgWf X-Proofpoint-UnRewURL: 10 URL's were un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-06-22_06,2022-06-22_03,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 mlxlogscore=999 impostorscore=0 priorityscore=1501 malwarescore=0 adultscore=0 mlxscore=0 bulkscore=0 clxscore=1011 phishscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206220092 Content-Type: multipart/alternative; boundary="------------zC0GqEkDo0XIHRn3U0AYczW0" Content-Language: en-US --------------zC0GqEkDo0XIHRn3U0AYczW0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 U29ycnkgZm9yIHRoZSBsYXRlIHJlc3BvbnNlIHRvIHRoaXMgdGhyZWFkLi4uDQoNClBFSSBoYXMg Z3Jvd24gZ3JlYXRseSBpbiBjb21wbGV4aXR5LCBhcyBBbmRyZXcgcG9pbnRlZCBvdXQuIERvIHdl IA0KKFRpYW5vQ29yZSBjb21tdW5pdHkpIHRoaW5rIGl0J3MgdGltZSB0byBhZGQgYSByZWFsIHBv b2wgbWFuYWdlciB0byANClBFST/CoCBUaGVyZSdzIGdldHRpbmcgdG8gYmUgcXVpdGUgYSBiaXQg b2YgcG9zdC1EUkFNLWluaXRpYWxpemF0aW9uIFBFSSANCmNvZGUgb24gc29tZSBwbGF0Zm9ybXMu wqAgQW5kIHJlYWxseSwgaGF2aW5nIGEgbGltaXRlZCBhbW91bnQgb2YgcHJlLURSQU0gDQptZW1v cnkgYXZhaWxhYmxlIGlzIGFuIGV2ZW4gYmV0dGVyIHJlYXNvbiBmb3IgaGF2aW5nIGFuIGVmZmVj dGl2ZSBwb29sIA0KYWxsb2NhdG9yLCBzbyB0aGUgbWVtb3J5IGNhbiBiZSBmcmVlZCBhbmQgcmV1 c2VkLg0KDQpGV0lXIHdlIChIUEUpIG5lZWRlZCB0byBhZGQgYSBwcml2YXRlIHBvb2wgYWxsb2Nh dG9yIHRvIG1hbmFnZSBtZW1vcnkgDQpmb3IgYSBwcm9wcmlldGFyeSBoL3cgaW5pdGlhbGl6YXRp b24gbW9kdWxlIHdoaWNoIG5lZWRzIHRvIHJ1biBpbiANCnBvc3QtRFJBTSBQRUksIGFuZCBkZXBl bmRzIG9uIGFsbG9jYXRpbmcgYW5kIGZyZWVpbmcgbWVtb3J5IGluIGRpZmZlcmVudCANCnBoYXNl cyBvZiBpdHMgb3BlcmF0aW9uLg0KDQpCcmlhbiBKLiBKb2huc29uDQoNCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KKkZyb206KiBBeXVzaCBTaW5naCBbbWFpbHRvOmF5dXNoZGV2ZWwxMzI1QGdtYWlsLmNvbV0N CipTZW50OiogRnJpZGF5LCBKdW5lIDEwLCAyMDIyLCAxMjoyMiBBTQ0KKlRvOiogQW5kcmV3IEZp c2ggPGFmaXNoQGFwcGxlLmNvbT4NCipDYzoqIGRldmVsQGVkazIuZ3JvdXBzLmlvDQoqU3ViamVj dDoqIFtlZGsyLWRldmVsXSBDbGFyaWZpY2F0aW9uIG9mIE1lbW9yeSBtYW5hZ2VtZW50IGluIFBF SSBwaGFzZQ0KDQo+IFRoYW5rcyBmb3IgdGhlIHdvbmRlcmZ1bCBhbnN3ZXIuDQo+DQo+IEF5dXNo IFNpbmdoDQo+DQo+IE9uIFRodSwgSnVuIDkgMjAyMiBhdCAwMToyNjo1OCBQTSAtMDcwMCwgQW5k cmV3IEZpc2ggPGFmaXNoQGFwcGxlLmNvbT4gDQo+IHdyb3RlOg0KPj4NCj4+ICAgICBPbiBKdW4g OSwgMjAyMiwgYXQgMTA6MjggQU0sIEF5dXNoIFNpbmdoDQo+PiAgICAgPGF5dXNoZGV2ZWwxMzI1 QGdtYWlsLmNvbXdyb3RlOiBIZWxsbyBldmVyeW9uZSwgQ2FuIGFueW9uZSBoZWxwDQo+PiAgICAg bWUgd2l0aCB1bmRlcnN0YW5kaW5nIGR5bmFtaWMgbWVtb3J5IG1hbmFnZW1lbnQgaW4gUEVJIHBo YXNlPyBJbg0KPj4gICAgIHRoZSBVRUZJIFBsYXRmb3JtIEludGVncmF0aW9uIFNwZWNpZmljYXRp b24sIHZlcnNpb24gMS43IEVycmF0YQ0KPj4gICAgIEEsIFNlY3Rpb24gNC42LCBQRUkgTWVtb3J5 IHNlcnZpY2VzIGFyZSBnaXZlbiB3aGljaCBpbmNsdWRlOiAxLg0KPj4gICAgIEluc3RhbGxQZWlN ZW1vcnkoKSANCj4+DQo+PiBUaGlzIGlzIGJhc2ljYWxseTogKCpQZWlTZXJ2aWNlcyktPkluc3Rh bGxQZWlNZW1vcnkgKFBlaVNlcnZpY2VzLCANCj4+IE1lbW9yeUJlZ2luLCBNZW1vcnlMZW5ndGgp OyBUaGlzIGlzIGhvdyB5b3UgdGVsbCB0aGUgUEVJIENvcmUgdGhlIA0KPj4gbG9jYXRpb24gb2Yg dGhlIG1lbW9yeSB0aGF0IHdpbGwgY2FuIGJlIHVzZWQgaW4gUEVJLg0KPj4NCj4+ICAgICAyLiBB bGxvY2F0ZVBhZ2VzKCkgMy4gQWxsb2NhdGVQb29sKCkgNC4gQ29weU1lbSgpIDUuIFNldE1lbSgp IDYuDQo+PiAgICAgRnJlZVBhZ2VzKCkgSG93ZXZlciwgbm8gYEZyZWVQb29sKClgIHNlcnZpY2Ug c2VlbXMgdG8gYmUgcHJlc2VudC4NCj4+ICAgICBTbyBob3cgaXMgdGhlIG1lbW9yeSBhbGxvY2F0 ZWQgdXNpbmcgYEFsbG9jYXRlUG9vbCgpYCBmcmVlZD8gDQo+Pg0KPj4gSXQgYmFzaWNhbGx5IGdl dHMgRnJlZWQgd2hlbiB5b3UgdHJhbnNpdGlvbiB0byB0aGUgRFhFIHBoYXNlLiBUbyBzdGVwIA0K Pj4gYmFjayBmb3IgYSBtaW51dGUgSSB0aGluayBpdCBpcyBpbXBvcnRhbnQgdG8gcmVtZW1iZXIg dGhhdCB0aGUgbWFpbiANCj4+IGpvYiBvZiBQRUkgaXMgdG8gaW5pdGlhbGl6ZSBEUkFNLCBhbmQg ZGVhbCB3aXRoIFMzIChyZXN1bWluZyBmcm9tIA0KPj4gc3VzcGVuZCB0byBSQU0pLiBTbyBhcyBz b29uIGFzIHlvdSBoYXZlIERSQU0geW91IGFyZSBraW5kIGRvbmUgYW5kIA0KPj4gcmVhZHkgZm9y IHRoZSBEWEUgSVBMIHNvIHlvdSBjYW4gbG9hZCB0aGUgRFhFIFBoYXNlIGFuZCBzdGFydCB1cCBF RkkuIA0KPj4gUmVtZW1iZXIgUEVJIGlzIFByZSBFRkkuIFRoZSByZWFsaXR5IGlzIHByb2dyYW1t aW5nIERSQU0gaXMgY29tcGxleCANCj4+IGFuZCBsb3RzIG9mIGNvZGUgZ290IHdyaXR0ZW4sIHRo ZW4gbG90cyBtb3JlIGNvZGUgZ290IHdyaXR0ZW4gYW5kIFBFSSANCj4+IGhhcyBiZWNvbWUgbGFy Z2UgZm9yIHNvbWUgcG9ydHMuIFRoYXQgd2FzIG5ldmVyIHRoZSBpbnRlbnQuIFBFSSBpcyANCj4+ IGRlc2lnbmVkIGFzIGEgd2F5IHRvIHJ1biBDIGNvZGUgd2hlbiB5b3UgY29kZSBpcyBydW5uaW5n IGZyb20gUk9NIGFuZCANCj4+IHlvdSBkb27Ege+/ve+/vXQgaGF2ZSBhbnkgRFJBTS4gRm9yIHg4 NiBub3QgaGF2aW5nIERSQU0gbWVhbnMgeW91IGFyZSANCj4+IHVzaW5nIHRoZSBjYWNoZSBhcyBS QU0uIEZvciBzb21lIFNvQ3MgdGhlcmUgaXMgYWN0dWFsbHkgYW4gU1JBTSB5b3UgDQo+PiBjYW4g dXNlLiBUaHVzIHRoZSBQRUkgbWVtb3J5IGFsbG9jYXRpb24gc2NoZW1lIGlzIGRlc2lnbmVkIHRv IGRlYWwgDQo+PiB3aXRoIHRoaXMgdmVyeSBjb25zdHJhaW5lZCBlbnZpcm9ubWVudC4gWW91IHN0 YXJ0IFBFSSB3aXRoIGEgaGVhcCBhbmQgDQo+PiBzdGFjay4gWW91IGNhbiBhbHNvIGFsbG9jYXRl IEhPQnMgKEhhbmQgT2ZmIEJsb2NrcykuIEEgcG9vbCANCj4+IGFsbG9jYXRpb24gaW4gUEVJIGlz IGp1c3QgYSBIT0IuIFNlZSBbMV0uIFRoZXJlIGlzIG5vIHdheSB0byBmcmVlIGEgDQo+PiBIT0Iu IFNvIHRoZSBBbGxvY2F0ZVBvb2woKSBraW5kIG9mIGxlYWtzIGludG8gRFhFIHRvbyBhcyBhbiBl bnRyeSBpbiANCj4+IHRoZSBIT0IgbGlzdC4gQnV0IHdoZW4gdGhlIE9TIGNhbGxlZCBnQlMtPkV4 aXRCb290U2VydmljZXMoKSB0aGF0IA0KPj4gZnJlZXMgYWxsIG5vbiBydW50aW1lIG1lbW9yeSBi YWNrIHRvIHRoZSBPUy4gSWYgeW91IGxvb2sgYSANCj4+IEFsbG9jYXRlUGFnZXMvRnJlZVBhZ2Vz IHlvdSB3aWxsIHNlZSBBbGxvY2F0ZVBhZ2VzIGNyZWF0ZXMgYSBIT0IgdGhhdCANCj4+IHBvaW50 cyB0byB0aGUgbWVtb3J5IHJlZ2lvbiwgYW5kIEZyZWVQYWdlcyBqdXN0IG1hcmtzIHRoYXQgSE9C IGFzIG5vdCANCj4+IHVzZWQuIFRoYXQgY29kZSBpcyBhbHNvIGluIHRoaXMgZmlsZSBbMV0uIFRM O0RSIHRoZXJlIGlzIG5vIHBvb2wgDQo+PiBtYW5hZ2VyIGluIFBFSS4gWzFdIA0KPj4gaHR0cHM6 Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Jsb2IvbWFzdGVyL01kZU1vZHVsZVBrZy9Db3Jl L1BlaS9NZW1vcnkvTWVtb3J5U2VydmljZXMuYyNMODc4IA0KPj4gVGhhbmtzLCBBbmRyZXcgRmlz aA0KPj4NCj4+ICAgICBBeXVzaCBTaW5naCANCj4+DQo+IA0KQnJpYW4NCg0KLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQoNCiAgICAiSXQncyBPSyB0byBiZSBzdHVjay4gIDk5JSBvZiB0aGUgdGltZSBpbiB5b3VyIG93 biBbcmVzZWFyY2hdIHdvcmssDQogICAgIHlvdSdyZSBzdHVjay4iDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIE1hcmsgTGF3cmVuY2UNCg0K --------------zC0GqEkDo0XIHRn3U0AYczW0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Sorry for the late response to this thread...

PEI has grown greatly in complexity, as Andrew pointed out. = ; Do we (TianoCore community) think it's time to add a real pool manager to PEI?  There's getting to be quite a bit of post-DRAM-initialization PEI code on some platforms.  And really, having a limited amount of pre-DRAM memory available is an even better reason for having an effective pool allocator, so the memory can be freed and reused.

FWIW we (HPE) needed to add a private pool allocator to manage memory for a proprietary h/w initialization module which needs to run in post-DRAM PEI, and depends on allocating and freeing memory in different phases of its operation.

Brian J. Johnson


Sent: Friday, June 10, 2022, 12:22 AM
To: Andrew Fish <afish@apple.com>
Subject: [edk2-devel] Clarification of Memory management in PEI phase
=20
Thanks for the wonderful answer. 

Ayush Singh

On Thu, Jun 9 2022 at 01:26:58 PM -0700, Andrew Fish = <afish@apple.com> wrote:
On Jun 9, 2022, at 10:28 AM, Ayush S= ingh <ayushdevel1325@gmail.comwrote: =20 Hello everyone, =20 Can anyone help me with understanding dynamic memory management in PEI phase? In the UEFI Platform Integration Specification, version 1.7 Errata A, Section 4.6, PEI Memory services are given which include: =20 1. InstallPeiMemory()
This is basically: (*PeiServices)->InstallPeiMemory (PeiServices, MemoryBegin, MemoryLength= ); This is how you tell the PEI Core the location of the memory that will can = be used in PEI.=20
2. AllocatePages() 3. AllocatePool() 4. CopyMem() 5. SetMem() 6. FreePages() =20 However, no `FreePool()` service seems to be present. So how is the memory allocated using `AllocatePool()` freed? =20
It basically gets Freed when you transition to the DXE phase.=20 To step back for a minute I think it is important to remember that the main= job of PEI is to initialize DRAM, and deal with S3 (resuming from suspend = to RAM). So as soon as you have DRAM you are kind done and ready for the DX= E IPL so you can load the DXE Phase and start up EFI. Remember PEI is Pre E= FI. The reality is programming DRAM is complex and lots of code got written= , then lots more code got written and PEI has become large for some ports. = That was never the intent. PEI is designed as a way to run C code when you = code is running from ROM and you don=C4=81=EF=BF=BD=EF=BF=BDt have any DRAM= . For x86 not having DRAM means you are using the cache as RAM. For some So= Cs there is actually an SRAM you can use. Thus the PEI memory allocation sc= heme is designed to deal with this very constrained environment.=20 You start PEI with a heap and stack. You can also allocate HOBs (Hand Off B= locks). A pool allocation in PEI is just a HOB. See [1]. There is no way to= free a HOB. So the AllocatePool() kind of leaks into DXE too as an entry i= n the HOB list. But when the OS called gBS->ExitBootServices() that free= s all non runtime memory back to the OS.=20 If you look a AllocatePages/FreePages you will see AllocatePages creates a = HOB that points to the memory region, and FreePages just marks that HOB as = not used. That code is also in this file [1].=20 TL;DR there is no pool manager in PEI.=20 [1] https://github.com/tianocore/edk2/blob/master/MdeModule= Pkg/Core/Pei/Memory/MemoryServices.c#L878 Thanks, Andrew Fish
Ayush Singh =20 =20 =20 =20 =20
=20
Brian

---------------------------------------------------------------------------= ---------------------------------------------------
   "It's OK to be stuck.  99% of the time in your own [rese=
arch] work,=20
    you're stuck."
                                           -- Mark Lawrence
--------------zC0GqEkDo0XIHRn3U0AYczW0--