From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.17627.1653237612342509403 for ; Sun, 22 May 2022 09:40:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=SrZmVvvO; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: jian.j.wang@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1653237612; x=1684773612; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=V8R+8+cknHXREwRwkl3HICk1bEKNGB6J3BdBB7r7EOQ=; b=SrZmVvvOWXXb8BqTDghVYiXi2lKr/Es5JXJfhPVw4Nqe+YNU6kAWkUVo uecGlxfuo/lIIoKh7EKu6ObTd/3yUKo0RoyiBCaOuril667y6XNOom73P 9hUfEqMEQXVRSkbXTZYdfZ8TmmhHaMft8UTpsFtHaZ2wXuyiDN/jSknbB Z4pQ6rs3R3hhdE4Lm0H5Dwhtdu0XqVMdRDQlgjyi6OoH4+eZXAiX1SUMe 25PH+hJ3ghszKA+KFvYmbi1VZTUe5HRY+z90XuW78KSkq+nlxnpEv9vcp 6LECvmOXfKarD94ZRLMd61Oml+alKgRMTZB8cUcVVOy9VObFOOB4k8EcM g==; X-IronPort-AV: E=McAfee;i="6400,9594,10355"; a="273002143" X-IronPort-AV: E=Sophos;i="5.91,244,1647327600"; d="scan'208";a="273002143" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2022 09:40:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,244,1647327600"; d="scan'208";a="600216209" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga008.jf.intel.com with ESMTP; 22 May 2022 09:40:11 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sun, 22 May 2022 09:40:11 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Sun, 22 May 2022 09:40:11 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Sun, 22 May 2022 09:40:11 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Sun, 22 May 2022 09:40:10 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DSA/FRrHdEWaiV2Vbcbx05hE8SvB2TB6pkx2XQ3BluVD4CsAn0RjHjjBFZLLAz+0WY4+EFDbXscSi1CotoUxhRk9Kj+KfxtZ5R+zOS2gdbdPUxu4UaEXahKFdi+UOFRBWb0ustVhY6S5ZBMRHRQzLKlmsAnIe2QAt7eqjzGEM5A2RxV5m9lxXBySax/rYPuCvk9aY2j4bTaLgW9V9QW2uoBff5PKpaArUb/A91tSadZ//CHw/nHrJXcnGYLbEo8llTi+w9EX5z7XjkT27dL7uVl4lN6wdfipi64cyGPXxwMc6bsant+uBqeLce7+1H//FFUNE3WjJOkeXdU+4lMRGQ== 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=xapNXPeyEuX4K3xHHddrGXI4SvQziyUdsQq51tXbkkk=; b=mQXse2TmdUXM9f09zK/f6WWQjB7CHrmYizSoR1KRnacgCVRZ22v+yVLOBzEeQBeCuNFPCMwJslyJBkg7jCIMcDe6kOIovex6Ihg9cxRHhlMO8rgMpHXvFVJP3dB4pvX5Fg/WGfoR6rme/d6/2QEGQisV4dZt76AgRl10zJkyvEcqMbzuAPetl15yCdpz7uAwenoAD87DvM40jD1muEL/QJsj97J0Xi3caYbtNRq7wMfAQx6+p2uRy01UaETGyHHsx7Fcs6QmKVJuxLHtyprN8SmgtSIyIvS85eOQ12rOU3lrQdUR1pLoQVr0fbhp+FDHKM/wVfLpS2lcyj7QqnrJ5g== 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 CO1PR11MB4945.namprd11.prod.outlook.com (2603:10b6:303:9c::8) by MW3PR11MB4540.namprd11.prod.outlook.com (2603:10b6:303:56::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.16; Sun, 22 May 2022 16:40:09 +0000 Received: from CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::a420:db2c:31db:7906]) by CO1PR11MB4945.namprd11.prod.outlook.com ([fe80::a420:db2c:31db:7906%9]) with mapi id 15.20.5273.022; Sun, 22 May 2022 16:40:09 +0000 From: "Wang, Jian J" To: "devel@edk2.groups.io" , "Ni, Ray" CC: "Dong, Eric" Subject: Re: [edk2-devel] [PATCH 1/5] CpuException: Avoid allocating code pages for DXE instance Thread-Topic: [edk2-devel] [PATCH 1/5] CpuException: Avoid allocating code pages for DXE instance Thread-Index: AQHYbFQ20SxUylAdY0SIFt+l+JdJVa0rG48A Date: Sun, 22 May 2022 16:40:09 +0000 Message-ID: References: <20220520141549.108-1-ray.ni@intel.com> <20220520141549.108-2-ray.ni@intel.com> In-Reply-To: <20220520141549.108-2-ray.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.401.20 dlp-product: dlpe-windows authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2341172c-1a2f-4671-3bec-08da3c11bc31 x-ms-traffictypediagnostic: MW3PR11MB4540: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: 4jBoN7LobitiRH71Le1xUeKxBDmMjrIjJvXYeJa6WKhbW9cZhGfm8O0HezqwVVq7Md+XvbbDKhi+u6euK3s2YMaf4UA16m1u/vbT1RYOs8DIb1gqKnrID2NNQYYCocLs1ACy2vDDaTEG7FAD54Mznex2EGQ1ksBxEkAsF3po0F03JgelGpnli1vE/2eEmoo6jw1CKI0LqwvUxAabRFQDtmiQa8n/02l443x1XR8iWFBsN562oGNPIxJs9gAQI9DjQrl98H4LZRf8cuZmGTBnesq1jIrjqlZi1WuDlYx4vJFq7TfHiQvLk/eScDZe1rQ0xeCMNnaETcA3gXPTCtofD3scTuRkltapANQyr2JDx383/0TdJddPw1wZBZm7rni4K0WbhebGSde8VwjdJp+8c9jSfFFn23OQN4xWXcyQO+6/b5Z7M0Vv9U2A5DR/6ilSTnCKf7rz/Q8Di4aOzSkkttHD6raDS2SHfBzYSVmP+cCEPiz0WvFLLJ+0r0pkvFt6pwOmXrrqxHMKr60GemR5qqcJiG4Lyp8VrVN7M9XRbECeIq6dD9jx8j/edDag6W+1d30V7JY0XAuFqK3RaBAxBxnAKndBdMjb96d72f3i7Wq9g+LNXkDSalfZ7dWTByKpR7UMomFHqzEIcpNKHx2tRER1DY6w/ynnhtBIG7CaG2JZplSuuKjx2J0eojlwExF4mDB0cEWRoA3ziDWh1gWC6SP4R18C3vbLndBy4zZQhX9I9flDkMkkhxL8h4b1Qixb1qisiSjTV5XSXD05JFIxd0gJN9bsPi/nimg1reakWiG+zTCtruR1q42EbL8AHpMBBCtolIu4GUacKmaAe3ZNKw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4945.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(76116006)(66476007)(66446008)(107886003)(66556008)(55016003)(66946007)(6506007)(64756008)(4326008)(8676002)(186003)(316002)(7696005)(19627235002)(83380400001)(33656002)(53546011)(26005)(38070700005)(6636002)(110136005)(82960400001)(8936002)(5660300002)(508600001)(52536014)(9686003)(966005)(71200400001)(86362001)(2906002)(38100700002)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?CMVwoX3V3T0RY3vSrLFa2KP5nMjv7GVeQPizR+vX0kopebpwa4dzHAVrYXoV?= =?us-ascii?Q?wf4EY+T8Yic8/6mryN4RZefmfdtWdvW+V/OxFAt9blrGaiHaKegc94b9uk6B?= =?us-ascii?Q?TXso/fjBKPwTb12PbKVCXGR708nx9OK2d7briOBs/331HpkpBUVQ4GXVny7G?= =?us-ascii?Q?jceyJGzYemhlwPu+QjX7OwEPD95CL/Vc7TlmQ705EEDYyrK1IoefZhQ5PTw0?= =?us-ascii?Q?VUFDbo3MjPY4wiHHUprgnMOeoHhERNWz64cWPkeGslzZe+RkMhos9Pdp5I2F?= =?us-ascii?Q?M3nTUIvKQ4trGYxSdbZkQwfD0ejIyo1QERSJm5HpAwgaiFSZP1Dgor26CYhd?= =?us-ascii?Q?KcPXMqLKGRjs0njn4u7d+nfotWyzLVjExJcjMyZTEACSI0D97eOvVCWguesK?= =?us-ascii?Q?z5cUzMy2suFtZNpDiOAJ63Uf27dWkAf+gg49DXQc3BCN4wpZmZmbU/H9fjug?= =?us-ascii?Q?bvl1+tGzeEKmsItpUqL/d7atM/VbHEYmhD32UlmZyQElkxTXjM6QHDTJ1qd9?= =?us-ascii?Q?RNOC99ZiAI62Fs5IaUDWda/FVmEIRH27xpr0Csrq0pze+6Qy7MLVgpn/RsuA?= =?us-ascii?Q?FQXHAZ+3qdo4cjLuqD9LpKI37F3SSv0LAcJRPBaei7ADlSXbJvPJUZEr3KCM?= =?us-ascii?Q?H5MTxWP0RiIAsy6J66QO2UqQ7vXbdE7ifPAkNwrLtREJ+2HGUJcklCi004VG?= =?us-ascii?Q?K4gVRJw8B1HyNkCmchuNhXCXnoFWeHpAj9/QIy9p+LEDUasSkCT5Rf2RvPFY?= =?us-ascii?Q?jVhck3KZ+UzcLOkvRezbdEkb5DqzuXpGpFQaeRLAyU4mbUCHAkV31lNnrE97?= =?us-ascii?Q?MK63YWmd5uPrBTLxh+aknejlrcvl09DMylqY/TQE7ow+ky5zpClwQpOsmlgW?= =?us-ascii?Q?mfbf2VBuRQ+0w1i4OLUJXn6IAjzOW4Beq9fclGiScAyCdUFsUkRPcmRTQvXo?= =?us-ascii?Q?4ACVp6GElZib4sSFMcqFl/9qKWbYfM4+JqDxZO4fLTxxcm0Zd8CsWLhpZxRq?= =?us-ascii?Q?STp3ClN255kmEea0YvHUbxOpyCsAakPYdrgIUO+/K8UNi86UDFeBl1q9h24z?= =?us-ascii?Q?/Ja6TxlFbjrzkuRzEHGAmc4sPGe9yA1mcgyf9Db6y9Hbymp6yeb/DMppGJB/?= =?us-ascii?Q?2At5GOaZqSib19KPaChQpvkBiGKuDUA6Chd5jFUIoXzIOSm65VpGtX7I7W84?= =?us-ascii?Q?9pmzeXkvuvbT/Hnb96zMWqbrJOjgKVGdglRLRz5dWhbL7UJHhskHUuGmJoWE?= =?us-ascii?Q?PjsPDRCxNu2WrlIA6n6WnhzKPw2ZmbRErK+9rqbDkI/kM6qKhnheQjx1JOCW?= =?us-ascii?Q?sUlN0v6QUpB8PLKmRXbuDwlCycX2rp76Sxvg9YjKo2Pa7qI1L38JWd4XVEYL?= =?us-ascii?Q?n+wLT2oJN53wg4YKEqHHhFSfd0qpstHiBxr+zfM2qhoq6uONdhm4BNuKkqK0?= =?us-ascii?Q?Pg7t5dwOvDTEOUIflEvzNVUgmYpF+QAskmctDzx6doNkyqLM2xxBnabJ1Chi?= =?us-ascii?Q?UuelJDgr3K/YseD6bnlQ39YE+MNDC36t78EGvLA8ew2/0o7Y/Tg/n6ziGFMB?= =?us-ascii?Q?T+TTqe6x4IOgfMkccD4nEZRhvzQXshC1KvRx75o1CTCSstTjozoWrwcXUU8l?= =?us-ascii?Q?3RmMy9GiZkl9H4hB3mNO1vLl/AxwPiJpel35LoteANZMEXOsE6iF8Gex1biH?= =?us-ascii?Q?XMYaGLEaCDSiaa5qS3uY7g+dy7sBIQ/EBZ5XDvpTTAJIvHKKy4Ukef23piIh?= =?us-ascii?Q?ykbL+EaJqA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4945.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2341172c-1a2f-4671-3bec-08da3c11bc31 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2022 16:40:09.5643 (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: gk61RklFQdHj7lM1+DUBlFZnQRwH2txcRPJAvRTjmiGRVxYG/uUnznx99bPvCkpxBv3tGutpvllkE58JqnFmkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4540 Return-Path: jian.j.wang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ray, You changed "%rep 32" to "%rep 256" in Ia32/ExceptionHandlerAsm.nasm. According to my understanding and your comments, this should be done only to X64 code, right? Regards, Jian > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Ni, Ray > Sent: Friday, May 20, 2022 10:16 PM > To: devel@edk2.groups.io > Cc: Dong, Eric > Subject: [edk2-devel] [PATCH 1/5] CpuException: Avoid allocating code pag= es > for DXE instance >=20 > Today the DXE instance allocates code page and then copies the IDT > vectors to the allocated code page. Then it fixes up the vector number > in the IDT vector. >=20 > But if we update the NASM file to generate 256 IDT vectors, there is > no need to do the copy and fix-up. >=20 > A side effect is up to 4096 bytes (HOOKAFTER_STUB_SIZE * 256) is > used for 256 IDT vectors. While 32 IDT vectors only require 512 bytes. >=20 > But considering the code logic simplification, 3.5K space is not a big > deal. SEC instance still generates 32 IDT vectors so no impact to SEC. > If 3.5K is too much a waste in PEI phase, we can enhance the code > further to generate 32 vectors for PEI. >=20 > Signed-off-by: Ray Ni > Cc: Eric Dong > --- > .../CpuExceptionHandlerLib/DxeException.c | 22 ------------------- > .../Ia32/ExceptionHandlerAsm.nasm | 4 ++-- > .../X64/ExceptionHandlerAsm.nasm | 2 ++ > .../X64/Xcode5ExceptionHandlerAsm.nasm | 9 ++++---- > 4 files changed, 9 insertions(+), 28 deletions(-) >=20 > diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c > index 61f11e98f8..5083c4b8e8 100644 > --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c > +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c > @@ -95,9 +95,6 @@ InitializeCpuInterruptHandlers ( > IA32_DESCRIPTOR IdtDescriptor; >=20 > UINTN IdtEntryCount; >=20 > EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap; >=20 > - UINTN Index; >=20 > - UINTN InterruptEntry; >=20 > - UINT8 *InterruptEntryCode; >=20 > RESERVED_VECTORS_DATA *ReservedVectors; >=20 > EFI_CPU_INTERRUPT_HANDLER *ExternalInterruptHandler; >=20 >=20 >=20 > @@ -138,25 +135,6 @@ InitializeCpuInterruptHandlers ( > AsmGetTemplateAddressMap (&TemplateMap); >=20 > ASSERT (TemplateMap.ExceptionStubHeaderSize <=3D HOOKAFTER_STUB_SIZE); >=20 >=20 >=20 > - Status =3D gBS->AllocatePool ( >=20 > - EfiBootServicesCode, >=20 > - TemplateMap.ExceptionStubHeaderSize * CPU_INTERRUPT_NU= M, >=20 > - (VOID **)&InterruptEntryCode >=20 > - ); >=20 > - ASSERT (!EFI_ERROR (Status) && InterruptEntryCode !=3D NULL); >=20 > - >=20 > - InterruptEntry =3D (UINTN)InterruptEntryCode; >=20 > - for (Index =3D 0; Index < CPU_INTERRUPT_NUM; Index++) { >=20 > - CopyMem ( >=20 > - (VOID *)InterruptEntry, >=20 > - (VOID *)TemplateMap.ExceptionStart, >=20 > - TemplateMap.ExceptionStubHeaderSize >=20 > - ); >=20 > - AsmVectorNumFixup ((VOID *)InterruptEntry, (UINT8)Index, (VOID > *)TemplateMap.ExceptionStart); >=20 > - InterruptEntry +=3D TemplateMap.ExceptionStubHeaderSize; >=20 > - } >=20 > - >=20 > - TemplateMap.ExceptionStart =3D (UINTN)InterruptEnt= ryCode; >=20 > mExceptionHandlerData.IdtEntryCount =3D CPU_INTERRUPT_NUM; >=20 > mExceptionHandlerData.ReservedVectors =3D ReservedVectors; >=20 > mExceptionHandlerData.ExternalInterruptHandler =3D ExternalInterruptHa= ndler; >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.nas > m > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.nas > m > index 3fe9aed1e8..8ed2b8f455 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.nas > m > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/Ia32/ExceptionHandlerAsm.nas > m > @@ -33,7 +33,7 @@ ALIGN 8 > ; >=20 > AsmIdtVectorBegin: >=20 > %assign Vector 0 >=20 > -%rep 32 >=20 > +%rep 256 >=20 > push byte %[Vector]; >=20 > push eax >=20 > mov eax, ASM_PFX(CommonInterruptEntry) >=20 > @@ -439,7 +439,7 @@ ASM_PFX(AsmGetTemplateAddressMap): >=20 >=20 > mov ebx, dword [ebp + 0x8] >=20 > mov dword [ebx], AsmIdtVectorBegin >=20 > - mov dword [ebx + 0x4], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 >=20 > + mov dword [ebx + 0x4], (AsmIdtVectorEnd - AsmIdtVectorBegin) / 256 >=20 > mov dword [ebx + 0x8], HookAfterStubBegin >=20 >=20 >=20 > popad >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm > index 9a806d1f86..aaf8d622e6 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ExceptionHandlerAsm.nasm > @@ -31,6 +31,8 @@ SECTION .text >=20 >=20 > ALIGN 8 >=20 >=20 >=20 > +; Generate 32 IDT vectors. >=20 > +; 32 IDT vectors are enough because interrupts (32+) are not enabled in = SEC and > PEI phase. >=20 > AsmIdtVectorBegin: >=20 > %assign Vector 0 >=20 > %rep 32 >=20 > diff --git > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerAs > m.nasm > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerAs > m.nasm > index 9c72fa5815..7c0e3d3b0b 100644 > --- > a/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerAs > m.nasm > +++ > b/UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/Xcode5ExceptionHandlerAs > m.nasm > @@ -53,9 +53,10 @@ SECTION .text >=20 >=20 > ALIGN 8 >=20 >=20 >=20 > +; Generate 256 IDT vectors. >=20 > AsmIdtVectorBegin: >=20 > %assign Vector 0 >=20 > -%rep 32 >=20 > +%rep 256 >=20 > push byte %[Vector] >=20 > push rax >=20 > mov rax, strict qword 0 ; mov rax, ASM_PFX(CommonInterrup= tEntry) >=20 > @@ -453,16 +454,16 @@ global ASM_PFX(AsmGetTemplateAddressMap) > ASM_PFX(AsmGetTemplateAddressMap): >=20 > lea rax, [AsmIdtVectorBegin] >=20 > mov qword [rcx], rax >=20 > - mov qword [rcx + 0x8], (AsmIdtVectorEnd - AsmIdtVectorBegin) / = 32 >=20 > + mov qword [rcx + 0x8], (AsmIdtVectorEnd - AsmIdtVectorBegin) / = 256 >=20 > lea rax, [HookAfterStubHeaderBegin] >=20 > mov qword [rcx + 0x10], rax >=20 >=20 >=20 > ; Fix up CommonInterruptEntry address >=20 > lea rax, [ASM_PFX(CommonInterruptEntry)] >=20 > lea rcx, [AsmIdtVectorBegin] >=20 > -%rep 32 >=20 > +%rep 256 >=20 > mov qword [rcx + (JmpAbsoluteAddress - 8 - HookAfterStubHeaderBeg= in)], > rax >=20 > - add rcx, (AsmIdtVectorEnd - AsmIdtVectorBegin) / 32 >=20 > + add rcx, (AsmIdtVectorEnd - AsmIdtVectorBegin) / 256 >=20 > %endrep >=20 > ; Fix up HookAfterStubHeaderEnd >=20 > lea rax, [HookAfterStubHeaderEnd] >=20 > -- > 2.35.1.windows.2 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#89916): https://edk2.groups.io/g/devel/message/89916 > Mute This Topic: https://groups.io/mt/91231767/1768734 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [jian.j.wang@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20