From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.4252.1634609317498487230 for ; Mon, 18 Oct 2021 19:08:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=VfWcDDd/; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: ianx.kuo@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10141"; a="289256472" X-IronPort-AV: E=Sophos;i="5.85,383,1624345200"; d="scan'208";a="289256472" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Oct 2021 19:08:36 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,383,1624345200"; d="scan'208";a="718079757" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga006.fm.intel.com with ESMTP; 18 Oct 2021 19:08:36 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 18 Oct 2021 19:08:35 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Mon, 18 Oct 2021 19:08:35 -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.2242.12 via Frontend Transport; Mon, 18 Oct 2021 19:08:35 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) 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.2242.12; Mon, 18 Oct 2021 19:08:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GoNFN/oTO43b0JyrD6NQYeI+tXrdj8T1MLMgX/G1z+17jAJEV+3X1qDMvgGSB4b6xB+Foy+vU78sFxDPkfveBDk/WpRhvwUNlEB/2BFDbrmpRsw2fNi48gPXCCmHz6qFEv5gvu5A6y2CpJ7IJB5ASrjKzMYY9UYIN0w7Djl/I7/qvGpKrHuE7XTdgCUqKSToiUBiWx1jg4Y+IE+a1bybMvzeWQK091opq3ys8tLjfusQW3zSSChRm0KdfaLACix2v8hbRqeeL5oYbJTZHbKchCEB1Gvsqf3W0xLzl7Ao47UmedLxhlHEkLW8IKLDtsk3Spvoz6dsKImokv6EhNm2tg== 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=plweFW11TrLpOjWaCDZj1O7FoJagx/RPs6WIFHQS3ew=; b=YOwe+e+88Sb3J94ebHX0rb4lGLQv4z9c7tFMcAcg+yKYWAGNItVmvMSAIHWrasPMhtU9NPrfojnhPL3M/pviTdiIDATaU/xu0awMRnyqqBPsQJaDdqidh28dv9hKFPET5iqpTO/ROKQyZIFhHgA0BUtkV/T+x/QSwrfw+mychLLy779JtZy568XCd6jSZnu69hDKP6yNVj2i7KUEChjn3oSGElU0BdtRePSLBIBrEsItfqiKnWkxeEHvAxH10U8Z3YCkA0ke+FmdnVNw87+6VpeSvickthuD8UKFtF3lmN8tNJgi1GKqG/4i4WlfHJ2uyW1FbzPMm4TKSwAKehWYzA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=plweFW11TrLpOjWaCDZj1O7FoJagx/RPs6WIFHQS3ew=; b=VfWcDDd/jD/LKUYNI9IxevWZSR71QUpkbRvEf4wf9PSUZL5l3Bg6SnxX+zO6m1Av2n17BlZgCNGapbY90A79pqvalWjQrAidY4WRHRNB6cXhDSUrdAWaoEf4d8xlqsm4fMElCqjEZyRviAScpZeTvG+cJQ0hb2daubDNP0SWiV0= Received: from PH0PR11MB5174.namprd11.prod.outlook.com (2603:10b6:510:3b::12) by PH0PR11MB4981.namprd11.prod.outlook.com (2603:10b6:510:39::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.17; Tue, 19 Oct 2021 02:08:33 +0000 Received: from PH0PR11MB5174.namprd11.prod.outlook.com ([fe80::4435:90ac:24fe:b6a6]) by PH0PR11MB5174.namprd11.prod.outlook.com ([fe80::4435:90ac:24fe:b6a6%6]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 02:08:33 +0000 From: "IanX Kuo" To: "devel@edk2.groups.io" , "Kuo, IanX" , "Yao, Jiewen" , "Jiang, Guomin" CC: "Chan, Amy" , "Ni, Ray" , "Wang, Jian J" , "Lu, XiaoyuX" Subject: Re: [edk2-devel] [PATCH v6 2/3] CryptoPkg/CryptLib: Add QuickSort function on BaseLib Thread-Topic: [edk2-devel] [PATCH v6 2/3] CryptoPkg/CryptLib: Add QuickSort function on BaseLib Thread-Index: AQHXw9exxJUtyvSFOUqSFLjSNdci96vZlIdw Date: Tue, 19 Oct 2021 02:08:33 +0000 Message-ID: References: <20211018042127.1306-1-ianx.kuo@intel.com> <16AF0531A156CE70.24927@groups.io> In-Reply-To: <16AF0531A156CE70.24927@groups.io> Accept-Language: en-AS, zh-TW, en-US X-Mentions: jiewen.yao@intel.com,guomin.jiang@intel.com X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5e885ba1-7c22-4bb2-3ea8-08d992a55aa8 x-ms-traffictypediagnostic: PH0PR11MB4981: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Rw2XPN3d+8ixaR7znYBqc6kt1YrAFGyNXSpzXv4+w8IDFxSqWKWcPNfwGC0ACAiePmxAP5xcELX44ePk+2NrRUg5yuqIIVsiDCyOBK+ECdKCF2emOBwTVq7G/Tf7TPtcXxaWzW/XlUSryXvUre+fcV/Wy2xxCtjcAL0XXhvtt/CSoRhNA8DBmjN/RNpySy7BNyLn3diZ19i8Mr0aMZ9aUhDVTn08m/VwlHK1FotpDJojdKNPo8Vpfw6ZQbfvOLcHE/N2o1KIjJUmV+ZpM8H1EfWwffIbm+4J0D/VEi/zQlzRMLhbdAA9elTdVVRdr5oHCzIjsE0nbq+TyvkA/sdP0XESOnzbpW6tMwcHceIsdgd1MxUJguQFZfziOJUTerq33PQ9+6fTomRHdBb38a532hK7u8QtHEBeP6Rc7IHrF4a4ypx429lFseoBLZrnknMFnPojt9IbX9OItYKCOirjFBQ4iil+wGzBhk0jBGOPhFrd69Nx/dxy9TEbhVq27s8aqyiqVaLX+d+XDM8lLk4+OZOmAETtM9+zqcQf/5PJq4Ui/JcyQZLIExGXrPABFCkCzem7jvWcICI3zl1Qw6xQdDmOeHsSrRHkqHgn+73eBs2ibh/2csNcBK/6I02kHikwSNFvn4+RacT6nHW3+jjEGKi8QZIq5Uj7FFbkIK6yJ43qPBWrkgt8JXc2OJlVgDXp9atQjagmRrJf48jz9kJVUSFIuNUKh8zgoL2jUlhi+DDuamtvJnNL3+50iZCD9CS8zxHdpkjlxrPUrsXFUErors69J/zHhCOw/7UTrvuDLGJ53CLqdVyiXIpjz0cFHsEKvinEObfs7W0Gkrbh5+yxCw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5174.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(38100700002)(966005)(107886003)(508600001)(8676002)(4326008)(33656002)(66946007)(66446008)(66556008)(52536014)(316002)(38070700005)(122000001)(6506007)(64756008)(66476007)(83380400001)(26005)(8936002)(76116006)(186003)(2906002)(7696005)(5660300002)(55016002)(9686003)(53546011)(86362001)(6636002)(82960400001)(71200400001)(110136005)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?mY5+YrQQGLs0rWh39BpJFZFOVTC1s5x75EfW9jvXL4GOIMw9rvIXzpsYujkp?= =?us-ascii?Q?7rj2g2Kvej0LU+JFFe3GW3E4uHqEeYfqL+jdarWbQatbWdVTUwq5tl4nLWY5?= =?us-ascii?Q?7jPJCHLDl14RhsiJ7fJ5R4Zb2kNWeK+LiiQpHcz/Sqno1BcQ9sarYUkwxn+2?= =?us-ascii?Q?eKd9jehtGDcQHO7bPFSWMzlXqnxICCuT5OETB0MUUBgoDOZbNQAZVXsBV7B0?= =?us-ascii?Q?eLOCsk/mCinEUgWtYYU4A6/fX6Q2ZnJM0cOexuwkzshcnh/1W9HZESwFcAa1?= =?us-ascii?Q?DhecbCKUuYaD2GJtxboaX83jUmOLGkS91qSgKbUJWaTZpcJiB8hzgwD6y04U?= =?us-ascii?Q?0QxwzH62RG+rGAANr2SK4kyb0oUOal8x3eWYxZ+a8poYLqBfD3tApfLxxKVG?= =?us-ascii?Q?TbkBz0RiMi2ysZzu//AXYTzv1fv9X8ffQUNFXZtHZtZirej5N5fBBDaaKnML?= =?us-ascii?Q?lHIGHe8k8pKtTTpBGjwy6oZHqf8InXrdAWjdiDuZqbUxf0j8e6r0IPL27wYy?= =?us-ascii?Q?wFV/j9HO0pObEqY3G7IbTiw1UzYVIpSyt/PzXH5Fg1tRUgtJOJOzaCa5BIGl?= =?us-ascii?Q?3FXhxeQeNAeSEPBbY8MV/PuB9UTuBAljUOwJJ4v645ipG+k9TfAoFo5+rWzu?= =?us-ascii?Q?Q/col1gq2iiKJql6pvPP28LIBzGZSh76T+JFHfUp2hEyGPDcT1/qsxpSN6Y6?= =?us-ascii?Q?7CBiiv/bQKk0QyrlENNzrvCy2Ra69XzVGWHQmaXU8z2d4JUgZDJd/1AkX+4f?= =?us-ascii?Q?XnHc/fkLVy2g6zE16GxXbWvvEA2+SRrTBnjv99l9sr3dWpfzkDO589Miq9EL?= =?us-ascii?Q?iNV8tjxQpV+doA77T8wz0/G7M9SHdLX0hNwUy+8NZgZQQBDKorDxiFx/zgpw?= =?us-ascii?Q?OmXzwoYVrmng3tllRQO4pPIsHazK5ciWXLi5pZEImJKs7oNtNYpht9XNHYd6?= =?us-ascii?Q?zIXpK2o9sMG17QeKtfQHtpLrmVVS3oJBsZuv5RLZvSiy6nsmK5HzzU0XAFK1?= =?us-ascii?Q?sbLTSA8ekEyYgvzht5jGcLJAEiZssLSdJJNuC/4gSZl4h/Lm+T69rhXCEa04?= =?us-ascii?Q?qbJvCKT1IYoToZLIb4CIFN2bZTyKEOYL/KBUZgFE5TH59gUn45xmRSdcvip9?= =?us-ascii?Q?L8a1Ak1zASXtma5tZIXCoiNvD/dj5U7GqXarZNTWf8Gc/8r1M8vsI+ZQ4BRd?= =?us-ascii?Q?MT3MaYXrubPTyHztAYcYJtEX3uXW0vEHvanpyPaMaAPBsFhfcd9iOAE/ktzb?= =?us-ascii?Q?eB/ZDN7k4lXzW+Epk0QqQZnQJA7XpcoIMgAUlldt04JCiHemf6uj+UgTpeJk?= =?us-ascii?Q?SHcIGKqH0ZO5Iu9D9zOmAMhj?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5174.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e885ba1-7c22-4bb2-3ea8-08d992a55aa8 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2021 02:08:33.6028 (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: e8IiH9NHf4voBa4JS6SidQANPhplHVacnq+O61fnwo9Xkzi8dlsRiRQ3BxY92/XgXrTYI+YRpST4YHcNPVnX2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4981 Return-Path: ianx.kuo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable @Yao, Jiewen and @Jiang, Guomin Sorry to bother you. May I get your help for review-by ? Thanks, Ian Kuo -----Original Message----- From: devel@edk2.groups.io On Behalf Of IanX Kuo Sent: Monday, October 18, 2021 12:21 PM To: devel@edk2.groups.io Cc: Chan, Amy ; Ni, Ray ; Kuo, IanX <= ianx.kuo@intel.com>; Yao, Jiewen ; Wang, Jian J ; Lu, XiaoyuX ; Jiang, Guomin Subject: [edk2-devel] [PATCH v6 2/3] CryptoPkg/CryptLib: Add QuickSort func= tion on BaseLib From: IanX Kuo REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3675 Use QuickSort instead of QuickSortWorker Cc: Ray Ni Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Signed-off-by: IanX Kuo --- .../Library/BaseCryptLib/SysCall/CrtWrapper.c | 92 +------------------ 1 file changed, 2 insertions(+), 90 deletions(-) diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c b/CryptoPk= g/Library/BaseCryptLib/SysCall/CrtWrapper.c index 42235ab96a..b10edaae5b 100644 --- a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c +++ b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c @@ -2,7 +2,7 @@ C Run-Time Libraries (CRT) Wrapper Implementation for OpenSSL-based Cr= yptographic Library. -Copyright (c) 2009 - 2017, Intel Corporation. All rig= hts reserved.
+Copyright (c) 2009 - 2021, Intel Corporation. All rights = reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/@@ -22,91 +2= 2,6 @@ int IN VOID *Buffer2 ); -//-// Duplicated from EDKII BaseSortLib for qso= rt() wrapper-//-STATIC-VOID-QuickSortWorker (- IN OUT VOID *Bu= fferToSort,- IN CONST UINTN Count,- IN CONST UINTN Elem= entSize,- IN SORT_COMPARE CompareFunction,- IN VOID = *Buffer- )-{- VOID *Pivot;- UINTN LoopCount;- UINTN = NextSwapLocation;-- ASSERT(BufferToSort !=3D NULL);- ASSERT(Compare= Function !=3D NULL);- ASSERT(Buffer !=3D NULL);-- if (Count < 2 = || ElementSize < 1) {- return;- }-- NextSwapLocation =3D 0;-- //- /= / Pick a pivot (we choose last element)- //- Pivot =3D ((UINT8 *)BufferTo= Sort + ((Count - 1) * ElementSize));-- //- // Now get the pivot such that= all on "left" are below it- // and everything "right" are above it- //- = for (LoopCount =3D 0; LoopCount < Count - 1; LoopCount++)- {- //- = // If the element is less than the pivot- //- if (CompareFunction ((V= OID *)((UINT8 *)BufferToSort + ((LoopCount) * ElementSize)), Pivot) <=3D 0)= {- //- // Swap- //- CopyMem (Buffer, (UINT8 *)BufferTo= Sort + (NextSwapLocation * ElementSize), ElementSize);- CopyMem ((UINT= 8 *)BufferToSort + (NextSwapLocation * ElementSize), (UINT8 *)BufferToSort = + ((LoopCount) * ElementSize), ElementSize);- CopyMem ((UINT8 *)Buffer= ToSort + ((LoopCount) * ElementSize), Buffer, ElementSize);-- //- = // Increment NextSwapLocation- //- NextSwapLocation++;- }- }= - //- // Swap pivot to its final position (NextSwapLocation)- //- CopyM= em (Buffer, Pivot, ElementSize);- CopyMem (Pivot, (UINT8 *)BufferToSort + = (NextSwapLocation * ElementSize), ElementSize);- CopyMem ((UINT8 *)BufferT= oSort + (NextSwapLocation * ElementSize), Buffer, ElementSize);-- //- // = Now recurse on 2 partial lists. Neither of these will have the 'pivot' ele= ment.- // IE list is sorted left half, pivot element, sorted right half...= - //- QuickSortWorker (- BufferToSort,- NextSwapLocation,- Eleme= ntSize,- CompareFunction,- Buffer- );-- QuickSortWorker (- (UI= NT8 *)BufferToSort + (NextSwapLocation + 1) * ElementSize,- Count - Next= SwapLocation - 1,- ElementSize,- CompareFunction,- Buffer- );--= return;-}- //--------------------------------------------------------- //= Standard C Run-time Library Interface Wrapper //--------------------------= -------------------------------@@ -337,10 +252,7 @@ void qsort (void *base,= size_t num, size_t width, int (*compare)(const void *, c Buffer =3D malloc (width); ASSERT (Buffer !=3D NULL); - //- // Re-us= e PerformQuickSort() function Implementation in EDKII BaseSortLib.- //- Q= uickSortWorker (base, (UINTN)num, (UINTN)width, (SORT_COMPARE)compare, Buff= er);+ QuickSort (base, (UINTN)num, (UINTN)width, (BASE_SORT_COMPARE)compar= e, Buffer); free (Buffer); return;--=20 2.30.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82206): https://edk2.groups.io/g/devel/message/82206 Mute This Topic: https://groups.io/mt/86406845/4830160 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [ianx.kuo@intel.com] -=3D= -=3D-=3D-=3D-=3D-=3D