From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web12.29395.1654501632608380799 for ; Mon, 06 Jun 2022 00:47:13 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=AtYAdTN9; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: eric.dong@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654501632; x=1686037632; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=V0V98FiwmYvnt7bDHnF0KjycreimwXe4/9z8CJPPWOA=; b=AtYAdTN9dMEZhBf73NCrD0FKXMDlfdkmq6e2usW3zn84HzXtEOWMIxIU AjuZ8TCoMEnb+/tVJLCnEFPgMBUrvelK2YCST7ij/c5OPsgIz+v+BgxlZ tZv5Y9WnWFW0kEXCCksEZjtziVU1B8ZkQ0ymUKwppHD5BTqWg5U1vaQ5Z JEK7autSO1CYA8OLsAFKUYQKqZBKviL1ZjKP9bp5oXGoe1YjxdM48r5sp 5xIV83e5g0aRRbYxSARXbHzw22d7kwaF2F3JEo23J1SwROMAsEVcXwh3G LwkOMg/FfgnQKIG0pTiBdY7cD0kTw5NzMzBHSML4xz4gk+9p7vb/FX334 A==; X-IronPort-AV: E=McAfee;i="6400,9594,10369"; a="257076954" X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="257076954" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jun 2022 00:47:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,280,1647327600"; d="scan'208";a="722691039" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga001.fm.intel.com with ESMTP; 06 Jun 2022 00:47:11 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 6 Jun 2022 00:47:11 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 6 Jun 2022 00:47:10 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 6 Jun 2022 00:47:10 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) 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; Mon, 6 Jun 2022 00:47:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d0cly7lrDBItnGhp2weua9CgWxNvGERhqb1vMsU+HSiSL4x8ZaKJ+0/6Cne/yjC7jP/UKV+2dERBi2Htk7VO4YQOhpNxdl2Gy8A3EYpJJRxgtj0zU9zMqqS1nS9ZJRzvH1JCxrKm7jCT9WtpGt+4IL3jG+zfkhdUY2zes72REy5guYaC3fx5OEUihdO95IKyDdVzqnecXnX0dyWO8xfNsKjbNz0O0hK/luSVL0NJEEgLN9OdifXewguO7L6Q38DOLjFp9+tWtojcDr/Fmh94VE9TznTyuWQfIm4FlJmfgVEhzKyq5OEhdIUmMSij91Kxvbt2cmUW10pEs5p516NiEQ== 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=6T1y7d+F0nE/5t+8IeC7rBkFtp88TnqTkdSSji0dKCw=; b=W8FokZfoDCmjiXwwvFPMphOyEpOerag3GLIuXDLpiVqMiJPGhxyyjTloDXapLXB/0Gzeg8vXKR9N0mqXR4RWo8HInxuP3rjkJOy9EvIvBAuAizKbL5R/wyO3uBAT8FvTnzw6ttEKw3i8hUUuRJSJDe/bZFDqSy6rQkQVhF64cbVnxActEla2rjIbMzmtnWngEuWpO6ajPg9KvDQw1SECdYvST2xQrv1XHpXJ7dczKXG/3Ll84/oXkv0jOdrlRttrnde6SpvAnk/uDNuYNaM3M3tby2s/EmhPITCHnTJXbKjS68p5hOzbtgXnH0PpLrSrJ9viv3N+wGs7bnd3vfxavQ== 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 DM4PR11MB6480.namprd11.prod.outlook.com (2603:10b6:8:8d::17) by MWHPR1101MB2320.namprd11.prod.outlook.com (2603:10b6:301:53::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.15; Mon, 6 Jun 2022 07:47:03 +0000 Received: from DM4PR11MB6480.namprd11.prod.outlook.com ([fe80::d125:7372:7128:a152]) by DM4PR11MB6480.namprd11.prod.outlook.com ([fe80::d125:7372:7128:a152%7]) with mapi id 15.20.5314.013; Mon, 6 Jun 2022 07:47:03 +0000 From: "Dong, Eric" To: "Ni, Ray" , "devel@edk2.groups.io" Subject: Re: [PATCH 3/5] CpuException: Avoid allocating page but using global variables Thread-Topic: [PATCH 3/5] CpuException: Avoid allocating page but using global variables Thread-Index: AQHYbFQmSpvBzssbmESxH5UhOSyvDa1CGouw Date: Mon, 6 Jun 2022 07:47:03 +0000 Message-ID: References: <20220520141549.108-1-ray.ni@intel.com> <20220520141549.108-4-ray.ni@intel.com> In-Reply-To: <20220520141549.108-4-ray.ni@intel.com> 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-office365-filtering-correlation-id: 4c0bfeca-73f6-4482-6776-08da4790bf10 x-ms-traffictypediagnostic: MWHPR1101MB2320: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: bgmTTVA55si2huzIWkqQ5P+dTlV5cVFYZaPXkh2paE9nGcqgqhRF5NaBkbyNxdHIt6c9O4tg2pp95yF3qtSXSvqqpLO7NHRSF1QYUEX/ZFwbmn7hUXHp4uuQa8PQOOj8+odHk7th6XqKXRLgL1nwHGJII6JGFgi70NkoEMcysJWNy2A0+YjpCw2+3VOp7nhHUitlhpUqjiy8aszYQylk5bETF+2gdBjLIViXPLPJX+rCZTdwY3Dfri17QeqiqfhWNjO4w0Jyk3SS6PMaP55lK/uO0Af2LhntcBIUTcGYLeZJ8V8KeO1hug6fn50hYUoqg1Z+BP9F0nt+IyKiLgA9Y6Q975eGEaapuDKB8X65aDf9EwY2EB9DsWHr796eoSRLtHF9BME2h4FGCxQJHy8PRoe36ffKXU143NvPImwUX01sEueIr+WRMxcGbMUWUkTEHxgAMIs4MLjN9Gsxuzh/d1smtGupcIkVk5glGR9z/Fx3M/agakOyN93szAgeXv20oPBD3j3SWH16GFZiwJkA5r2K3ymmdADt9gW863jXp/Da/o3E4wyythggTFN99p/0RT30Mzgr35FuqBEwpv/Tx4JHMpuNve8OI61l7/ysMAGFEy+/QcDwXo+gttNNtGNri9ydWQ36yYmT9xmOClybsH4LqRq0uwq0TN7f3Mk6+haERsdmYAH/5DAxxNgeTFqsg4pd4g6rxkAk/mKNs/QUjQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR11MB6480.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(55016003)(82960400001)(7696005)(66446008)(38070700005)(64756008)(2906002)(76116006)(5660300002)(122000001)(53546011)(6506007)(9686003)(26005)(66556008)(66476007)(8676002)(110136005)(38100700002)(83380400001)(186003)(66946007)(316002)(86362001)(52536014)(8936002)(508600001)(33656002)(71200400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?bw7EhqW8880iwbMnPnLow5wsHsWn+Wvro6AQK8fzhbdfy+Ny2ZzRxyk0B/pN?= =?us-ascii?Q?qHOUmAfEdAaLgndhwAll64BNwTkEeQ0nUt8Bz+vzlo/2I/5DtGF+WkZMva1H?= =?us-ascii?Q?pta+SkWcjEVbSDZdQVqCFD3XG3yTEE8algvqZVIhdsp9hFPKtDDKXe+2RCoE?= =?us-ascii?Q?xrVKgzaFpjPECjuDE7ycczNUXK84Ep267qe3LfiUrm7qtkUnQ7X89HMEac+w?= =?us-ascii?Q?wSPaDmxYhKk386j/jjeUceCa7s4tQNAkGHNxrimyEVuzB0gRpLrdB00XWPD4?= =?us-ascii?Q?9jKwnVvIaFZvd/fofTOOFtuqupsEanZu1B3+5sFp3kvHwUrXPf4TzUYOltC9?= =?us-ascii?Q?WeLh9QKatYWWCB/roRjjRmKHNOlYswI7liTqT7qo+3NopwiokuOZqbV0LkG2?= =?us-ascii?Q?Pmj1jDoRyjH4Hl5E0Vl0ZmzIPv8/OxAurZ1rMmlNBofzPH2WHcI4AyXrsIYH?= =?us-ascii?Q?XTqhDPJKqV6ITIqii7q7TUiCI1b3yshDtq9CDwPsdgsxtikAHYOTE0+nBG2O?= =?us-ascii?Q?g79+A1gvl/pzldGS53sLgD8jvi+D4w7OxTDE0/A7Eojlb4shYvdBA9t/HxRF?= =?us-ascii?Q?uTME/uUqd/qvXznIOQ5wQmr6n15cj6Ue8or/SaiopFFewGcElZTTBg/M74AZ?= =?us-ascii?Q?h8YvzRfSv/mRgRDWG2EDujY32CtUI4SW0ge6x3idhkUuby0urPo6Zv5s61Q5?= =?us-ascii?Q?w7PWoP8pB92gvElykndDuorQ31kZ9UUCGSRlLbZdBJAWsbOOqNJR7EkIbxAb?= =?us-ascii?Q?PhCUStBf+1thKlnXNvAgXr/eRzs6gFArU6wMRc77ol8Q0d0ff4k3pBh2rpBi?= =?us-ascii?Q?5eLhoL8UMtIzemL1JfBhzownblYCmwJtQ2hSoYrC3Q6WhNvVjWWAwWRg0Kn8?= =?us-ascii?Q?qTTAo5GvitTpBS4LSVRogursDILa4n7Knp+/XTeXgqiHDUPQ1qGCGaQ4La6J?= =?us-ascii?Q?mvhZen6IgQKt0QhL06YjGwwvPC3fVmwyhFo+PpGEQj1gvKciffN8YnjcDJ1h?= =?us-ascii?Q?hAhTWSAJnvjhkF9zkKU7rnf2N1Ijri0foFzn4MHKAtGZOQNdz9TNVaqQ8lBi?= =?us-ascii?Q?OGuxiffajLOS+s1sVKAAP8BKymJBiNa56dmq5Sq3opilpzL0i721ADb5Mo2l?= =?us-ascii?Q?/L0cw0qv6KbQe2fYm8fY6YvPa/rt1J9Qqy7rkVG8lTsBfQ/qsyZbRJyxofEP?= =?us-ascii?Q?GtP/oiEDqx2DRK5Y5t3gZpz6XclQCEsgJYIQ7Hj6ObWkLbESe3ihUxETsNby?= =?us-ascii?Q?rguIdI9JrIoMBk5KkGrZsFEmNSpig4tZBehan+KSE0j0UQrj/K7s2Lpr+86x?= =?us-ascii?Q?dOhFxFm2MYGY4v4rgXPbrAigL9HO19PB+ZO2Q6f2bNcj1Wxm7nU+9DWSvuYy?= =?us-ascii?Q?6485G8SebmF0qI8e145APDcM9DFndgO0r3F0V9J0dJ9tTYBARgR2BfLZDFVL?= =?us-ascii?Q?ltArHMmYO+bq449frdik31IqYU7Dt8w6txYH4pEIaBmORHAWh7CUa9x0saI0?= =?us-ascii?Q?Oc6MiB0DavUkUt8jJSQkCk8JDVheAB8qsfL8EokpTQpnhVoIeCCz2v0iMD/M?= =?us-ascii?Q?sEIctCBZ9Z1oKRG9V5PTsolkkuS8qawoA4vPeDCHPN/xg38FjyYcP91WxRuo?= =?us-ascii?Q?/xRSvSHqespgmQ//AuQX9bwQ/QTWgbW5KXCm06qzAo4JXn0zCvi4LwCnJkVE?= =?us-ascii?Q?a/qQ4UtaBrtdaf4I6q1pW3ScFTRsfgnmqN+4LKiCRLSiqTYlXQ9tMTvhtafK?= =?us-ascii?Q?Kxv+JlfPsw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB6480.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c0bfeca-73f6-4482-6776-08da4790bf10 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jun 2022 07:47:03.2420 (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: dyGRUw5g9Z4m0jVL47TPrjyecFJmQEqJVtVoJNpurNGbOW3gepUaxUZ4Ntd0HLYTokv8eH3Lk05nTVVCEhqTwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2320 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Acked-by: Eric Dong -----Original Message----- From: Ni, Ray =20 Sent: Friday, May 20, 2022 10:16 PM To: devel@edk2.groups.io Cc: Dong, Eric Subject: [PATCH 3/5] CpuException: Avoid allocating page but using global v= ariables Signed-off-by: Ray Ni Cc: Eric Dong --- .../CpuExceptionHandlerLib/DxeException.c | 24 ++++--------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c b/Uef= iCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c index da5b96d6c6..f139131a7c 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeException.c @@ -14,8 +14,8 @@ =20 CONST UINTN mDoFarReturnFlag =3D 0; =20 -RESERVED_VECTORS_DATA mReservedVectorsData[CPU_EXCEPTION_NUM]; -EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_EXCEPTION_NU= M]; +RESERVED_VECTORS_DATA mReservedVectorsData[CPU_INTERRUPT_NUM]; +EFI_CPU_INTERRUPT_HANDLER mExternalInterruptHandlerTable[CPU_INTERRUPT_NU= M]; EXCEPTION_HANDLER_DATA mExceptionHandlerData =3D { 0, // To be fixed 0, // To be fixed @@ -96,27 +96,15 @@ InitializeCpuInterruptHandlers ( IA32_DESCRIPTOR IdtDescriptor; UINTN IdtEntryCount; EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap; - RESERVED_VECTORS_DATA *ReservedVectors; - EFI_CPU_INTERRUPT_HANDLER *ExternalInterruptHandler; - - Status =3D gBS->AllocatePool ( - EfiBootServicesCode, - sizeof (RESERVED_VECTORS_DATA) * CPU_INTERRUPT_NUM, - (VOID **)&ReservedVectors - ); - ASSERT (!EFI_ERROR (Status) && ReservedVectors !=3D NULL); - SetMem ((VOID *)ReservedVectors, sizeof (RESERVED_VECTORS_DATA) * CPU_IN= TERRUPT_NUM, 0xff); + + SetMem ((VOID *)mReservedVectorsData, sizeof (RESERVED_VECTORS_DATA) * C= PU_INTERRUPT_NUM, 0xff); if (VectorInfo !=3D NULL) { - Status =3D ReadAndVerifyVectorInfo (VectorInfo, ReservedVectors, CPU_I= NTERRUPT_NUM); + Status =3D ReadAndVerifyVectorInfo (VectorInfo, mReservedVectorsData, = CPU_INTERRUPT_NUM); if (EFI_ERROR (Status)) { - FreePool (ReservedVectors); return EFI_INVALID_PARAMETER; } } =20 - ExternalInterruptHandler =3D AllocateZeroPool (sizeof (EFI_CPU_INTERRUPT= _HANDLER) * CPU_INTERRUPT_NUM); - ASSERT (ExternalInterruptHandler !=3D NULL); - // // Read IDT descriptor and calculate IDT size // @@ -137,8 +125,6 @@ InitializeCpuInterruptHandlers ( ASSERT (TemplateMap.ExceptionStubHeaderSize <=3D HOOKAFTER_STUB_SIZE); =20 mExceptionHandlerData.IdtEntryCount =3D CPU_INTERRUPT_NUM; - mExceptionHandlerData.ReservedVectors =3D ReservedVectors; - mExceptionHandlerData.ExternalInterruptHandler =3D ExternalInterruptHand= ler; InitializeSpinLock (&mExceptionHandlerData.DisplayMessageSpinLock); =20 UpdateIdtTable (IdtTable, &TemplateMap, &mExceptionHandlerData); --=20 2.35.1.windows.2