From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.51062.1680257365192756534 for ; Fri, 31 Mar 2023 03:09:25 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=AE2SsUHJ; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1680257365; x=1711793365; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=EAXQ6/IUtEZ7FNBPHV7NWgrD3nREHdTDZcG6kmJaciY=; b=AE2SsUHJDT4HBeetP8G7Xvq/l9KtwOg16mEzvturO7IGKKs4JjS6qjyb Q42T5XOmk6sVVt/HwjQqijwELMvAgZ7FtheoTdZkXwCyt3TXOWDkJEmFc Y3sw/LDnP778ZrnguHe51MQOc/7PjJIIOnRNjAiqOInrUX8vYj3Y3m+C0 AqgPYGbhyYaf2XWUaszBqnU/j55KJX/CheggVDvfCEB8nhr2Odx5yYhhX PvZWgROqfIDX/ksSjqYXBylmomCquRFsbbrxRJvoMfswdllMf9mp2clzH gvgEBLT0Xv3Zu6Ae/NNTuaDlKZyuo2fCTcOEeAafg9emRvH+FfMdsdFQZ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="341427364" X-IronPort-AV: E=Sophos;i="5.98,307,1673942400"; d="scan'208";a="341427364" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Mar 2023 03:08:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="828657166" X-IronPort-AV: E=Sophos;i="5.98,307,1673942400"; d="scan'208";a="828657166" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga001.fm.intel.com with ESMTP; 31 Mar 2023 03:08:53 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Fri, 31 Mar 2023 03:08:53 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Fri, 31 Mar 2023 03:08:53 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Fri, 31 Mar 2023 03:08:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aVBiGk3+M5qVN5+sSv/X59LsHceJ+KakMyB/uQNztMjehmzsNl6dQ4lFN/5QOR0kh7GdpygAxBLPEmYFD3HbABchCE8RO0AwF1L7Ng6XgqgTWpWACN/F6PYiJU95+hYEExIvkMNiwegYK1I+b6y7hMCLSgjKuMMxwGFRUMdkFlMmdN+Wa0WIyvJaqEajr0dW4WZTtQPVZOOAAx3TJguiS0sofqyrYmbnObDoJJNmp1z1dSvxN8hhXExU/Z3Htv0QhHdIyQDjeNDkIif3tz+bUo4kaT5DIjx3liWnRN7O3IC53ob2QHODgcmDKOhEL3RfJDVrtfm+1Dup9xElExrxuQ== 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=p+g6+6bOpCSQnrMVIrANnZtpRAsJ5neQQrRBfso6Wac=; b=gu2nhXuDTPDDRe5g1e7RM54S6kvDJljMktRrBj0/I7T+JmjJhdm2tnhWji/BO8wkpWXbU7W2gd3EsiTXaJp/vRuoorYNfw2LASmL5Zcs/x71KBM7ovC1Jkw0JBt6RDtJQod1MDrP/lEb+oiKtI3dZKiGQ9mb2Qd0zRvFGJV27G3/X8jQWtGKL9zyZdo2hllkatJM5quK3BQ+wpL5eIOLyDtfr5HliSVoJgBnwkOy2k2lTVH09JsqIGQCxXrb7fwTNw94IdNpdESPTLntxYz8b+DyGxFRex7qXHP4w9rsQqyCp3Kp9xaqt0yNLmyZ8/Jd+oLhEbOoQZpIpd8XpSgh5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by MN6PR11MB8169.namprd11.prod.outlook.com (2603:10b6:208:47d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar 2023 10:08:51 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::ae07:e96a:4a24:8a69%8]) with mapi id 15.20.6222.035; Fri, 31 Mar 2023 10:08:51 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "ardb@kernel.org" CC: Andrew Fish , "Kinney, Michael D" , "Liu, Zhiguang" , Rebecca Cran , Tom Lendacky , =?iso-8859-1?Q?Marvin_H=E4user?= Subject: Re: [edk2-devel] [RFT PATCH v3 0/5] UefiCpuPkg, OvmfPkg: Simplify CpuExceptionHandlerLib Thread-Topic: [edk2-devel] [RFT PATCH v3 0/5] UefiCpuPkg, OvmfPkg: Simplify CpuExceptionHandlerLib Thread-Index: AQHZY7FOAbbDgq9HhEy3vtp2QeeDvq8UqctQ Date: Fri, 31 Mar 2023 10:08:51 +0000 Message-ID: References: <20230331091437.1593337-1-ardb@kernel.org> In-Reply-To: <20230331091437.1593337-1-ardb@kernel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|MN6PR11MB8169:EE_ x-ms-office365-filtering-correlation-id: e0894e19-7334-4ac9-818e-08db31cfed53 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: YlHhRwJJyScNfc7ZJSwCZZCQe3zjzVHDi6jjGl+XmukryTQHXsNuhAyfx3pr+TrpnRfROcic3R+L4lpL4qbDvXwD6Dp+fgc4uKVRLSdZBUtzZgBqtWN2E6T2KNKzJ6PL2vbCexHjUfrSo34uAxDu5HmsZSqkz5KRvuIbzdfReOfuLFoGbuoVmjyApEHOKo0AxeuYVw4jmtxxAR9SJtaaAWEf3CDFUORwxkMJLr2FjOKzv/kqtzTig/2NN6YWX61lt/5kZ7zP/Nu8NOekHPBkVGoPje6cHVHhupOaabc4wm7HrJfhSXC8CeZC2MtKuIRnca6YxFQVVJD8wX+FW2qGQ1eceA7aotO1zEr9s67h0w3wc2Hp0YYEcI+fb4GY8OkV6fjMk6Nwwd6UO/Djs8OGFytT/t5DF5H0GqskxK34MlvWwXfzq98QIwQhM4f5Eg3JJdIn0lAzOmtpzLuV0Nt2H4pSAmQdYwHEt7eBlOw+KvWxBUZBFDCWxnDc62Iy91qt5R2IcbG59+jcZZbIiT1k+6OrBkkcAoxqXh2TVr4QM0ENuOU2XOUo4o4QP/WPIV3PVkxISa9Sj8Vso5d1ppuruO1HGXS+h7LKiepIJEbsJXZyY2rWaCwMs0ImvBLKsHzZnl6QuqN5Gkf33wOF2wsY4w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(136003)(346002)(39860400002)(396003)(376002)(451199021)(66899021)(66574015)(33656002)(38100700002)(38070700005)(8936002)(76116006)(5660300002)(4326008)(86362001)(66946007)(41300700001)(64756008)(66556008)(55016003)(8676002)(66476007)(52536014)(66446008)(82960400001)(54906003)(53546011)(966005)(83380400001)(122000001)(71200400001)(110136005)(9686003)(2906002)(6506007)(26005)(19627235002)(478600001)(186003)(7696005)(316002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?RsdGN5VAjD2TvGABeFBgpbiTUrICEsq7psK+NjFRB6B/GJ4Bz4gUOJX9vw?= =?iso-8859-1?Q?+pAeulCSBKHPa05DQUJGPTwhO3g+9JSwR8XoCfmhklqF0Sl8RZylo5WxNl?= =?iso-8859-1?Q?00eDanFbMDFfRatIFDBL1IrvqD6pIyirOaRgYNqzqJc9ZcUbRIko24vJpf?= =?iso-8859-1?Q?1xLlZ7Nk+QgM27jgiJ0IUztBdAmg83dJgv9DGO6QmyeYS4dpJ6yrMRevM6?= =?iso-8859-1?Q?OX0BX4/Qc7O6ooryzzSCMt1AUGjrsG4WyAw7t9xEaCZl9lrwNJz/TqHXL/?= =?iso-8859-1?Q?EBB6FCG74ACI0Nu0HDHfWavP6z3VVRMjv3qMYUtTiGjCWpIeILFDAxlSeI?= =?iso-8859-1?Q?ubij3n0u/vGzviaLkaZHoGTvVD3txnBWbVBp5/fdM1vwKQIacA68oOhzqd?= =?iso-8859-1?Q?oKls/lfsNzqUFJ6vxywi28I3rLLP1EFzQ/0In1WSjsI+Y/PxEFfGNhBb6p?= =?iso-8859-1?Q?Si1+QgxbDCVMa2Ngo0KPTjITw6MeBz8zRWDFH5HfusE+eZ7wd+fw3YcBpO?= =?iso-8859-1?Q?4PlemZgknrsH1Wcl1Uo+06JLhVz9pt6iEcwdNJL0XQOrwjvct0+wT82b6L?= =?iso-8859-1?Q?5tFaVLmmqzZAAtzgC0LBEdk7CVmT8MB3ucK1ZbTRyMQpqbcFpoZ2sNGo4o?= =?iso-8859-1?Q?ulxm+MTkZY/pyVY9QLRloswJU+1E2hEjYAvMO8+cpG6iazQ09SnlT6kEiQ?= =?iso-8859-1?Q?nebyX4M9oDIzzeBfxLSFfvfffjG+jZXKU0oDXH1C+9dlbtQA2xoA/9r+O9?= =?iso-8859-1?Q?oJhEQc6Fr5aIBjca1xrg2h2KsvrCLKyIiWOTKMaodC22AbHa66UjU9SDdN?= =?iso-8859-1?Q?4SkE6MDmqyowg19lsOdl6pLmguIp6a/gXeInwRSRAT3gQcOv+6UwpywTwB?= =?iso-8859-1?Q?Z4XH8S9T+IfvS63HPWmw5pYEn5BW+MYgFTdRjHojzzOsHwMeJYH4SoPxJ9?= =?iso-8859-1?Q?xKcIq88hm28ik7HCFklq2+iVN6NG1aiCucZ4QGNU58Dd3HW8aWdm2WXbpV?= =?iso-8859-1?Q?yI2WdGzwhDZY9q43/T3su60dlFtQW03rPZXaBntufpp5/tLruAyN3sYNhn?= =?iso-8859-1?Q?7GvhM8wzEUgRjpoRi8KaxuUeDv17lrJbALlVuBtswB5AeMBh9x5WI70TTM?= =?iso-8859-1?Q?vzVunlQmeDHBKYxsTrqS0OxU5qj6ogAB1ku7341eiJmU08ATNZaSAcalzk?= =?iso-8859-1?Q?+y0b8yLq0w+rBAwrMa67CNECVyEvAzJ++DexsMs8LCLmWPL4JrNL0bva2j?= =?iso-8859-1?Q?4dbgYjY2KpXqahX8GI7+csRjagwgAFPwsErKFeSmwc9V1eqWMxmiBZLHNH?= =?iso-8859-1?Q?NbqE2fXGjCItvOM0BxcKiEwkj9lhIQm9cPkjef6eJYJ5GfHnupCQyXYDgJ?= =?iso-8859-1?Q?T4dL9kzivSE9ul6GPcq8jiCQAxTzTYqiWjAaqBh0UDwh/6trvkglsQZ6Em?= =?iso-8859-1?Q?KMat3Oo9l5I/1qIGOh5CDbB+EMxxTS1FyqEIl4+gMEhxtOEXWxu4QPNGGg?= =?iso-8859-1?Q?rm3YU0t/OEelfpGDjVQpYoi1AHTY4TC8ZoiKSzd+oRHFCDU7MQCCsJ8LVn?= =?iso-8859-1?Q?FMP86BHWwUJZqCKpAcRV7IK4SdaIGpLq+v9eu/4oF8XVLBGpV1priUyYO3?= =?iso-8859-1?Q?n6CM/uk1WQCiA=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0894e19-7334-4ac9-818e-08db31cfed53 X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Mar 2023 10:08:51.2497 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2I3sQLTS/zepHiAg76nKqjqAjm53W9KBt/jT/Qa616REzXXcHBwh6FYI2pIN1uJyCky1m3Va6dPBGly46SkxGA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR11MB8169 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Ard, What does "-read_only_relocs suppress" control? Linker doesn't produce relocation entries that modifies .text section silen= tly so the final .text just cannot run at all? Thanks, Ray > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Ard > Biesheuvel > Sent: Friday, March 31, 2023 5:15 PM > To: devel@edk2.groups.io > Cc: Ard Biesheuvel ; Ni, Ray ; Andrew > Fish ; Kinney, Michael D ; > Liu, Zhiguang ; Rebecca Cran > ; Tom Lendacky ; > Marvin H=E4user > Subject: [edk2-devel] [RFT PATCH v3 0/5] UefiCpuPkg, OvmfPkg: Simplify > CpuExceptionHandlerLib >=20 > We have a special version of CpuExceptionHandlerLib for XCODE5, whose >=20 > linker (LLD) does not permit absolute symbol references in read-only >=20 > sections. >=20 >=20 >=20 > Instead of fixing this up at runtime for all toolchains (which is done >=20 > by writing the fixed up values to the .text section, which we'd prefer >=20 > to avoid), tweak the SEC/PEI version so it does not need this, and >=20 > update the remaining versions to only incorporate this logic when using >=20 > the XCODE toolchain. >=20 >=20 >=20 > Changes since v3: >=20 > - As Marvin points out, using '-read_only_relocs suppress' with the X64 >=20 > XCODE linker is a terrible idea, as it corrupts the resulting PE >=20 > binaries, so instead, let's do the following: >=20 > . tweak the SEC/PEI version of the library so the relocs are emitted >=20 > into .data when using XCODE; >=20 > . tweak the other versions so the runtime fixups are only done when >=20 > using XCODE >=20 > - add acks from Jiewen and Ray >=20 >=20 >=20 > Changes since v2: >=20 > - pass linker switches to permit absolute relocations in read-only >=20 > regions, and keep all code in .text >=20 >=20 >=20 > Cc: "Ni, Ray" >=20 > Cc: Andrew Fish >=20 > Cc: "Kinney, Michael D" >=20 > Cc: "Liu, Zhiguang" >=20 > Cc: Rebecca Cran >=20 > Cc: Tom Lendacky >=20 > Cc: Marvin H=C3=A4user >=20 >=20 >=20 > Ard Biesheuvel (5): >=20 > BaseTools/tools_def CLANGDWARF: Permit text relocations >=20 > UefiCpuPkg/CpuExceptionHandlerLib: Use single SEC/PEI version >=20 > UefiCpuPkg/CpuExceptionHandlerLib: Make runtime fixups XCODE-only >=20 > OvmfPkg: Drop special Xcode5 version of exception handler library >=20 > UefiCpuPkg/CpuExceptionHandlerLib: Drop special XCODE5 version >=20 >=20 >=20 > BaseTools/Conf/tools_def.template > | 2 +- >=20 > OvmfPkg/AmdSev/AmdSevX64.dsc > | 4 - >=20 > OvmfPkg/CloudHv/CloudHvX64.dsc > | 4 - >=20 > OvmfPkg/IntelTdx/IntelTdxX64.dsc = | > 4 - >=20 > OvmfPkg/Microvm/MicrovmX64.dsc > | 4 - >=20 > OvmfPkg/OvmfPkgIa32.dsc = | 4 > - >=20 > OvmfPkg/OvmfPkgIa32X64.dsc = | > 4 - >=20 > OvmfPkg/OvmfPkgX64.dsc = | 4 > - >=20 > OvmfPkg/OvmfXen.dsc = | 4 - >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.in > f | 5 +- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf > | 4 +- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib > .inf | 4 +- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.i > nf | 4 +- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nas > m | 116 +++++++++++++++++--- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/{Xcode5ExceptionHandler > Asm.nasm =3D> SecPeiExceptionHandlerAsm.nasm} | 108 +++--------------- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHa > ndlerLib.inf | 65 ----------- >=20 >=20 > UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHa > ndlerLib.uni | 18 --- >=20 > UefiCpuPkg/UefiCpuPkg.dsc = | 7 > -- >=20 > 18 files changed, 133 insertions(+), 232 deletions(-) >=20 > rename > UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/{Xcode5ExceptionHandler > Asm.nasm =3D> SecPeiExceptionHandlerAsm.nasm} (70%) >=20 > delete mode 100644 > UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHa > ndlerLib.inf >=20 > delete mode 100644 > UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHa > ndlerLib.uni >=20 >=20 >=20 > -- >=20 > 2.39.2 >=20 >=20 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#102255): > https://edk2.groups.io/g/devel/message/102255 > Mute This Topic: https://groups.io/mt/97969646/1712937 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [ray.ni@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20