From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20066.outbound.protection.outlook.com [40.107.2.66]) by dpdk.org (Postfix) with ESMTP id D28EA91 for ; Wed, 7 Nov 2018 05:55:02 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bQjfHBnepGMURPjWxhbjDJuqQTbf1N+SQtfZwxtuaPU=; b=rfVOpVmLiV4XISck/uVzN3aSwo2ELt7vcdrwnVeoPiLjzADm42sYgkp256Rp36mSfK6On5FTO1g7emYckhMIOnU3CK25qMXKfMU0o9KfoYcFNPAwn8jmXUXRyjAfiMULnu4MA5p17PHbVPMPqhSWpZtFeM5m9lStiX7ro7B+Daw= Received: from AM0PR08MB3409.eurprd08.prod.outlook.com (20.177.109.139) by AM0PR08MB4082.eurprd08.prod.outlook.com (20.178.119.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1273.27; Wed, 7 Nov 2018 04:55:01 +0000 Received: from AM0PR08MB3409.eurprd08.prod.outlook.com ([fe80::3074:eca6:1d39:dd5]) by AM0PR08MB3409.eurprd08.prod.outlook.com ([fe80::3074:eca6:1d39:dd5%2]) with mapi id 15.20.1294.034; Wed, 7 Nov 2018 04:55:01 +0000 From: "Tone Zhang (Arm Technology China)" To: "Burakov, Anatoly" , "dev@dpdk.org" CC: nd Thread-Topic: [dpdk-dev] [PATCH] pci_vfio: Support 64KB kernel page_size with vfio-pci driver Thread-Index: AQHUa3lCIRooCn9f+0Kigcs8A1SPlKU6P4IAgAB9OACAAqfkgIAALSbQgAUX2wCAAQ3ZwA== Date: Wed, 7 Nov 2018 04:55:00 +0000 Message-ID: References: <1540347604-18590-1-git-send-email-tone.zhang@arm.com> <9b893c0a-9ac6-ba53-16c6-d20f6a458f80@intel.com> <6556e6fc-dd84-b256-97d2-51018956bbcd@intel.com> In-Reply-To: <6556e6fc-dd84-b256-97d2-51018956bbcd@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tone.Zhang@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR08MB4082; 6:Us3dI45uTi0BJreZG89MtyhaSxtoMvWI+URrN1n4yEy68gbPlMfxYfEJXRiFeo2BEzHxl7PmuY3iC3veEDGpO9qzey0+iwYaXlY9W/uLJlHDWdO+xk6g6GWEamoijqYVV+VARHe0lNVyFO/IeIvdZPLPoOB5bvrGkbCdLgMQiTwpoOrUbo6YqcSgYpMNcZfAXGdcdbu1Ws0kwZ42fiT0YSZFI/0yWg5lyYr+CEV+mHAaS4Va+7s9MmOFkNwZIIGKvgMpRZt1WYBdU1kWXXVKtwXjmJWj6SV/ZkiqA/B1BZNYVBq4h83Vn9cmUGU0zaL+rc8imCezD4ELIAZGU4QuKTwx5jRFxUR8lsjSzdzg58hLiTLz4hvBgX+Tbj+lRWVZQgiQ8zwHrLFL33DxnY2w1x95f4anly7Yuf0oojcnqG5Xpz02rFf0POKXWnMKqn4SBoDA9fnr+OXuaM4se0Z/bg==; 5:zRBn1ySZzkv4wPvUfJHHtlItMq1XtYVOm2rfnzzNCjhELx2qYaAvS2Yg7nAB7G5+/wqg9/IrwSx9yVYKg/V3AS3ncahn9WyOoOzC2Qx4EaYGvCo9LbvAFhDR2W/Tmx8GpRc525KMn4mxvxYU+OKpQHV3hRz3/+SzNMAU5XwEkGA=; 7:1GnVkc4hJ9knEjscFa+Tg56wt3Uy0XxT04SI4+00vQWQMQCg8sPejWj1t+gNdLmSIQJulwg+HQ9nrR3bstlJFXnGUjQNBKgTZlZq6OZSl48qtP6Aqr7Wo3Vfgzg1rxaHem1ZWR//ynJ/p4rlyVUf5Q== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 3e3c979f-8bbf-4313-c20b-08d6446d2cdf x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:AM0PR08MB4082; x-ms-traffictypediagnostic: AM0PR08MB4082: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(20558992708506)(228905959029699)(180628864354917); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:AM0PR08MB4082; BCL:0; PCL:0; RULEID:; SRVR:AM0PR08MB4082; x-forefront-prvs: 08497C3D99 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(136003)(366004)(376002)(346002)(39860400002)(13464003)(199004)(189003)(316002)(4326008)(66066001)(478600001)(6436002)(93886005)(25786009)(110136005)(76176011)(6506007)(7696005)(86362001)(229853002)(53546011)(446003)(55236004)(11346002)(476003)(486006)(14444005)(26005)(256004)(186003)(99286004)(102836004)(8676002)(6116002)(81166006)(8936002)(3846002)(81156014)(72206003)(305945005)(106356001)(5660300001)(7736002)(71190400001)(14454004)(71200400001)(33656002)(68736007)(105586002)(97736004)(9686003)(74316002)(2501003)(55016002)(2906002)(6246003)(2900100001)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR08MB4082; H:AM0PR08MB3409.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-microsoft-antispam-message-info: bArZJuAxW74Sl5yN9/CS1oLNwii+LnW6OaUFzD1A8B4t2+OHpYnGcU255mhPHtpDp18k1Yr8cMzwK7p+/eyw2lF7Cq3+s24xSnGM72vIqae8OHyrg3/4jiClm/fDhYflSNvsirjyLkhGlktnQ2TMV3bL+8wOs6Fu0Q2YjkZc87aXNthpI17g2+E2k3SV55IWjf42hiSpgpkl37UQWuQMD7cu9HqDIa4IQvL8TNSW1S6wLr2GNOQl+pERSJPg5MaCOKtMS69ntPlWJC/KBNjObXcJrwIdkHUQtHfWtlL+2i2HIF6JdWYjwsQ/neafAG7YS4JLSylYgvNZsMUqTs+YtW2gbLLXxjF3EjSIknswbHQ= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e3c979f-8bbf-4313-c20b-08d6446d2cdf X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2018 04:55:01.4020 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4082 Subject: Re: [dpdk-dev] [PATCH] pci_vfio: Support 64KB kernel page_size with vfio-pci driver 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: , X-List-Received-Date: Wed, 07 Nov 2018 04:55:03 -0000 SGkgQnVyYWtvdiwNCg0KUGxlYXNlIGZpbmQgbXkgdGVzdCBjYXNlIGJlbG93LiBUaGFua3MhDQoN CkJyLA0KVG9uZQ0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQnVyYWtvdiwg QW5hdG9seSA8YW5hdG9seS5idXJha292QGludGVsLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBOb3Zl bWJlciA2LCAyMDE4IDc6MDMgUE0NClRvOiBUb25lIFpoYW5nIChBcm0gVGVjaG5vbG9neSBDaGlu YSkgPFRvbmUuWmhhbmdAYXJtLmNvbT47IGRldkBkcGRrLm9yZw0KQ2M6IG5kIDxuZEBhcm0uY29t Pg0KU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSBwY2lfdmZpbzogU3VwcG9ydCA2NEtC IGtlcm5lbCBwYWdlX3NpemUgd2l0aCB2ZmlvLXBjaSBkcml2ZXINCg0KT24gMDMtTm92LTE4IDU6 NDYgQU0sIFRvbmUgWmhhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSB3cm90ZToNCj4gSGkgQnVy YWtvdiwNCj4gDQo+IFRoYW5rcyENCj4gUGxlYXNlIGNoZWNrIG15IGZlZWRiYWNrIGJlbG93Lg0K PiANCj4gQnIsDQo+IFRvbmUNCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBCdXJha292LCBBbmF0 b2x5DQo+IFNlbnQ6IFRodXJzZGF5LCBOb3ZlbWJlciAxLCAyMDE4IDY6MDEgUE0NCj4gVG86IFRv bmUgWmhhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8VG9uZS5aaGFuZ0Bhcm0uY29tPjsgDQo+ IGRldkBkcGRrLm9yZw0KPiBDYzogbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBk ay1kZXZdIFtQQVRDSF0gcGNpX3ZmaW86IFN1cHBvcnQgNjRLQiBrZXJuZWwgDQo+IHBhZ2Vfc2l6 ZSB3aXRoIHZmaW8tcGNpIGRyaXZlcg0KPiANCj4gT24gMDEtTm92LTE4IDI6MzMgQU0sIFRvbmUg WmhhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSB3cm90ZToNCj4+IEhpIEJ1cmFrb3YsDQo+Pg0K Pj4gSSdtIHNvcnJ5IGZvciB0aGUgbGF0ZSByZXNwb25zZS4NCj4+DQo+PiBUaGFua3MgYSBsb3Qg Zm9yIHlvdXIgY29tbWVudHMuIFBsZWFzZSBmaW5kIG15IHJlc3BvbnNlIGJlbG93IChtYXJrZWQg DQo+PiB3aXRoICJUb25lOiIpLiDwn5iKDQo+Pg0KPj4gQnIsDQo+PiBUb25lDQo+Pg0KPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+IEZyb206IEJ1cmFrb3YsIEFuYXRvbHkgPGFuYXRv bHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+PiBTZW50OiBXZWRuZXNkYXksIE9jdG9iZXIgMjQsIDIw MTggNTowOSBQTQ0KPj4gVG86IFRvbmUgWmhhbmcgKEFybSBUZWNobm9sb2d5IENoaW5hKSA8VG9u ZS5aaGFuZ0Bhcm0uY29tPjsgDQo+PiBkZXZAZHBkay5vcmcNCj4+IENjOiBuZCA8bmRAYXJtLmNv bT4NCj4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gcGNpX3ZmaW86IFN1cHBvcnQg NjRLQiBrZXJuZWwgDQo+PiBwYWdlX3NpemUgd2l0aCB2ZmlvLXBjaSBkcml2ZXINCj4+DQo+PiBP biAyNC1PY3QtMTggMzoyMCBBTSwgdG9uZS56aGFuZyB3cm90ZToNCj4+PiBXaXRoIGEgbGFyZ2Vy IFBBR0VfU0laRSBpdCBpcyBwb3NzaWJsZSBmb3IgdGhlIE1TSSB0YWJsZSB0byB2ZXJ5IA0KPj4+ IGNsb3NlIHRvIHRoZSBlbmQgb2YgdGhlIEJBUiBzLnQuIHdoZW4gd2UgYWxpZ24gdGhlIE1TSSB0 YWJsZSB0byB0aGUgDQo+Pj4gUEFHRV9TSVpFLCB0aGUgZW5kIG9mZnNldCBvZiB0aGUgTVNJIHRh YmxlIGlzIG91dCB0aGUgUENJIEJBUiANCj4+PiBib3VuZGFyeS4NCj4+Pg0KPj4+IFRoaXMgcGF0 Y2ggYWRkcmVzc2VzIHRoZSBpc3N1ZSBieSBjb21wYXJpbmcgYm90aCB0aGUgc3RhcnQgYW5kIHRo ZSANCj4+PiBlbmQgb2Zmc2V0IG9mIHRoZSBNU0kgdGFibGUgd2l0aCB0aGUgQkFSIHNpemUuDQo+ Pj4NCj4+PiBUaGUgcGF0Y2ggZml4ZXMgdGhlIGRlYnVnIGxvZyBhcyBiZWxvdzoNCj4+PiBFQUw6 IFNraXBwaW5nIEJBUjANCj4+Pg0KPj4+IFNpZ25lZC1vZmYtYnk6IHRvbmUuemhhbmcgPHRvbmUu emhhbmdAYXJtLmNvbT4NCj4+PiBSZXZpZXdlZC1ieTogR2F2aW4gSHUgPEdhdmluLkh1QGFybS5j b20+DQo+Pj4gUmV2aWV3ZWQtYnk6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxob25uYXBwYS5uYWdh cmFoYWxsaUBhcm0uY29tPg0KPj4+IFJldmlld2VkLWJ5OiBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNh cHBlckBhcm0uY29tPg0KPj4+IC0tLQ0KPj4+ICAgICBkcml2ZXJzL2J1cy9wY2kvbGludXgvcGNp X3ZmaW8uYyB8IDI1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4+PiAgICAgMSBmaWxlIGNo YW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9idXMvcGNpL2xpbnV4L3BjaV92ZmlvLmMNCj4+PiBiL2RyaXZlcnMvYnVz L3BjaS9saW51eC9wY2lfdmZpby5jDQo+Pj4gaW5kZXggYjFmMDY4My4uMTM3MzM0NSAxMDA2NDQN Cj4+PiAtLS0gYS9kcml2ZXJzL2J1cy9wY2kvbGludXgvcGNpX3ZmaW8uYw0KPj4+ICsrKyBiL2Ry aXZlcnMvYnVzL3BjaS9saW51eC9wY2lfdmZpby5jDQo+Pj4gQEAgLTQ0NSw5ICs0NDUsMTEgQEAg cGNpX3ZmaW9fbW1hcF9iYXIoaW50IHZmaW9fZGV2X2ZkLCBzdHJ1Y3QgbWFwcGVkX3BjaV9yZXNv dXJjZSAqdmZpb19yZXMsDQo+Pj4gICAgIAlzdHJ1Y3QgcGNpX21zaXhfdGFibGUgKm1zaXhfdGFi bGUgPSAmdmZpb19yZXMtPm1zaXhfdGFibGU7DQo+Pj4gICAgIAlzdHJ1Y3QgcGNpX21hcCAqYmFy ID0gJnZmaW9fcmVzLT5tYXBzW2Jhcl9pbmRleF07DQo+Pj4gICAgIA0KPj4+IC0JaWYgKGJhci0+ c2l6ZSA9PSAwKQ0KPj4+ICsJaWYgKGJhci0+c2l6ZSA9PSAwKSB7DQo+Pj4gICAgIAkJLyogU2tp cCB0aGlzIEJBUiAqLw0KPj4+ICsJCVJURV9MT0coSU5GTywgRUFMLCAiU2tpcHBpbmcgdGhpcyBC QVIlZFxuIiwgYmFyX2luZGV4KTsNCj4+PiAgICAgCQlyZXR1cm4gMDsNCj4+DQo+PiBJIGZlZWwg bGlrZSAidGhpcyIgaXMgdW5uZWNlc3NhcnkgaGVyZSAtIGp1c3QgIlNraXBwaW5nIEJBUiVkIiBz aG91bGQgDQo+PiBiZSBlbm91Z2ggOikNCj4+DQo+PiBUb25lOiBXaWxsIHVwZGF0ZSBjb2RlIGFu ZCByZW1vdmUgInRoaXMiIGluIG5leHQgdmVyc2lvbi4NCj4+DQo+Pj4gKwl9DQo+Pj4gICAgIA0K Pj4+ICAgICAJaWYgKG1zaXhfdGFibGUtPmJhcl9pbmRleCA9PSBiYXJfaW5kZXgpIHsNCj4+PiAg ICAgCQkvKg0KPj4+IEBAIC00NTcsNyArNDU5LDEyIEBAIHBjaV92ZmlvX21tYXBfYmFyKGludCB2 ZmlvX2Rldl9mZCwgc3RydWN0IG1hcHBlZF9wY2lfcmVzb3VyY2UgKnZmaW9fcmVzLA0KPj4+ICAg ICAJCXVpbnQzMl90IHRhYmxlX3N0YXJ0ID0gbXNpeF90YWJsZS0+b2Zmc2V0Ow0KPj4+ICAgICAJ CXVpbnQzMl90IHRhYmxlX2VuZCA9IHRhYmxlX3N0YXJ0ICsgbXNpeF90YWJsZS0+c2l6ZTsNCj4+ PiAgICAgCQl0YWJsZV9lbmQgPSAodGFibGVfZW5kICsgflBBR0VfTUFTSykgJiBQQUdFX01BU0s7 DQo+Pj4gLQkJdGFibGVfc3RhcnQgJj0gUEFHRV9NQVNLOw0KPj4+ICsJCXRhYmxlX3N0YXJ0ID0g KHRhYmxlX3N0YXJ0ICsgflBBR0VfTUFTSykgJiBQQUdFX01BU0s7DQo+Pg0KPj4gSU1PIHRoZXNl IHR3byBhZGRpdGlvbnMgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IFJURV9BTElHTiBieSBwYWdlIHNp emUuDQo+PiBNYWtlcyB0aGUgcHVycG9zZSBvZiB0aGUgY29kZSBtdWNoIGNsZWFyZXIuDQo+Pg0K Pj4gVG9uZTogU3VyZSwgaXQgaXMgYmV0dGVyISBXaWxsIHVwZGF0ZSBjb2RlIGluIG5leHQgdmVy c2lvbi4gVGhhbmtzIQ0KPj4NCj4+PiArCQkvKiBhZnRlciByb3VuZGluZyB0byBQQUdFX1NJWkUs IGl0IGlzIG92ZXIgdGhlIGJhci0+c2l6ZSwNCj4+PiArCQkgKiBmYWxsIGJhY2sgdG8gdGhlIE1T SS1YIHRhYmxlIG9mZnNldCBpbiB0aGUgYmFyLg0KPj4+ICsJCSovDQo+Pj4gKwkJaWYgKHRhYmxl X3N0YXJ0ID49IGJhci0+c2l6ZSkNCj4+PiArCQkJdGFibGVfc3RhcnQgPSBtc2l4X3RhYmxlLT5v ZmZzZXQ7DQo+Pg0KPj4gSWYgaSB1bmRlcnN0YW5kIHRoaW5ncyBjb3JyZWN0bHksIG1zaXhfdGFi bGUtPm9mZnNldCB2YWx1ZSBoZXJlIG1heSBiZSB1bmFsaWduZWQsIHNvIGZhbGxpbmcgYmFjayB0 byB0aGlzIHZhbHVlIG1heSBjYXVzZSBtYXBwaW5nIGZhaWx1cmUsIGJlY2F1c2Ugd2UgbGF0ZXIg dXNlIHRoaXMgdmFsdWUgYXMgYSBzaXplIG9mIG1hcHBpbmcgKHdoaWNoIG5lZWRzIHRvIGJlIHBh Z2UgYWxpZ25lZCkuIFNob3VsZG4ndCB0aGlzIGJlIGFsaWduZWQgdXNpbmcgUlRFX0FMSUdOX0ZM T09SIGJ5IHBhZ2Ugc2l6ZT8NCj4+DQo+PiBUb25lOiBJdCBpcyBhIGxpdHRsZSB0cmlja3kuIEFs aWduIG1zaXhfdGFibGUtPm9mZnNldCB3aXRoIFJURV9BTElHTl9GTE9PUiBtYXliZSBnZXQgMCBp ZiB0aGUgb2Zmc2V0IGlzIGxlc3MgdGhhbiBwYWdlIHNpemUgaW4gdGhlIFBDSSBiYXIuIEl0IHdp bGwgdHJpZ2dlciBtbWFwKCkgZXJyb3IuIElJUkMgdGhlIGlucHV0IHBhcmFtZXRlciAic2l6ZSIg aW4gbW1hcCgpIGlzIG5vdCByZXF1aXJlZCB0byBiZSBhbGlnbmVkIHdpdGggcGFnZSBzaXplLCBz eXN0ZW0gd2lsbCBkbyBpdC4gQnV0IGl0IGlzIGJldHRlciBpZiB3ZSBjYW4gZG8gaXQuIElmIEkg d2FzIHdyb25nLCBwbGVhc2UgY29ycmVjdCBtZS4gVGhhbmtzIGEgbG90Lg0KPiANCj4gQXBvbG9n aWVzLCB5b3UncmUgY29ycmVjdCAtIGxlbmd0aCBjYW4gYmUgbWlzYWxpZ25lZCAoanVzdCB0ZXN0 ZWQgaXQpLg0KPiANCj4gSG93ZXZlciwgaSB0aGluayBpdCdzIHN0aWxsIHdvcnRoIGFsaWduaW5n IChhbmQgcHV0dGluZyBpbiBhbiBhZGRpdGlvbmFsIGNoZWNrKSwgYmVjYXVzZSB3ZSB3YW50IHRv IG1ha2Ugc3VyZSB3ZSAqZG9uJ3QqIGF0dGVtcHQgdG8gbWFwIHRoZSBNU0ktWCBCQVIsIGFuZCBr ZXJuZWwgbWlnaHQgZG8gdGhhdCBieSBhZGp1c3RpbmcgbGVuZ3RoIGF1dG9tYXRpY2FsbHkgYW5k IHJldHVybiBtbWFwIGZhaWx1cmUgdGhhdCB3YXkuDQo+IA0KPiBUb25lOiBUaGFua3MgYSBsb3Qh IEkgYWdyZWUgd2l0aCB5b3UuIEl0IHdvcnRoIGFsaWduaW5nIHRoZSBzaXplLiBJIHdpbGwgdXBk YXRlIGNvZGUgKFJURV9BTElHTl9GTE9PUiBieSBwYWdlIHNpemUpIGluIG5leHQgdmVyc2lvbi4N Cj4gSSdkIGxpa2UgdG8gZGlzY3VzcyBvbmUgY2FzZSB3aXRoIHlvdS4gSW4gdGhlIGNhc2UsIGJh c2UtPnNpemUgaXMgMTYzODQsIG1zaXhfdGFibGUtPm9mZnNldCBpcyA4MTkyLCBwYWdlX3NpemUg aXMgNjU1MzYuIEFmdGVyIGFsaWduICJtc2l4X3RhYmxlLT5vZmZzZXQiIHdpdGggcGFnZV9zaXpl IChSVEVfQUxJR05fRkxPT1IpLCB0aGUgdmFsdWUgb2YgInRhYmxlX3N0YXJ0IiBpcyAwLCBtbWFw KCkgd2lsbCByZXBvcnQgZXJyb3IsIGFuZCB0aGUgbWVtb3J5IG1hcHBpbmcgaXMgZmFpbGVkLg0K PiBGb3IgdGhlIGNhc2UgKHRhYmxlX3N0YXJ0IGlzIDAgYWZ0ZXIgdGhlIGFnbGlubWVudCksIG1h eSBJIGNvbnRpbnVlIGZhbGxpbmcgYmFjayB0aGUgInRhYmxlX3N0YXJ0IiB0byAiIG1zaXhfdGFi bGUtPm9mZnNldCIgKG5vdCBhbGlnbmVkIHdpdGggcGFnZSBzaXplKSwgYW5kIGxlZnQgc3lzdGVt IGFkanVzdCB0aGUgbGVuZ3RoIGF1dG9tYXRpY2FsbHk/IFRoYW5rcyENCg0KUGxlYXNlIGNvcnJl Y3QgbWUgaWYgaSdtIHdyb25nLCBidXQgdGhpcyBpcyBhIGNvZGUgcGF0aCBmb3Igd2hlbiB3ZSdy ZSB0cnlpbmcgdG8gbW1hcCBhcm91bmQgdGhlIE1TSS1YIEJBUi4gS2VybmVsIHdpbGwgbm90IGFs bG93IHVzIHRvIGRvIHRoYXQsIHBlcmlvZCwgc28gd2hhdGV2ZXIgc3RhcnQvZW5kIGFkZHJlc3Nl cyB5b3UgZ2V0LCB0aGV5ICptdXN0IG5vdCogaW5jbHVkZSBhIHNpbmdsZSBieXRlIG9mIE1TSS1Y IEJBUi4gU28sIGluIGNhc2UgbGlrZSB5b3UgZGVzY3JpYmVkLCBpIHRoaW5rIHdlIHNob3VsZCBq dXN0IHN0cmFpZ2h0IHVwIHJlZnVzZSB0aGUgbWFwIHRoZSBlbnRpcmUgQkFSLg0KDQpIb3dldmVy LCBhcyBpIGRvIG5vdCBoYXZlIGEgc3lzdGVtIHdpdGggc3VjaCBwcm9wZXJ0aWVzIHRvIHRlc3Qg b24sIHNvIHBsZWFzZSBjb3JyZWN0IG1lIGlmIGknbSB3cm9uZyBoZXJlIDopDQoNCg0KVG9uZTog SSB1bmRlcnN0YW5kIGFuZCBhZ3JlZSB3aXRoIHlvdS4gIPCfmIoNCg0KUGxlYXNlIGhhdmUgYSBs b29rIGF0IG15IHRlc3QgY2FzZS4gSW4gbXkgY2FzZSwgSSB0cmllZCB0byBiaW5kIE5WTWUgZGV2 aWNlIHdpdGggVkZJTyBkcml2ZXIgYW5kIHRoZSBrZXJuZWwgcGFnZSBzaXplIGlzIDY0S0IuIFdp dGhvdXQgdGhlIGNoYW5nZSwgdGhlIHRlc3QgaXMgZmFpbGVkLiANCg0KRnJvbSB0aGUgZGVidWcg aW5mb3JtYXRpb24sIEkgb2JzZXJ2ZWQgdGhhdCAiYmFyLT5zaXplIiBpcyAxNjM4NCwgIm1zaXhf dGFibGUtPm9mZnNldCIgaXMgODE5MiBhbmQgIm1zaXhfdGFibGUtPnNpemUiIGlzIDUxMi4gUmVn YXJkaW5nIHRoZSBwYWdlIHNpemUgaXMgbXVjaCBiaWdnZXIgdGhhbiB0aGUgImJhci0+c2l6ZSIs IGluIHRoZSBjaGFuZ2UsIHRoZSBjb2RlIG1hcHMgdGhlIGZpcnN0IDgxOTIgYnl0ZXMgYWhlYWQg b2YgTVNJLVggdGFibGUuIEFmdGVyIGFsaWduIHdpdGggdGhlIHBhZ2Ugc2l6ZSBib3VuZGFyeSwg dGhlICJzdGFydCIgb2Zmc2V0IGFmdGVyIHRoZSBNU0ktWCB0YWJsZSBpcyBvdmVyICJiYXItPnNp emUiLCBtbWFwKCkgcmVwb3J0cyBlcnJvci4gSW4gdGhpcyBjYXNlLCBJIGNhbiBvbmx5IG1hcCB0 aGUgbWVtb3J5IGJlZm9yZSB0aGUgTVNJLVggdGFibGUuIEFmdGVyIGZhbGwgYmFjayAidGFibGVf c3RhcnQiIHRvICIgbXNpeF90YWJsZS0+b2Zmc2V0ICIgKGkuZS4gODE5MiBieXRlcyksIGFuZCBO T1QgbWFwcGluZyB0aGUgbWVtb3J5IGJlaGluZCBNU0ktWCB0YWJsZSwgdGhlIE5WTWUgZGV2aWNl IGNhbiBiZSBib3VuZCB0byBWRklPIGRyaXZlciwgYW5kIHRoZSB0ZXN0IGlzIHBhc3NlZC4gVGhl IGtlcm5lbCB2ZXJzaW9uIGluIG15IHRlc3QgZW52aXJvbm1lbnQgaXMgNC4xNi4gDQoNClNvIGlu IHRoZSBjaGFuZ2UsIEkgZG8gbm90IG1hcCBhbnkgYnl0ZSBvZiBNU0ktWCB0YWJsZSwgdW5mb3J0 dW5hdGVseSBJIGNhbm5vdCBhbGlnbiB0aGUgbWVtb3J5ICJzaXplIiBpbiBtbWFwKCkgdG8gcGFn ZSBzaXplIGJvdW5kYXJ5LiBGcm9tIHRoZSB0ZXN0IHJlc3VsdCwgdGhlIGNoYW5nZSBmaXhlcyB0 aGUgZXJyb3IuIFRoZSBjYXNlIGxvb2tzIGEgbGl0dGxlIHRyaWNreS4gSWYgd2UgcmVmdXNlIHRo ZSBtZW1vcnkgbWFwIGhlcmUsIGl0IG1lYW5zIHdlIGNhbm5vdCBiaW5kIFZGSU8gZHJpdmVyIHdp dGggc29tZSBQQ0kgZGV2aWNlcyB3aXRoIDY0S0Iga2VybmVsIHBhZ2Ugc2l6ZS4gSSBob3BlIHdl IGNhbiBzdXBwb3J0IHN1Y2ggY2FzZSBpbiBEUERLLiDwn5iKDQoNCj4gDQo+IC0tDQo+IFRoYW5r cywNCj4gQW5hdG9seQ0KPiANCg0KDQotLQ0KVGhhbmtzLA0KQW5hdG9seQ0K