From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.65]) by mx.groups.io with SMTP id smtpd.web11.16677.1673019740109645867 for ; Fri, 06 Jan 2023 07:42:20 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=VrgVxXAw; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.92.65, mailfrom: thomas.lendacky@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fo4nv3JtupEE5U4cMvuRqUOzmH6q55+dg3otK3hPdc/a5jD55aCLqqP+wk8WGQLebqUPskTTxnZFcHr733919W0tYj/Sev1i+gWG/TJq9XaZ4LnRKnlz9MRHxiRklFYCMolN11s2+I5QcyQtH+CQo9nbUTBAWabsymxAhU+dISZzQtyDJbOuQ3aX6GzE8xARN3I4q17zbRTP4yWM/0Gy5L4cuY1Qy/P3WBQFZo88OIok8ZL1MhE4XJcxAXREv6iFozvdIqoQM0EYeALUkuHjg9n3J09jAY0nlspFGG/kazRaBIPUAPIyYhSSfTr+yh+m9rncSF9GzntN6M4tTiNrog== 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=VzGutfh8e9EH+XA1w5vH1bj2zHApOBXpAojFYGzgTuw=; b=WC6CS2gMACovdTwl/BYCpIX7pUPO3et61LCk1KGwY51AEVS4J76Ljn7JXS4e1oMhA+8OMSFHftOCzvesxVgMF/0picmeo1GXR1995ovOGwXzyCRy2sofQrwwQYrW9OvbkYX043/AYUrzxn6u++mF+w5jSsoH4cA5Oe4d0JmAh3KW61LI5OVfeWnDgoz5jIgbNc40gjcDAWNXBKTj203pWMUMog+L2bnfyAAdwyjbJseCe5Fer/DOyV3oFQZtJQAWqSbZVHbFjsRcALnOzEqYAiDi1OPzz9cqg7hNhNcXGtO8mUp32IQ/8ZDGv7Q5B/MY8w4qxh/cYKxIj6pBdJLq1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VzGutfh8e9EH+XA1w5vH1bj2zHApOBXpAojFYGzgTuw=; b=VrgVxXAwE5pJfM7zZRPBU+ip0OtaOS1r8Q1iTozb4c6CUX/Vq2Hdm5TxGozG6fg6uNBGe0ASWb8IN6Wcm4NqQclcZP0BQLAtQ0p6yRlWoObV8uYfz5eD5niwSA/2K/Fgmb0WKWwdsfWSHq41oGXIVT+f4ZnpaCqwwmL/kfE42wo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) by IA1PR12MB6626.namprd12.prod.outlook.com (2603:10b6:208:3a2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Fri, 6 Jan 2023 15:42:18 +0000 Received: from DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::8200:4042:8db4:63d7]) by DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::8200:4042:8db4:63d7%3]) with mapi id 15.20.5944.019; Fri, 6 Jan 2023 15:42:18 +0000 Message-ID: Date: Fri, 6 Jan 2023 09:42:16 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [edk2-devel] [PATCH] UefiCpuPkg:Fixed AsmRelocateApLoopStart and ensure allocated memory <4GB To: Gerd Hoffmann , Laszlo Ersek Cc: devel@edk2.groups.io, ray.ni@intel.com, "ardb@kernel.org" , "Xie, Yuanhao" References: <20230105062108.1796-1-yuanhao.xie@intel.com> <20230106080300.tsohpx24ddxjo5x4@sirius.home.kraxel.org> From: "Lendacky, Thomas" In-Reply-To: <20230106080300.tsohpx24ddxjo5x4@sirius.home.kraxel.org> X-ClientProxiedBy: DM6PR06CA0073.namprd06.prod.outlook.com (2603:10b6:5:336::6) To DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) Return-Path: Thomas.Lendacky@amd.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB5229:EE_|IA1PR12MB6626:EE_ X-MS-Office365-Filtering-Correlation-Id: 2f66841d-f483-4d17-f0e5-08daeffc977d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RQvmnW+wM7fCV3wpwNBOBrxKdpfsCnaHO0fckGc/o20/RMyY0mcx1ViniTjRRufuQGpcAc0O1xNf7/lmM9bGRhRAwlpuTeQ3GdSzk9B/stFw3ucDCIJYEWgfBWncMg5MBM6iTY1Cb9p4Rj4hiXL42yV4sZyesIqk0PVn2JiwZEVlAFNLrUshjIQ4gWQsBBHWqidMm01xG0yuc6zmRqk7sTsrUG1Cih/tu09rXPHsKmn51bc8vkumQRUF/n0NMzVg4mAUk2hU4aKvMjiVCNauA3l+Dyrk+/9go9D/a3pPwZFsEt9oSnMULKI2arVaYc97asRHCqQbBFsMfAgfDEkw5LY18WAHDbVyHVtTDTHF9o+LczDXxgrM9jktlIA2lYMUYUePj+rfhHC8EYUv86DZj/pyJ7l69vbnwiksMxQOl+gXlBOYZXE/GwcycOA8NHR1SnhWsftykkxyJ1piY7/O2CykbzEtD8CyZwnsKYq+9LTfzVuIPvMaRXXUrScKseKaVl26MztwxKbql9QG/iko/AAklBujl/rXZi/ZfyE3yIGvPgUsPr6Yo5Gbkecng+uc8gm9WefMiuGnBWjTv6NxH+rlCy0H3lj7VRBQqEgzm/yDsCsUC9/ecQINSmpLDIQQn+wPa5NX9T11SmKiEHkPY1TpicpWrtafFSJfUbaWGHJkMOV4VQDoY7vTsr3KV+VZYlWksnPdYMF5YyPWyeJDfdkmhjo79vv6N35XEIO08Pg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5229.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(6029001)(4636009)(396003)(136003)(376002)(366004)(346002)(39860400002)(451199015)(36756003)(38100700002)(5660300002)(8936002)(41300700001)(66946007)(83380400001)(86362001)(31696002)(4001150100001)(66476007)(54906003)(110136005)(6486002)(31686004)(2906002)(6506007)(26005)(66556008)(53546011)(478600001)(316002)(186003)(4326008)(2616005)(6512007)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aU5QWUk5bjF5WTgyZ1hKTEEvSVVTRVZES0hwY3pJQkFVQm9HVHU0RDJKZUFh?= =?utf-8?B?eEw3eDNqM2tpeXl5aHF1S0plU0hOTlZyWXJoREM0M2pPMWZIWHhlTFN0WTNt?= =?utf-8?B?amV1Z2RsS012aU1YUkEvRU04Nk5jQ1lDbjVpemlzOWhmNWsrWG5NUWQ3bmF5?= =?utf-8?B?LzhZc3BvdFBXdVQ2NWhUS1dkeUxiUGlYeENiOXVUQVhUS3B0bEVveXh0cTBJ?= =?utf-8?B?emJ0K2ZFSXV1ZHc2aHFsVWRQRVBIWk1kVTZMYzRkT1U5NFhDTU5RSnNteXZn?= =?utf-8?B?RmxNOEF2bmtHME52QlJLL1ZUcFVHeVJ0WlB6RzRudi94azM1SXkvNXJTaUR4?= =?utf-8?B?NnJmNXB5NitSbnRVWkI0QnRhbzd0a2NhTUV1ZXNURWMvV2djbEFBa0Q3NFRJ?= =?utf-8?B?eGdUQUY4ckViRXJLU2JVdHBya0k0bUF2QlhqeHF6OFFPZGthSy95VXo3Yko3?= =?utf-8?B?TURFd3dVWjhGZ1lqUG8xZk1Ed1FyZGNNazNGSDN5VDF6ZnJrMkdQVnlFclE0?= =?utf-8?B?dER6VHdDQng4Nnl0ZUVpdVdNcFFpZjVxd25VQ1RQRE5IWllRV0FVVXY1NEVD?= =?utf-8?B?eWZPdXprUVlsZWorV1htR1BNckgyMEYxc1RYZkNtRThocWhoaG1sWTJYR0Fq?= =?utf-8?B?K091TW5QZDNYMXBZMEQvbEtrbk5ES0MxZCt6RkhlNXJSYVdkZ0pRTHZRNC9M?= =?utf-8?B?cC81eDJnclJIYmhWbm1JVVF5bklWcklEWVpyTFlHZUhHWGpaQVZPUUN0OU56?= =?utf-8?B?bGZuRGZNTWdhcmVzTEdFUUxHY29WVnVEazE2bnRXVW1VNDJiY0lFd0VwWVRD?= =?utf-8?B?aW9uMW54K2w1RzAwakQwV2hVU1FDOHZHUEtPODhaV1JpdmtJZTR6akdJSlZo?= =?utf-8?B?ZVRrR0FHeTZ1QWJ3eUlOS09JYmt2VnBocjVyWjlLd1VNeGtKZ255RTMyYkZX?= =?utf-8?B?aU1GR3lsc21TUS8zMXhNNSsyUG40Nk9jemFKZUhvOGNpZzU5QnRRSkJ3R0ZP?= =?utf-8?B?MTk2YXhxayt2VThQR2xxVjJXNTJqYWFBZzh5VUllS3NPb1dJZFNyMjRtdEN0?= =?utf-8?B?MHIyTitHeHZSSDkzUENZZUR3SEQra1hkS1RTMGJUZG9OVjdwTnVnN01RZEs1?= =?utf-8?B?cys2WG54QlliOEY5bFZVem9Wd25GRWV2S1JRV1lEQkJCbkNhT0Q4bloyS3ZZ?= =?utf-8?B?MU5ldkE0a3pUa2Z2SU5pbXRqUDdRSEVlK1NRa0xyM1ZkaWlPQW44Mkt1aVRx?= =?utf-8?B?MkxoZVlmeG04ejlvYlJZbzNPb04xMGQyK1ZiWHdadHlQZloyM3QxaVI0SkxX?= =?utf-8?B?MHd3WUs5N2g1QTNXQy9iM0FOcHRTQ2JOdDYxNHV6YWZDK2lvN1JwN0o1Vkpz?= =?utf-8?B?SDE3Vnh2VjVFaTMya2tNaG5BWDRzdlYzbWZSNlgyNXdaL0dhdzYzeHZIVGIw?= =?utf-8?B?SW1YYXhhYm9Cb2dqcXkwMmV0SkpJd2c5bUJtanZGcmxaT0NjWWJWbnE4MkZR?= =?utf-8?B?aUJ2US9TWDN4VVFVZlhiMU5rc2pRMndjUmlxSFkwalYxbndPaWtaUUlqaXNZ?= =?utf-8?B?cU44aUhIaFNNYnRHOTNYZU1VZFJLQ1NWTEt2YjlFTFJia3dPdVdUZUxVclB3?= =?utf-8?B?QThUS21iSzhNczlYTE5jNUYrQklmWEZydS96TlRNZzhCclFTZWxpK09mZ3lq?= =?utf-8?B?bVUra1pMWmxUSVlFZ2ZkN2FUNWRYVk85NVQrSkdsSkpkUTBydjJ2TS9OZHBx?= =?utf-8?B?YjV4T2pNc1BQTW5tRTIvcDBvWEp3VkFUK2NOek1YY1FiODhHd25BL1ZFNGo1?= =?utf-8?B?ZE5ZeFYxSzdPSXY0QnQvc0VwYnVHTURiUzQrNms1R1R3NDdQbzBRcjBMeDRp?= =?utf-8?B?bzg4Sm5WbVhmbEZkUGlpNDNUSFpTN1gxN2ZJOFdSYUt4TSs4aDRSNjdHYjBj?= =?utf-8?B?WkhnOS82ZHl5NE1SditrVjJQUTdxMlduVE1tSjdvWk44UjZyZmEzalIwSWox?= =?utf-8?B?MEl5SVpyV0lFR05wOWNEYnQ1TmNrTjZ4aGVabHYvcWgwTWRtUWhWaVdoaDdO?= =?utf-8?B?cTFPcWo4NTlLMURFWWM0VVJCeVFKbTR1clRQY3E5a1VOcnRjViszUzhqM09X?= =?utf-8?Q?9Ki2mVyhQWe72tMNCe1mRWNyk?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f66841d-f483-4d17-f0e5-08daeffc977d X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5229.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2023 15:42:18.0176 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Qy159Pbk4nJ7J+Z3aKASj9qt2fSpfzEVum7EiUQpB2dkK+bJoVSOzkTa3B5iVdY7/P0VNrOMZl+JUzZlRrZOpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6626 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/6/23 02:03, Gerd Hoffmann wrote: > On Fri, Jan 06, 2023 at 07:42:20AM +0100, Laszlo Ersek wrote: >> On 1/6/23 05:12, Ni, Ray wrote: >>> >>> Ard, >>> >>> Only AMD X64 (including SEV and without SEV) runs the code that >>> switches to 32bit paging disabled mode. >>> Intel X64 runs the code that stays at 64bit paging mode. So no need >>> for <4G memory. >>> All IA32 CPUs (including intel and AMD) stays at 32bit paging disabled >>> mode. The AllocateReservedPages() call should not return a memory >>> above 4GB in 32bit env. >> >> This argument about the allocations sounds valid, thanks. >> >> The code still remains incredibly hard to read. It needs serious >> cleanup. >> >> (1) Wherever we have "Amd" in an identifier, let's rename it to "Amd64", >> to better reflect the revised check. > > Maybe even better: Use PcdConfidentialComputingGuestAttr to figure > whenever SEV is active, if so branch into Amd assembler code. Rename > "Amd" to "AmdSev". > > Otherwise just call normal X64 / Ia32 code. > > Amd assembler code can subsequently be simplified, the checks for SEV > are not needed any more (but should not harm either). > > [ Adding Tom to CC ] Yes, I agree with all this. Thanks, Tom > >> Commit 73ccde8f6d04 ("UefiCpuPkg: Has APs in 64 bit long-mode before >> booting to OS.", 2022-12-20) *removed* the executable marking. >> >> (4a) Is that not a problem? > > I think so. > > Booting with strict NX checking (PcdDxeNxMemoryProtectionPolicy = > 0xC000000000007FD5) and "qemu -smp 2" makes my qemu hang with 200% CPU, > so probably both vcpus are spinning in a dead loop. For the BSP this is > expected behavior (buggy grub.efi, see parallel thread). For the AP it > is not, so apparently it is not running idle in hlt like it is supposed > to. > >> Honestly, at this point I'm *even more convinced* that the original >> series should be reverted, and redone from the ground up. > > Yes, "back to drawing board" looks like the best option at this point. > > take care, > Gerd >