From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5DF34A04F3; Fri, 20 Dec 2019 07:32:59 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 50C951BC25; Fri, 20 Dec 2019 07:32:58 +0100 (CET) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150078.outbound.protection.outlook.com [40.107.15.78]) by dpdk.org (Postfix) with ESMTP id F07DE1B9BF for ; Fri, 20 Dec 2019 07:32:56 +0100 (CET) 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=Quj6AsbC9zNx0VJVAxzPhmPFcd5ezhhsHiJHd4WMCjk=; b=mRN0j8ZPvseyGelP1miE/iOE9eqJARQyjVn0Kkc6+FC31wdKptvYj7imzwGONoDW+xQDsNr/cCi1GrpFRIFxp7YtOiakrMuDw88Wnhw6CgPnVRbg9K9ikSXU8GWhnmqf9ZmNu3qmsAreDx7XDIZ7BmqhwcHV2/PkRdMLAjcIRd4= Received: from VI1PR0801CA0081.eurprd08.prod.outlook.com (2603:10a6:800:7d::25) by AM6PR08MB3718.eurprd08.prod.outlook.com (2603:10a6:20b:81::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.14; Fri, 20 Dec 2019 06:32:55 +0000 Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e09::205) by VI1PR0801CA0081.outlook.office365.com (2603:10a6:800:7d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.14 via Frontend Transport; Fri, 20 Dec 2019 06:32:55 +0000 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=bestguesspass 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 VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.14 via Frontend Transport; Fri, 20 Dec 2019 06:32:55 +0000 Received: ("Tessian outbound 28955e0c1ca8:v40"); Fri, 20 Dec 2019 06:32:54 +0000 X-CR-MTA-TID: 64aa7808 Received: from 83ea54157cd1.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 968F1F38-C8B1-4F91-BF54-8206796D0089.1; Fri, 20 Dec 2019 06:32:49 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 83ea54157cd1.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Dec 2019 06:32:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WE6F3n0Vqm3HWVPutfRmBNLicOAm6ckp1i4xu8/hXRnU3HNbt8QSPXtdGu63b5mWV4coZjXpMvlBmw8voH2MPTI2vAqZenxwN2pWXZqjixub+nP7jxA2FqS1Lq2NlsyFiRFxRMHKbAU8pZgUc4Pu5TAI/ngixLIjaIDdA/6TpPe10sxvjJQu27Tn1QK+Qd9jv9nJpND2QSju3WJ8vWZLL2H0/oX1HNrH6uKmX6jMq9uPFwJvWyDOFlXnpock8dWVkNA7aMv7bd0AWfMEHrhaH8lCR0exsgmxbzS5Z3Esfo97pkVAKnXpT+9jIwg/Eabyhi+iUheHNpnGU/P5cJa9qw== 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-SenderADCheck; bh=Quj6AsbC9zNx0VJVAxzPhmPFcd5ezhhsHiJHd4WMCjk=; b=c9p+iWlBMybC11/MmFxDsOrXgxWUDvLVHeDerPZ3M4XrMklSizy9I/NzuOGA0L4eDUsP7BVm4ac41+iEcb5gbwHZLWtpR4eUsfyYYwJ1P8yS9fn2wc6ys1jONJSSdqOHDY9a6ENAryyKDaRHMIlPX1NxCKukrLgrojPJPfgCjIWUwS5uKtgx3RVqBnyZ/P8gmck3/lDf4VQDnw/7qxnJJIg9FYmFryv7XpvMV+GsPf1UbtF2xc0vvwxwZXg7dh1xLJxEvxuCgg3a+IcWVzPpXrTABIx1XMVWoRB1T1GqT4POiRGOw6xxGOv1JWM24wa9HDpMmdZm/tMvZATlZnHmJw== 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=Quj6AsbC9zNx0VJVAxzPhmPFcd5ezhhsHiJHd4WMCjk=; b=mRN0j8ZPvseyGelP1miE/iOE9eqJARQyjVn0Kkc6+FC31wdKptvYj7imzwGONoDW+xQDsNr/cCi1GrpFRIFxp7YtOiakrMuDw88Wnhw6CgPnVRbg9K9ikSXU8GWhnmqf9ZmNu3qmsAreDx7XDIZ7BmqhwcHV2/PkRdMLAjcIRd4= Received: from VI1PR08MB5376.eurprd08.prod.outlook.com (10.255.196.79) by VI1PR08MB4381.eurprd08.prod.outlook.com (20.179.26.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.15; Fri, 20 Dec 2019 06:32:47 +0000 Received: from VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::dde8:216f:6a0b:8cfb]) by VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::dde8:216f:6a0b:8cfb%7]) with mapi id 15.20.2559.016; Fri, 20 Dec 2019 06:32:47 +0000 From: Gavin Hu To: Jerin Jacob CC: dpdk-dev , nd , David Marchand , "thomas@monjalon.net" , "rasland@mellanox.com" , "maxime.coquelin@redhat.com" , "tiwei.bie@intel.com" , "hemant.agrawal@nxp.com" , "jerinj@marvell.com" , Pavan Nikhilesh , Honnappa Nagarahalli , Ruifeng Wang , Phil Yang , Joyce Kong , Steve Capper , nd Thread-Topic: [dpdk-dev] [PATCH v2 1/3] eal/arm64: relax the io barrier for aarch64 Thread-Index: AQHVtuZX2AgJ4L7rPUqXJTHKPsdG16fCYAcAgAAJKyCAAAaFgIAAE6hw Date: Fri, 20 Dec 2019 06:32:47 +0000 Message-ID: References: <1571758074-16445-1-git-send-email-gavin.hu@arm.com> <1576811391-19131-1-git-send-email-gavin.hu@arm.com> <1576811391-19131-2-git-send-email-gavin.hu@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 304e2f8c-d7fc-4da2-aa0c-bb1f95895f1f.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 6154910a-28a4-42e7-9469-08d785167266 X-MS-TrafficTypeDiagnostic: VI1PR08MB4381:|VI1PR08MB4381:|AM6PR08MB3718: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 025796F161 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(366004)(136003)(346002)(376002)(396003)(39860400002)(13464003)(199004)(189003)(76116006)(2906002)(7416002)(52536014)(6916009)(64756008)(81156014)(8676002)(8936002)(86362001)(478600001)(81166006)(66446008)(5660300002)(53546011)(316002)(71200400001)(66556008)(7696005)(55236004)(186003)(66946007)(66476007)(4326008)(9686003)(6506007)(26005)(33656002)(55016002)(54906003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB4381; H:VI1PR08MB5376.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: iDYRyuMN6bNJs23f5tlsa+o3fq4OY/4WY69VOtZpjziwsXuTqNq8hpYloi76SIBwwQ8yW7jYmYsqSskpHxohxUJcVZWPxOvxZTTPMTMT/d7ZabN+JOrS7fUTPAKbYVziHYFe0pGkySLnGFYgYGxHU11WawV/MC8ovR9ra3TsfFzpcNZiGbCdiiBIRtw/13Vo5eclfSodfhLhOjwvWz8CR+f6kITtZ73g34jJ/uD6+eBivrFgLn7gc0IrpkRCDLP0+kQTZO/WPchtbzIb2lruZ7dDWrkI+dOk2a7xNveSD3AV5pk/z5RuQvO6qg6+Ms9dF0H96w9CjVb9P9cS/caqk/u/ZrLhVfbMstYz1/naJfivWr+PAk8pcGFG+kIq2IHUUAE5rB/u7I1nBf4Gvd1uUxXGImnXmDSxmW1xaeYJgA9Wqrs3VzuKKhOi+TbJ1KMR+O7w6FzfNYVB+CjO6xk41IFVQlA0IFl+yWVnlrZh3MB0OXeAnGsHGV5HTT1vNd6l Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4381 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(396003)(39860400002)(376002)(346002)(136003)(13464003)(199004)(189003)(9686003)(478600001)(26826003)(336012)(33656002)(7696005)(52536014)(316002)(36906005)(55016002)(54906003)(2906002)(8936002)(5660300002)(86362001)(8676002)(186003)(81156014)(70206006)(76130400001)(6862004)(4326008)(356004)(70586007)(53546011)(81166006)(26005)(6506007); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3718; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 73639db6-ed88-4019-434d-08d785166dfa NoDisclaimer: True X-Forefront-PRVS: 025796F161 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lpzCr5s+78A6OeX4FIJul+Ud7RuMcc17+D/HE/W8PjVWC6wPJ5CuZ2wsVw1vtVlTQ49qw4pDX6alAgzlLKV4TU/zUmFkkTzZdvKWZxpqjvnRv1x804kejNNjKvwtNce0FvD3/KpsoNy4quiwBJ3NwJppfZ2xzRlHnGPFKVqh1yhlfhAUj/jfpiDWfVX7oIfyqY3iIP5GtHrrBTNF5uJROEqQpy8k86o5LB6rvUnzm73v8KGiLFKmRWoyJWt61G2I2ZE63NIXVQ/zht7eyy+VgyJ3LlTWgwOEue7vhT3JAWKIK4dSSQ2iJMZxPK0ldgDxsL6LM+jZCjDHix+a9o2enplI25/cX8uJDuIvEluCMj6eUZ92Sb+C1MQVVSW5xKIxkVR6WnpZmBomfbnFqNN0pu/WWk/4AfZHytnIhwI5zh4VqkGATcifokVBlYrgHPFM7IxFvaH5hT6jS0inVKHO37li49AVRZKD1OtIYNemZOd5KtmDoNl84Lm/stUEdYbS X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2019 06:32:55.0263 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6154910a-28a4-42e7-9469-08d785167266 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3718 Subject: Re: [dpdk-dev] [PATCH v2 1/3] eal/arm64: relax the io barrier for aarch64 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgSmVyaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBEZWNlbWJlciAy MCwgMjAxOSAxMjozNCBQTQ0KPiBUbzogR2F2aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+IENj OiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgbmQgPG5kQGFybS5jb20+OyBEYXZpZCBNYXJjaGFu ZA0KPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IHRob21hc0Btb25qYWxvbi5uZXQ7DQo+ IHJhc2xhbmRAbWVsbGFub3guY29tOyBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsNCj4gdGl3 ZWkuYmllQGludGVsLmNvbTsgaGVtYW50LmFncmF3YWxAbnhwLmNvbTsgamVyaW5qQG1hcnZlbGwu Y29tOw0KPiBQYXZhbiBOaWtoaWxlc2ggPHBiaGFnYXZhdHVsYUBtYXJ2ZWxsLmNvbT47IEhvbm5h cHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgUnVpZmVu ZyBXYW5nDQo+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IFBoaWwgWWFuZyA8UGhpbC5ZYW5nQGFy bS5jb20+OyBKb3ljZSBLb25nDQo+IDxKb3ljZS5Lb25nQGFybS5jb20+OyBTdGV2ZSBDYXBwZXIg PFN0ZXZlLkNhcHBlckBhcm0uY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0gg djIgMS8zXSBlYWwvYXJtNjQ6IHJlbGF4IHRoZSBpbyBiYXJyaWVyIGZvcg0KPiBhYXJjaDY0DQo+ IA0KPiBPbiBGcmksIERlYyAyMCwgMjAxOSBhdCA5OjQ5IEFNIEdhdmluIEh1IDxHYXZpbi5IdUBh cm0uY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIEplcmluLA0KPiA+DQo+ID4gVGhhbmtzIGZvciBy ZXZpZXcsIGlubGluZSBjb21tZW50cywNCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gPiA+IEZyb206IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ ID4gPiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDIwLCAyMDE5IDExOjM4IEFNDQo+ID4gPiBUbzog R2F2aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+ID4gPiBDYzogZHBkay1kZXYgPGRldkBkcGRr Lm9yZz47IG5kIDxuZEBhcm0uY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4gPiA+IDxkYXZpZC5tYXJj aGFuZEByZWRoYXQuY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldDsNCj4gPiA+IHJhc2xhbmRAbWVs bGFub3guY29tOyBtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbTsNCj4gPiA+IHRpd2VpLmJpZUBp bnRlbC5jb207IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4g PiA+IFBhdmFuIE5pa2hpbGVzaCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPjsgSG9ubmFwcGEg TmFnYXJhaGFsbGkNCj4gPiA+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgUnVpZmVu ZyBXYW5nDQo+ID4gPiA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBQaGlsIFlhbmcgPFBoaWwuWWFu Z0Bhcm0uY29tPjsgSm95Y2UNCj4gS29uZw0KPiA+ID4gPEpveWNlLktvbmdAYXJtLmNvbT47IFN0 ZXZlIENhcHBlciA8U3RldmUuQ2FwcGVyQGFybS5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2Rw ZGstZGV2XSBbUEFUQ0ggdjIgMS8zXSBlYWwvYXJtNjQ6IHJlbGF4IHRoZSBpbyBiYXJyaWVyDQo+ IGZvcg0KPiA+ID4gYWFyY2g2NA0KPiA+ID4NCj4gPiA+IE9uIEZyaSwgRGVjIDIwLCAyMDE5IGF0 IDk6MDMgQU0gSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+IHdyb3Rl Og0KPiA+ID4gPg0KPiA+ID4gPiBPbiBGcmksIERlYyAyMCwgMjAxOSBhdCA4OjQwIEFNIEdhdmlu IEh1IDxnYXZpbi5odUBhcm0uY29tPiB3cm90ZToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFybXY4 J3MgcGVyaXBoZXJhbCBjb2hlcmVuY2Ugb3JkZXIgaXMgYSB0b3RhbCBvcmRlciBvbiBhbGwgcmVh ZHMgYW5kDQo+ID4gPiB3cml0ZXMNCj4gPiA+ID4gPiB0byB0aGF0IHBlcmlwaGVyYWwuWzFdDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGUgcGVyaXBoZXJhbCBjb2hlcmVuY2Ugb3JkZXIgZm9yIGEg bWVtb3J5LW1hcHBlZCBwZXJpcGhlcmFsDQo+ID4gPiBzaWduaWZpZXMgdGhlDQo+ID4gPiA+ID4g b3JkZXIgaW4gd2hpY2ggYWNjZXNzZXMgYXJyaXZlIGF0IHRoZSBlbmRwb2ludC4gIEZvciBhIHJl YWQgb3IgYSB3cml0ZQ0KPiA+ID4gUlcxDQo+ID4gPiA+ID4gYW5kIGEgcmVhZCBvciBhIHdyaXRl IFJXMiB0byB0aGUgc2FtZSBwZXJpcGhlcmFsLCB0aGVuIFJXMSB3aWxsDQo+IGFwcGVhcg0KPiA+ ID4gaW4NCj4gPiA+ID4gPiB0aGUgcGVyaXBoZXJhbCBjb2hlcmVuY2Ugb3JkZXIgZm9yIHRoZSBw ZXJpcGhlcmFsIGJlZm9yZSBSVzIgaWYNCj4gZWl0aGVyDQo+ID4gPiBvZg0KPiA+ID4gPiA+IHRo ZSBmb2xsb3dpbmcgY2FzZXMgYXBwbHk6DQo+ID4gPiA+ID4gIDEuIFJXMSBhbmQgUlcyIGFyZSBh Y2Nlc3NlcyB1c2luZyBOb24tY2FjaGVhYmxlIG9yIERldmljZQ0KPiBhdHRyaWJ1dGVzDQo+ID4g PiBhbmQNCj4gPiA+ID4gPiAgICAgUlcxIGlzIE9yZGVyZWQtYmVmb3JlIFJXMi4NCj4gPiA+ID4g PiAgMi4gUlcxIGFuZCBSVzIgYXJlIGFjY2Vzc2VzIHVzaW5nIERldmljZS1uR25SRSBvciBEZXZp Y2UtDQo+IG5HblJuRQ0KPiA+ID4gYXR0cmlidXRlcw0KPiA+ID4gPiA+ICAgICBhbmQgUlcxIGFw cGVhcnMgaW4gcHJvZ3JhbSBvcmRlciBiZWZvcmUgUlcyLg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ ID4gPiBUaGlzIGlzIHRydWUgaWYgUlcxIGFuZCBSVzIgYWRkcmVzc2VzIGFyZSBkZXZpY2UgbWVt b3J5LiBpLmUgdGhlDQo+ID4gPiA+IHJlZ2lzdGVycyBpbiB0aGUgIFBDSSBiYXIgYWRkcmVzcy4N Cj4gPiA+ID4gSWYgUlcxIGlzIEREUiBhZGRyZXNzIHdoaWNoIGlzIGJlZW4gdXNlZCBieSB0aGUg Y29udHJvbGxlcihzYXkgTklDDQo+ID4gPiA+IHJpbmcgZGVzY3JpcHRvcikgdGhlbiB0aGVyZSB3 aWxsIGJlIGFuIGlzc3VlLg0KPiA+ID4gPiBGb3IgZXhhbXBsZSBJbnRlbCBpNDBlIGRyaXZlciwg dGhlIGFkbWluIHF1ZXVlIHVwZGF0ZSBpbiBIb3N0IEREUg0KPiA+ID4gPiBtZW1vcnkgYW5kIGl0 IHVwZGF0ZXMgdGhlIGRvb3JiZWxsLg0KPiA+ID4gPiBJbiBzdWNoIGEgY2FzZSwgdGhpcyBwYXRj aCB3aWxsIGNyZWF0ZSBhbiBpc3N1ZS4gQ29ycmVjdD8gSGF2ZSB5b3UNCj4gPiA+ID4gY2hlY2tl ZCB0aGlzIHBhdGNoIHdpdGggQVJNNjQgKyBYTDcxMCBjb250cm9sbGVycz8NCj4gPg0KPiA+IFRo aXMgcGF0Y2ggcmVsYXhlcyB0aGUgcnRlX2lvXyptYiBiYXJyaWVycyBmb3IgcHVyZSBQQ0kgZGV2 aWNlIG1lbW9yeQ0KPiBhY2Nlc3Nlcy4NCj4gDQo+IFllcy4gVGhpcyB3b3VsZCBicmVhayBjYXNl cyBmb3IgbWl4ZWQgYWNjZXNzIGZybyBpNDBlIGRyaXZlcnMuDQo+IA0KPiA+DQo+ID4gRm9yIG1p eGVkIGFjY2Vzc2VzIG9mIEREUiBhbmQgUENJIGRldmljZSBtZW1vcnksIHJ0ZV9zbXBfKm1iKERN Qg0KPiBJU0gpIGlzIG5vdCBzdWZmaWNpZW50Lg0KPiA+IEJ1dCBydGVfY2lvXyptYihETUIgT1NI KSBpcyBzdWZmaWNpZW50IGFuZCBjYW4gYmUgdXNlZC4NCj4gDQo+IFllcy4gTGV0IG1lIHNoYXJl IGEgYml0IG9mIGhpc3RvcnkuDQo+IA0KPiAxKSBUaGVyZSBhcmUgYSBsb3Qgb2YgZHJpdmVycyhp bml0aWFsbHkgZGV2ZWxvcGVkIGluIHg4NikgdGhhdCBoYXZlDQo+IG1peGVkIGFjY2VzcyBhbmQg ZG9uJ3QgaGF2ZSBhbnkgYmFycmllcnMgYXMgeDg2IGRvZXMgbm90IG5lZWQgaXQuDQo+IDIpIHJ0 ZV9pbyBpbnRyb2R1Y2VkIHRvIGZpeCB0aGF0DQo+IDMpIEl0ZW0gKDIpIGludHJvZHVjZWQgdGhl IHBlcmZvcm1hbmNlIGlzc3VlcyBpbiB0aGUgZmFzdCBwYXRoIGFzIGFuDQo+IG9wdGltaXphdGlv biBydGVfY2lvXyogaW50cm9kdWNlZC4NCkV4YWN0bHksIHRoaXMgcGF0Y2ggaXMgdG8gbWl0aWdh dGUgdGhlIHBlcmZvcm1hbmNlIGlzc3VlcyBpbnRyb2R1Y2VkIGJ5IHJ0ZV9pbygnZHNiJyBpcyB0 b28gbXVjaCBhbmQgdW5uZWNlc3NhcnkgaGVyZSkuDQpSdGVfY2lvIGluc3RlYWQgaXMgZGVmaW5p dGVseSByZXF1aXJlZCBmb3IgbWl4ZWQgYWNjZXNzLiANCj4gDQo+IFNvIGluIHRoZSBjdXJyZW50 IG9mIHRoZSBzY2hlbWUgb2YgdGhpbmdzLCB3ZSBoYXZlIEFQSXMgdG8gRklYDQo+IHBvcnRhYmls aXR5IGlzc3VlKHJ0ZV9pbykgYW5kIHBlcmZvcm1hbmNlIGlzc3VlKHJ0ZV9jaW8pLg0KPiBJTU8s IHdlIG1heSBub3QgbmVlZCBhbnkgY2hhbmdlIGluIGluZnJhIGNvZGUgbm93LiBJZiB5b3UgdGhp bmssIHRoZQ0KPiBkb2N1bWVudGF0aW9uIGlzIG1pc3NpbmcgdGhlbiB3ZSBjYW4gZW5oYW5jZSBp dC4NCj4gSWYgd2UgbWFrZSBpbmZyYSBjaGFuZ2UgdGhlbiBhZ2FpbiBkcml2ZXJzIG5lZWRzIHRv IGJlIHVwZGF0ZWQgYW5kIHRlc3RlZC4NCk5vIGNoYW5nZXMgZm9yIHJ0ZV9jaW8sIHRoZSBzZW1h bnRpY3MsIGFuZCBkZWZpbml0aW9ucyBvZiBydGVfaW8gZG9lcyBub3QgY2hhbmdlIGVpdGhlciwg aWYgbGltaXRlZCB0aGUgc2NvcGUgdG8gUENJLCB3aGljaCBpcyB0aGUgY2FzZSBpbiBEUERLIGNv bnRleHQoPykuDQpUaGUgY2hhbmdlIGxpZXMgb25seSBpbiB0aGUgaW1wbGVtZW50YXRpb24sIHJp Z2h0PyANCg0KSnVzdCBsb29rZWQgYXQgdGhlIGxpbmsgeW91IHNoYXJlZCBhbmQgZm91bmQgaTQw IGRyaXZlciBpcyBtaXNzaW5nIHJ0ZV9jaW9fKm1iIGluIGk0MGVfYXNxX3NlbmRfY29tbWFuZCwg YnV0IHRoZSBvbGQgcnRlX2lvXyptYiByZXNjdWVkLiANCldpbGwgc3VibWl0IGEgbmV3IHBhdGNo IGluIHRoaXMgc2VyaWVzIHRvIHVzZWQgcnRlX2NpbyB0b2dldGhlciB3aXRoIG5ldyByZWxheGVk IHJ0ZV9pbyBhbmQgZG8gbW9yZSB0ZXN0cy4gDQoNClllcywgdGhpcyBpcyBhIGJpZyBjaGFuZ2Us IGFsc28gYSBiaWcgb3B0aW1pemF0aW9uLCBmb3IgYWFyY2g2NCwgaW4gb3VyIHRlc3RzIGl0IGhh cyB2ZXJ5IHBvc2l0aXZlIHJlc3VsdHMuDQpCdXQgYXMgdGhlIGNhc2UgaW4gaTQwZSwgd2UgbXVz dCBwYXkgYXR0ZW50aW9uIHRvIHdoZXJlIHJ0ZV9jaW8gd2FzIG1pc3NpbmcgYnV0IHJlc2N1ZWQg Ynkgb2xkIHJ0ZV9pbyhidXQgbm90IGJ5IG5ldyBydGVfaW8pLiANCg0KDQo=