From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 05015A0C47; Tue, 12 Oct 2021 10:10:04 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C56A540151; Tue, 12 Oct 2021 10:10:03 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50077.outbound.protection.outlook.com [40.107.5.77]) by mails.dpdk.org (Postfix) with ESMTP id BF91740142 for ; Tue, 12 Oct 2021 10:10:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gfQPJruFMH5i++WPofEyiAhPnJjUvCSUlOlQ0sFOGQo=; b=vGesqxAPTKLPjXDbNSFjsg0weOWHcEI4S8lt5x5salXhEYwQK6fINwZJdbDuJh9UYk/gbzbBUP9XbchTdHkNJMAk5fiOELJICAdJ9+uc6NPfsTlZ9hfqIvHNG0RxZeMkHZishAD/Z/ZSgpB/29ZcauUeIBVqMxj2GZq8/n4hTeQ= Received: from AM5PR04CA0030.eurprd04.prod.outlook.com (2603:10a6:206:1::43) by AM9PR08MB6690.eurprd08.prod.outlook.com (2603:10a6:20b:301::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.24; Tue, 12 Oct 2021 08:10:01 +0000 Received: from VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com (2603:10a6:206:1:cafe::45) by AM5PR04CA0030.outlook.office365.com (2603:10a6:206:1::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25 via Frontend Transport; Tue, 12 Oct 2021 08:10:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT005.mail.protection.outlook.com (10.152.18.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Tue, 12 Oct 2021 08:10:01 +0000 Received: ("Tessian outbound 8e26f7114b75:v103"); Tue, 12 Oct 2021 08:10:00 +0000 X-CR-MTA-TID: 64aa7808 Received: from 382ef8e525a9.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 2E1A0DF5-6C6F-40B0-A0C0-B6BACC91CE21.1; Tue, 12 Oct 2021 08:09:49 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 382ef8e525a9.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 12 Oct 2021 08:09:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lk3rKs/RxhKMTvbFj/uwcK/II/ZRlqvq9BkiHPc3CclIcmck0GkdEQxPNLoOmhmy3h8exL3DtZnAia6PmFnM01yzx2jFA8cWS0DwcxwY4ibW8MgcIUeRnKHzoi4K2zT6suJ+KeAdEpXAgtfQtHWz7LqyHQjFTe3dOeuKMK9KA1GXFFN9sHo+gPgz/+hyPMwg9j5WdHxdJ1WHV9GVeSPKux1ICuYWTZnCoM3pQPG8w6OxRNwyatK3BCuAJnvTq2hdmOkQdxENEWrwdE/pgjidms12iMnkA2Zilgw8ViTIxBjB609LYAwMd9Q+dooPGbDTORgXjsQuUq8z5v6I2juTSQ== 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=gfQPJruFMH5i++WPofEyiAhPnJjUvCSUlOlQ0sFOGQo=; b=E6jpnnAdj78b71SX8cI9bbzv54cSiAyafGtKeGjx8INyuTgR3E2H7OUzPSk/k/7+wu4XPCF5sn1zSbGu/M5oLPXqliDIdhX0b0XKfb1NWjrSpbOTgMvf58mC+X2OyBEIz9xp3M5ASPybN/VhmJ+t2BT8uUDa/B+6a9o0DJKxq5xhoi2RtO5yfGGZCgn13Ro0j04bgk7Q+dvTHVAu7CA4MY6/BxD7UHm1pBJfsJVX9Mvn971a05AhI9S+N4C81efHl25UdVgPcZA4NQhM2otasaO5PMheV2IqQpY6gwbXgIdonATSQwI8cMA8KyjEnUG60/fJ3HbR+SLNKWQ81CQPQg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gfQPJruFMH5i++WPofEyiAhPnJjUvCSUlOlQ0sFOGQo=; b=vGesqxAPTKLPjXDbNSFjsg0weOWHcEI4S8lt5x5salXhEYwQK6fINwZJdbDuJh9UYk/gbzbBUP9XbchTdHkNJMAk5fiOELJICAdJ9+uc6NPfsTlZ9hfqIvHNG0RxZeMkHZishAD/Z/ZSgpB/29ZcauUeIBVqMxj2GZq8/n4hTeQ= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB6PR0802MB2262.eurprd08.prod.outlook.com (2603:10a6:4:84::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25; Tue, 12 Oct 2021 08:09:47 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a%6]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 08:09:47 +0000 From: Feifei Wang To: "Ananyev, Konstantin" , Ruifeng Wang CC: "dev@dpdk.org" , nd , nd Thread-Topic: [dpdk-dev] [RFC PATCH v3 1/5] eal: add new definitions for wait scheme Thread-Index: AQHXsqBnwfbnX3pfU0+BRhf6mGlSj6vHyMgAgAdCoZA= Date: Tue, 12 Oct 2021 08:09:47 +0000 Message-ID: References: <20210902053253.3017858-1-feifei.wang2@arm.com> <20210926063302.1541193-1-feifei.wang2@arm.com> <20210926063302.1541193-2-feifei.wang2@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: A011DDB3890C824F9F76E35AD7228965.0 x-checkrecipientchecked: true Authentication-Results-Original: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 469e329c-999e-416f-46ce-08d98d57b080 x-ms-traffictypediagnostic: DB6PR0802MB2262:|AM9PR08MB6690: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:7691;OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: bAc+q8qhwZL+2KEnS1Iu+O+kpOaCXSxg5Avo/hc06K+ombouMT2phnBw14o93mga3kG8KferEvtU8T+ZwHpGSKRHl41sx4WnxBGnpLX8svjToLotbRgizMWHY9epIw/38zJFaeTCaXC4AgUHGu95BBgRKx+NapMQg1jChKdq6vOI00c5MbMTqnNroAIv1pvQ2VcGq3ELgZ8t4YGa470yMU2pRS31Kms9CG5TT+3dI3hX9MADRDnccY24DaFdHoOpUH43PhDmDuA6X/FJD2TkeRU/spBLu/jE1V/E9JOCRzDH5TFB7mteAjli4IM1QpCnK/nbspCq4+MfxExz92iNvpMx9fKtGnLsDg3plibFIuDmcrnhMfpK8sgUh76fsWtVXNJEFl9EDPxQ0FJ7PjMPVuPa0F9WnfAqyC988TtE9vKBNGOXwAn/ggFF/tA7ImwjGIzFk8lfHkxNVuvtr2VRFSVQVLPLuMjvKhfAvbGPeoaLAS80rQiCG96Q+MLKOkZJhBTmV4X8cV00EA6hvmdYxrKNi20Mxp4SNS5MuXhZpvwFJis8y6tTpS+kfX5qt3R4LhpXoBPGs7B6cI3nsJgaU6CP6QKZgAnIb6DCNn4/kBRNav87zBejlMZ4qWkNYbqSU3YemashACWhNNNmJ0MU23XHreKcmjhrZCzpjHvnLWspsHzDP8kzW2dDnt5x9YA/FKKDreWSFTZCuRke0ldCwA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(38070700005)(52536014)(66556008)(66476007)(9686003)(26005)(5660300002)(6506007)(7696005)(508600001)(8936002)(186003)(76116006)(224303003)(71200400001)(83380400001)(110136005)(54906003)(55016002)(122000001)(38100700002)(66446008)(316002)(66946007)(2906002)(4326008)(6636002)(64756008)(86362001)(33656002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2262 Original-Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5852ee0a-dfa8-4da1-a214-08d98d57a853 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UwVvT/XOqBobwTkq9JnYnJdkSNID4+Yc+0t/1RtxBJq47XRkJg6JiEogWnIVXr1pUSw20Fte06BI4fLhCF0/3ROu5HIG8+3oHf4TUQIhUab3AuS++GF3fYez6We5ca9A1aT/nOq4vB2KASvmXfr8H8LjyyXWzTvXzZ4sOjGeHUcpsY39Ue24RkA712hhNnWtM7LmjSs493sG6Ec3E3en/Mam9GS81AiRSOM+08hwRUU6hTye8HhYp9G0i2zupfk5rLbzRoH77ih/jBcabwVh47S4OpgrNzoWXBiIuKyRp2mg7jqUQzQvX6QcF+nzEpbPkc/SkOOq92i9zroBu6S8mkrWxwJ5arTSiaFStWM6RtegItfZ6rxrUKQ10NYk1CxTXzhI+fbuu8Xm1qg+jIxCPfxZVdhu97qtJRH/c6TqEAbZuBwaBkqGoDhEeIOAECdz0CWrpG3BWPG3T6rHkYT4yYOvbACTZLDUYtBT6jwHpq9VZhSAXV4l4aD+IaKYICf8cOA/6soEND9elI34W8S/bhFMF6K2I1OsO8JEH0GPRuGIDCoyqPS01MUdcfrdfy/J4OF/OXJe1ABDpK7cGsMgfrkx/2Gyc9s/vBFWRAMhT0YhdvjTOO/PNojL7qaiC+Xy4gBO2bV4lGu7xBYXpNIyBVMsj9Sl52CjWSUazN9/Tg+XUhgSFs1tMaWG4z3Ixro736tsVExPon7Kbq27/JR+Xw== X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(70206006)(47076005)(224303003)(4326008)(70586007)(55016002)(9686003)(186003)(8936002)(336012)(86362001)(6506007)(54906003)(5660300002)(6636002)(26005)(508600001)(356005)(36860700001)(33656002)(81166007)(110136005)(7696005)(82310400003)(83380400001)(316002)(2906002)(52536014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Oct 2021 08:10:01.1144 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 469e329c-999e-416f-46ce-08d98d57b080 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6690 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiAgW1JGQyBQQVRDSCB2MyAxLzVdIGVh?= =?utf-8?q?l=3A_add_new_definitions_for_wait_scheme?= X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+IOWPkeS7tuS6ujogQW5hbnlldiwgS29uc3RhbnRp biA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiBGcmlkYXks IE9jdG9iZXIgOCwgMjAyMSAxMjoxOSBBTQ0KPiDmlLbku7bkuro6IEZlaWZlaSBXYW5nIDxGZWlm ZWkuV2FuZzJAYXJtLmNvbT47IFJ1aWZlbmcgV2FuZw0KPiA8UnVpZmVuZy5XYW5nQGFybS5jb20+ DQo+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT4NCj4g5Li76aKYOiBSRTog W2RwZGstZGV2XSBbUkZDIFBBVENIIHYzIDEvNV0gZWFsOiBhZGQgbmV3IGRlZmluaXRpb25zIGZv ciB3YWl0DQo+IHNjaGVtZQ0KDQpbc25pcF0NCg0KPiA+IGRpZmYgLS1naXQgYS9saWIvZWFsL2lu Y2x1ZGUvZ2VuZXJpYy9ydGVfcGF1c2UuaA0KPiA+IGIvbGliL2VhbC9pbmNsdWRlL2dlbmVyaWMv cnRlX3BhdXNlLmgNCj4gPiBpbmRleCA2NjhlZTRhMTg0Li40ZTMyMTA3ZWNhIDEwMDY0NA0KPiA+ IC0tLSBhL2xpYi9lYWwvaW5jbHVkZS9nZW5lcmljL3J0ZV9wYXVzZS5oDQo+ID4gKysrIGIvbGli L2VhbC9pbmNsdWRlL2dlbmVyaWMvcnRlX3BhdXNlLmgNCj4gPiBAQCAtMTExLDYgKzExMSw4NCBA QCBydGVfd2FpdF91bnRpbF9lcXVhbF82NCh2b2xhdGlsZSB1aW50NjRfdCAqYWRkciwNCj4gdWlu dDY0X3QgZXhwZWN0ZWQsDQo+ID4gIAl3aGlsZSAoX19hdG9taWNfbG9hZF9uKGFkZHIsIG1lbW9y ZGVyKSAhPSBleHBlY3RlZCkNCj4gPiAgCQlydGVfcGF1c2UoKTsNCj4gPiAgfQ0KPiA+ICsNCj4g PiArLyoNCj4gPiArICogV2FpdCB1bnRpbCBhIDE2LWJpdCAqYWRkciBicmVha3MgdGhlIGNvbmRp dGlvbiwgd2l0aCBhIHJlbGF4ZWQNCj4gPiArbWVtb3J5DQo+ID4gKyAqIG9yZGVyaW5nIG1vZGVs IG1lYW5pbmcgdGhlIGxvYWRzIGFyb3VuZCB0aGlzIEFQSSBjYW4gYmUgcmVvcmRlcmVkLg0KPiA+ ICsgKg0KPiA+ICsgKiBAcGFyYW0gYWRkcg0KPiA+ICsgKiAgQSBwb2ludGVyIHRvIHRoZSBtZW1v cnkgbG9jYXRpb24uDQo+ID4gKyAqIEBwYXJhbSBtYXNrDQo+ID4gKyAqICBBIG1hc2sgb2YgdmFs dWUgYml0cyBpbiBpbnRlcmVzdA0KPiA+ICsgKiBAcGFyYW0gZXhwZWN0ZWQNCj4gPiArICogIEEg MTYtYml0IGV4cGVjdGVkIHZhbHVlIHRvIGJlIGluIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ID4g KyAqIEBwYXJhbSBjb25kDQo+ID4gKyAqICBBIHN5bWJvbCByZXByZXNlbnRpbmcgdGhlIGNvbmRp dGlvbiAoPT0sICE9KS4NCj4gPiArICogQHBhcmFtIG1lbW9yZGVyDQo+ID4gKyAqICBUd28gZGlm ZmVyZW50IG1lbW9yeSBvcmRlcnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkOg0KPiA+ICsgKiAgX19B VE9NSUNfQUNRVUlSRSBhbmQgX19BVE9NSUNfUkVMQVhFRC4gVGhlc2UgbWFwIHRvDQo+ID4gKyAq ICBDKysxMSBtZW1vcnkgb3JkZXJzIHdpdGggdGhlIHNhbWUgbmFtZXMsIHNlZSB0aGUgQysrMTEg c3RhbmRhcmQNCj4gPiArb3INCj4gPiArICogIHRoZSBHQ0Mgd2lraSBvbiBhdG9taWMgc3luY2hy b25pemF0aW9uIGZvciBkZXRhaWxlZCBkZWZpbml0aW9uLg0KPiA+ICsgKi8NCj4gDQo+IEhtbSwg c28gbm93IHdlIGhhdmUgMiBBUElzIGRvaW5nIHNpbWlsYXIgdGhpbmc6DQo+IHJ0ZV93YWl0X3Vu dGlsX2VxdWFsX24oKSBhbmQgcnRlX3dhaXRfZXZlbnRfbigpLg0KPiBDYW4gd2UgcHJvYmFibHkg dW5pdGUgdGhlbSBzb21laG93Pw0KPiBBdCBsZWFzdCBtYWtlIHJ0ZV93YWl0X3VudGlsX2VxdWFs X24oKSB0byB1c2UgcnRlX3dhaXRfZXZlbnRfbigpIHVuZGVybmVhdGguDQo+IA0KWW91IGFyZSBy aWdodC4gV2UgcGxhbiB0byBjaGFuZ2UgcnRlX3dhaXRfdW50aWxfZXF1YWwgQVBJIGFmdGVyIHRo aXMgbmV3IHNjaGVtZQ0KaXMgYWNoaWV2ZWQuICBBbmQgdGhlbiwgd2Ugd2lsbCBtZXJnZSB3YWl0 X3VuaWwgaW50byB3YWl0X2V2ZW50IGRlZmluaXRpb24gaW4gdGhlIG5leHQgbmV3DQpwYXRjaCBz ZXJpZXMuDQogDQo+ID4gKyNkZWZpbmUgcnRlX3dhaXRfZXZlbnRfMTYoYWRkciwgbWFzaywgZXhw ZWN0ZWQsIGNvbmQsIG1lbW9yZGVyKQ0KPiAJCSAgICAgICBcDQo+ID4gK2RvIHsJCQkJCQkJCQkg ICAgICAgXA0KPiA+ICsJYXNzZXJ0KG1lbW9yZGVyID09IF9fQVRPTUlDX0FDUVVJUkUgfHwgbWVt b3JkZXIgPT0NCj4gPiArX19BVE9NSUNfUkVMQVhFRCk7ICBcDQo+IA0KPiBBbmQgd2h5IHVzZXIg aXMgbm90IGFsbG93ZWQgdG8gdXNlIF9fQVRPTUlDX1NFUV9DU1QgaGVyZT8NCkFjdHVhbGx5IHRo aXMgaXMganVzdCBhIGxvYWQgb3BlcmF0aW9uLCBhbmQgYWNxdWlyZSBoZXJlIGlzIGVub3VnaCB0 byBtYWtlIHN1cmUgJ2xvYWQNCmFkZHIgdmFsdWUnIGNhbiBiZSBiZWZvcmUgb3RoZXIgb3BlcmF0 aW9ucy4NCiANCj4gQlRXLCBpZiB3ZSBleHBlY3QgbWVtb3JkZXIgdG8gYWx3YXlzIGJlIGEgY29u c3RhbnQsIG1pZ2h0IGJlIGJldHRlcg0KPiBCVUlMRF9CVUdfT04oKT8NCklmIEkgdW5kZXJzdGFu ZCBjb3JyZWN0bHksIHlvdSBtZWFucyB3ZSBjYW4gcmVwbGFjZSAnYXNzZXJ0JyBieSAnYnVpbGRf YnVnX29uJzoNClJURV9CVUlMRF9CVUdfT04obWVtb3JkZXIgIT0gX19BVE9NSUNfQUNRVUlSRSAm JiBtZW1vcmRlciAhPV9fQVRPTUlDX1JFTEFYRUQpOyAgDQoNCj4gDQo+ID4gKwkJCQkJCQkJCSAg ICAgICBcDQo+ID4gKwl3aGlsZSAoKF9fYXRvbWljX2xvYWRfbihhZGRyLCBtZW1vcmRlcikgJiBt YXNrKSBjb25kIGV4cGVjdGVkKQ0KPiAJICAgICAgIFwNCj4gPiArCQlydGVfcGF1c2UoKTsJCQkJ CQkgICAgICAgXA0KPiA+ICt9IHdoaWxlICgwKQ0KPiANCj4gVHdvIHRob3VnaHRzIHdpdGggdGhl c2UgbWFjcm9zOg0KPiAxLiBJdCBpcyBhIGdvb2YgcHJhY3Rpc2UgdG8gcHV0ICgpIGFyb3VuZCBt YWNybyBwYXJhbWV0ZXJzIGluIHRoZSBtYWNybyBib2R5Lg0KPiBXaWxsIHNhdmUgZnJvbSBhIGxv dCBvZiB1bmV4cGVjdGVkIHRyb3VibGVzLg0KPiAyLiBJIHRoaW5rIHRoZXNlIDMgbWFjcm9zIGNh biBiZSB1bml0ZWQgaW50byBvbmUuDQo+IFNvbWV0aGluZyBsaWtlOg0KPiANCj4gI2RlZmluZSBy dGVfd2FpdF9ldmVudChhZGRyLCBtYXNrLCBleHBlY3RlZCwgY29uZCwgbWVtb3JkZXIpIGRvIHtc DQo+ICAgICAgICAgdHlwZW9mICgqKGFkZHIpKSB2YWwgPSBfX2F0b21pY19sb2FkX24oKGFkZHIp LCAobWVtb3JkZXIpKTsgXA0KPiAgICAgICAgIGlmICgodmFsICYgKHR5cGVvZih2YWwpKShtYXNr KSkgY29uZCAodHlwZW9mKHZhbCkpKGV4cGVjdGVkKSkgXA0KPiAgICAgICAgICAgICAgICAgYnJl YWs7IFwNCj4gICAgICAgICBydGVfcGF1c2UoKTsgXA0KPiB9IHdoaWxlICgxKTsNCkZvciB0aGlz IHBvaW50LCBJIHRoaW5rIGl0IGlzIGR1ZSB0byBkaWZmZXJlbnQgc2l6ZSBuZWVkIHRvIHVzZSBk aWZmZXJlbnQgYXNzZW1ibHkgaW5zdHJ1Y3Rpb25zDQppbiBhcm0gYXJjaGl0ZWN0dXJlLiBGb3Ig ZXhhbXBsZSwNCmxvYWQgMTYgYml0cyBpbnN0cnVjdGlvbiBpcyAibGR4cmggJXdbdG1wXSwgWyV4 W2FkZHJdIg0KbG9hZCAzMiBiaXRzIGluc3RydWN0aW9uIGlzICIgbGR4ciAld1t0bXBdLCBbJXhb YWRkcl0iIA0KbG9hZCA2NCBiaXRzIGluc3RydWN0aW9uIGlzICIgbGR4ciAleFt0bXBdLCBbJXhb YWRkcl0gIg0KQW5kIGZvciBjb25zaXN0ZW5jeSwgd2UgYWxzbyB1c2UgMyBBUElzIGluIGdlbmVy aWMgcGF0aC4NCj4gDQo+IA0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogV2FpdCB1bnRpbCBhIDMy LWJpdCAqYWRkciBicmVha3MgdGhlIGNvbmRpdGlvbiwgd2l0aCBhIHJlbGF4ZWQNCj4gPiArbWVt b3J5DQo+ID4gKyAqIG9yZGVyaW5nIG1vZGVsIG1lYW5pbmcgdGhlIGxvYWRzIGFyb3VuZCB0aGlz IEFQSSBjYW4gYmUgcmVvcmRlcmVkLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gYWRkcg0KPiA+ ICsgKiAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ID4gKyAqIEBwYXJhbSBt YXNrDQo+ID4gKyAqICBBIG1hc2sgb2YgdmFsdWUgYml0cyBpbiBpbnRlcmVzdC4NCj4gPiArICog QHBhcmFtIGV4cGVjdGVkDQo+ID4gKyAqICBBIDMyLWJpdCBleHBlY3RlZCB2YWx1ZSB0byBiZSBp biB0aGUgbWVtb3J5IGxvY2F0aW9uLg0KPiA+ICsgKiBAcGFyYW0gY29uZA0KPiA+ICsgKiAgQSBz eW1ib2wgcmVwcmVzZW50aW5nIHRoZSBjb25kaXRpb24gKD09LCAhPSkuDQo+ID4gKyAqIEBwYXJh bSBtZW1vcmRlcg0KPiA+ICsgKiAgVHdvIGRpZmZlcmVudCBtZW1vcnkgb3JkZXJzIHRoYXQgY2Fu IGJlIHNwZWNpZmllZDoNCj4gPiArICogIF9fQVRPTUlDX0FDUVVJUkUgYW5kIF9fQVRPTUlDX1JF TEFYRUQuIFRoZXNlIG1hcCB0bw0KPiA+ICsgKiAgQysrMTEgbWVtb3J5IG9yZGVycyB3aXRoIHRo ZSBzYW1lIG5hbWVzLCBzZWUgdGhlIEMrKzExIHN0YW5kYXJkDQo+ID4gK29yDQo+ID4gKyAqICB0 aGUgR0NDIHdpa2kgb24gYXRvbWljIHN5bmNocm9uaXphdGlvbiBmb3IgZGV0YWlsZWQgZGVmaW5p dGlvbi4NCj4gPiArICovDQo+ID4gKyNkZWZpbmUgcnRlX3dhaXRfZXZlbnRfMzIoYWRkciwgbWFz aywgZXhwZWN0ZWQsIGNvbmQsIG1lbW9yZGVyKQ0KPiAJCSAgICAgICBcDQo+ID4gK2RvIHsJCQkJ CQkJCQkgICAgICAgXA0KPiA+ICsJYXNzZXJ0KG1lbW9yZGVyID09IF9fQVRPTUlDX0FDUVVJUkUg fHwgbWVtb3JkZXIgPT0NCj4gX19BVE9NSUNfUkVMQVhFRCk7ICBcDQo+ID4gKwkJCQkJCQkJCSAg ICAgICBcDQo+ID4gKwl3aGlsZSAoKF9fYXRvbWljX2xvYWRfbihhZGRyLCBtZW1vcmRlcikgJiBt YXNrKSBjb25kIGV4cGVjdGVkKQ0KPiAJICAgICAgIFwNCj4gPiArCQlydGVfcGF1c2UoKTsJCQkJ CQkgICAgICAgXA0KPiA+ICt9IHdoaWxlICgwKQ0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogV2Fp dCB1bnRpbCBhIDY0LWJpdCAqYWRkciBicmVha3MgdGhlIGNvbmRpdGlvbiwgd2l0aCBhIHJlbGF4 ZWQNCj4gPiArbWVtb3J5DQo+ID4gKyAqIG9yZGVyaW5nIG1vZGVsIG1lYW5pbmcgdGhlIGxvYWRz IGFyb3VuZCB0aGlzIEFQSSBjYW4gYmUgcmVvcmRlcmVkLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFy YW0gYWRkcg0KPiA+ICsgKiAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ID4g KyAqIEBwYXJhbSBtYXNrDQo+ID4gKyAqICBBIG1hc2sgb2YgdmFsdWUgYml0cyBpbiBpbnRlcmVz dA0KPiA+ICsgKiBAcGFyYW0gZXhwZWN0ZWQNCj4gPiArICogIEEgNjQtYml0IGV4cGVjdGVkIHZh bHVlIHRvIGJlIGluIHRoZSBtZW1vcnkgbG9jYXRpb24uDQo+ID4gKyAqIEBwYXJhbSBjb25kDQo+ ID4gKyAqICBBIHN5bWJvbCByZXByZXNlbnRpbmcgdGhlIGNvbmRpdGlvbiAoPT0sICE9KS4NCj4g PiArICogQHBhcmFtIG1lbW9yZGVyDQo+ID4gKyAqICBUd28gZGlmZmVyZW50IG1lbW9yeSBvcmRl cnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkOg0KPiA+ICsgKiAgX19BVE9NSUNfQUNRVUlSRSBhbmQg X19BVE9NSUNfUkVMQVhFRC4gVGhlc2UgbWFwIHRvDQo+ID4gKyAqICBDKysxMSBtZW1vcnkgb3Jk ZXJzIHdpdGggdGhlIHNhbWUgbmFtZXMsIHNlZSB0aGUgQysrMTEgc3RhbmRhcmQNCj4gPiArb3IN Cj4gPiArICogIHRoZSBHQ0Mgd2lraSBvbiBhdG9taWMgc3luY2hyb25pemF0aW9uIGZvciBkZXRh aWxlZCBkZWZpbml0aW9uLg0KPiA+ICsgKi8NCj4gPiArI2RlZmluZSBydGVfd2FpdF9ldmVudF82 NChhZGRyLCBtYXNrLCBleHBlY3RlZCwgY29uZCwgbWVtb3JkZXIpDQo+IAkJICAgICAgIFwNCj4g PiArZG8gewkJCQkJCQkJCSAgICAgICBcDQo+ID4gKwlhc3NlcnQobWVtb3JkZXIgPT0gX19BVE9N SUNfQUNRVUlSRSB8fCBtZW1vcmRlciA9PQ0KPiBfX0FUT01JQ19SRUxBWEVEKTsgIFwNCj4gPiAr CQkJCQkJCQkJICAgICAgIFwNCj4gPiArCXdoaWxlICgoX19hdG9taWNfbG9hZF9uKGFkZHIsIG1l bW9yZGVyKSAmIG1hc2spIGNvbmQgZXhwZWN0ZWQpDQo+IAkgICAgICAgXA0KPiA+ICsJCXJ0ZV9w YXVzZSgpOwkJCQkJCSAgICAgICBcDQo+ID4gK30gd2hpbGUgKDApDQo+ID4gICNlbmRpZg0KPiA+ DQo+ID4gICNlbmRpZiAvKiBfUlRFX1BBVVNFX0hfICovDQo+ID4gLS0NCj4gPiAyLjI1LjENCg0K