From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <wei.dai@intel.com>
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by dpdk.org (Postfix) with ESMTP id 00F4F28EE
 for <dev@dpdk.org>; Tue, 23 May 2017 09:26:10 +0200 (CEST)
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 23 May 2017 00:26:08 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.38,381,1491289200"; d="scan'208";a="90560533"
Received: from kmsmsx155.gar.corp.intel.com ([172.21.73.106])
 by orsmga004.jf.intel.com with ESMTP; 23 May 2017 00:26:01 -0700
Received: from pgsmsx106.gar.corp.intel.com ([169.254.9.228]) by
 KMSMSX155.gar.corp.intel.com ([169.254.15.30]) with mapi id 14.03.0319.002;
 Tue, 23 May 2017 15:24:05 +0800
From: "Dai, Wei" <wei.dai@intel.com>
To: "Roger B. Melton" <rmelton@cisco.com>, Laurent Hardy
 <laurent.hardy@6wind.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "Yigit, Ferruh" <ferruh.yigit@intel.com>, "Zhang, Helin"
 <helin.zhang@intel.com>, "Ananyev, Konstantin"
 <konstantin.ananyev@intel.com>, "olivier.matz@6wind.com"
 <olivier.matz@6wind.com>
Thread-Topic: 2nd try: problem with ixgbe_dev_link_update() for multi-speed
 fiber [was] Re: [dpdk-dev] [PATCH v4] net/ixgbe: ensure link status is
 updated
Thread-Index: AQHSv2eQ8cvohgjyJk+8QW/OlYl4rKH4HsSAgAg184CAAUYUYA==
Date: Tue, 23 May 2017 07:24:04 +0000
Message-ID: <49759EB36A64CF4892C1AFEC9231E8D650A80C16@PGSMSX106.gar.corp.intel.com>
References: <49759EB36A64CF4892C1AFEC9231E8D650A662DC@PGSMSX101.gar.corp.intel.com>
 <1493305422-10611-1-git-send-email-laurent.hardy@6wind.com>
 <1160d98e-93a7-c14c-82a9-0944a2df6e5c@cisco.com>
 <3aa30d0c-bd00-af5c-f8fa-c081e86adadb@cisco.com>
In-Reply-To: <3aa30d0c-bd00-af5c-f8fa-c081e86adadb@cisco.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiODI2ODg1ZWMtZmQ4Ni00ZTY4LWI3OGMtYzMwMTc0MWVmNDk0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IlJCVGJkdmZFbzVkejhnNFBBcnBqaXJVZ3VSaW5EekVCRVhjQUhFeSt1WnM9In0=
x-ctpclassification: CTP_IC
dlp-product: dlpe-windows
dlp-version: 10.0.102.7
dlp-reaction: no-action
x-originating-ip: [172.30.20.206]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] 2nd try: problem with ixgbe_dev_link_update() for
 multi-speed fiber [was] Re: [PATCH v4] net/ixgbe: ensure link status is
 updated
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 07:26:11 -0000

SGksIFJvZ2VyDQpTb3JyeSBmb3IgbGF0ZSByZXNwb25zZSBhcyB3ZSBhcmUgYnVzeSB3aXRoIG90
aGVyIGhpZ2hlciBwcmlvcml0eSB0YXNrLg0KaXhnYmVfc2V0dXBfbWFjX2xpbmtfbXVsdGlzcGVl
ZF9maWJlciggKSBpbiBpeGdiZV9jb21tb24uYyBjYWxscyBpeGdiZV9zZXR1cF9tYWNfbGluaygg
KSB3aGljaCBzb21lIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGl4Z2JlL2Jhc2UgLg0KV291bGQgeW91
IHBsZWFzZSBnaXZlIHVzIG1vcmUgaW5mbyB0byBuYXJyb3cgZG93biB0aGlzIGlzc3VlID8NCg0K
V2hhdCBkZXZpY2UgaWQgZGlkIHlvdSB1c2UgdG8gdHJpZ2dlciB0aGlzIGlzc3VlID8NCg0KVG8g
Z2V0IG1vcmUgaW5mbywgd291bGQgeW91IHBsZWFzZSBjaGFuZ2UgIkNPTkZJR19SVEVfTElCUlRF
X0lYR0JFX0RFQlVHX0RSSVZFUj1uIiB0byAiIENPTkZJR19SVEVfTElCUlRFX0lYR0JFX0RFQlVH
X0RSSVZFUj15IiBpbiBjb25maWcvY29tbW9uX2Jhc2UNCkFuZCBydW4geW91ciBhcHBsaWNhdGlv
biB3aXRoIEVBTCBwYXJhbWV0ZXIgLS1sb2ctbGV2ZWw9NyAgdG8gZ2V0IHRyYWNlIHBhdGggb2Yg
aXhnYmUgZnVuY3Rpb25zIGZvciB1cy4NCg0KVGhhbmtzICYgQmVzdCBSZWdhcmRzDQotV2VpDQoN
Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSb2dlciBCLiBNZWx0b24g
W21haWx0bzpybWVsdG9uQGNpc2NvLmNvbV0NCj4gU2VudDogVHVlc2RheSwgTWF5IDIzLCAyMDE3
IDI6NTQgQU0NCj4gVG86IExhdXJlbnQgSGFyZHkgPGxhdXJlbnQuaGFyZHlANndpbmQuY29tPjsg
ZGV2QGRwZGsub3JnOyBEYWksIFdlaQ0KPiA8d2VpLmRhaUBpbnRlbC5jb20+DQo+IENjOiBZaWdp
dCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgWmhhbmcsIEhlbGluDQo+IDxoZWxp
bi56aGFuZ0BpbnRlbC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+IDxrb25zdGFudGluLmFu
YW55ZXZAaW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbQ0KPiBTdWJqZWN0OiAybmQg
dHJ5OiBwcm9ibGVtIHdpdGggaXhnYmVfZGV2X2xpbmtfdXBkYXRlKCkgZm9yIG11bHRpLXNwZWVk
IGZpYmVyDQo+IFt3YXNdIFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2NF0gbmV0L2l4Z2JlOiBlbnN1
cmUgbGluayBzdGF0dXMgaXMgdXBkYXRlZA0KPiANCj4gSGkgTGF1cmVudC9XZWksDQo+IA0KPiBB
bnkgdGhvdWdodHM/DQo+IA0KPiBSZWdhcmRzLA0KPiBSb2dlcg0KPiANCj4gDQo+IE9uIDUvMTcv
MTcgOTozMSBBTSwgUm9nZXIgQiBNZWx0b24gd3JvdGU6DQo+ID4gSGkgTGF1cmVudC9XZWksDQo+
ID4NCj4gPiBBcyBJIGNvbnRpbnVlIHRvIGludGVncmF0ZSBEUERLIDE3LjA1IGludG8gbXkgYXBw
bGljYXRpb24sIEkgaGF2ZSBoaXQNCj4gPiBhbm90aGVyIGlzc3VlIHdpdGggdGhpcyBwYXRjaCB3
aGlsZSB0ZXN0aW5nIGluIGEgVk0gd2l0aCBtdWx0aXNwZWVkDQo+ID4gZmliZXIgaXhnYmUgUENJ
IHBhc3N0aHJvdWdoLiAgTXkgYXBwbGljYXRpb24gcGVyaW9kaWNhbGx5IGludm9rZXMNCj4gPiBy
dGVfZXRoX2xpbmtfZ2V0X25vd2FpdCgpIHRvIGRldGVjdCBsaW5rIHN0YXRlIGNoYW5nZXMuICBJ
ZiB0aGUgbGluaw0KPiA+IGlzIGRvd24gKG5vIGNhYmxlIG9yIGZhciBlbmQgZGlzYWJsZWQpLCBp
eGdiZV9zZXR1cF9saW5rKCkgd2lsbCBub3QNCj4gPiByZXR1cm4gZm9yIH4xLjNzZWNvbmRzIGR1
ZSB0byB0aGUgbGluayBzZXR1cCBhbGdvcml0aG0gaW4NCj4gPiBpeGdiZV9jb21tb24uYzppeGdi
ZV9tdWx0aXNwZWVkX2ZpYmVyKCk6DQo+ID4NCj4gPiArICAgIGlmICgoaW50ci0+ZmxhZ3MgJiBJ
WEdCRV9GTEFHX05FRURfTElOS19DT05GSUcpICYmDQo+ID4gKyAgICAgICAgaHctPm1hYy5vcHMu
Z2V0X21lZGlhX3R5cGUoaHcpID09IGl4Z2JlX21lZGlhX3R5cGVfZmliZXIpIHsNCj4gPiArICAg
ICAgICBzcGVlZCA9IGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkOw0KPiA+ICsgICAgICAgIGlm
ICghc3BlZWQpDQo+ID4gKyAgICAgICAgICAgIGl4Z2JlX2dldF9saW5rX2NhcGFiaWxpdGllcyho
dywgJnNwZWVkLCAmYXV0b25lZyk7DQo+ID4gKyAgICAgICAgaXhnYmVfc2V0dXBfbGluayhodywg
c3BlZWQsIHRydWUpOyArICAgIH0NCj4gPiArDQo+ID4NCj4gPiBJIGhhdmUgdHdvIHF1ZXN0aW9u
czoNCj4gPg0KPiA+ICAqIFNob3VsZG4ndCB3ZSBhdm9pZCB0aGUgbGluayBzZXR1cCBjb3N0IGlm
IHRoZSBjYWxsZXIgaGFzIHNwZWNpZmllZA0KPiA+ICAgIG5vdCB0byB3YWl0X3RvX2NvbXBsZXRl
Pw0KPiA+ICAqIElmIHRoZSBjb25jZXJuIGlzIHNwZWVkIG1heSBub3QgYmUgcHJvcGVybHkgY29u
ZmlndXJlZCwgc2hvdWxkbid0DQo+ID4gICAgdGhlIGxpbmsgc2V0dXAgYmUgZGVmZXJyZWQgdW50
aWwgc3RhdGUgY2hhbmdlcyBsaW5rIHVwIHRodXMNCj4gPiAgICBtaW5pbWl6aW5nIHRoZSBkZWxh
eXMgZW5mb3JjZWQgaW4gaXhnYmVfbXVsdGlzcGVlZF9maWJlcigpPw0KPiA+DQo+ID4NCj4gPiBS
ZWdhcmRzLA0KPiA+IC1Sb2dlcg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gT24gNC8yNy8xNyAx
MTowMyBBTSwgTGF1cmVudCBIYXJkeSB3cm90ZToNCj4gPj4gSW4gY2FzZSBvZiBmaWJlciBhbmQg
bGluayBzcGVlZCBzZXQgdG8gMUdiIGF0IHBlZXIgc2lkZSAod2l0aCBhdXRvbmVnDQo+ID4+IG9y
IHdpdGggZGVmaW5lZCBzcGVlZCksIGxpbmsgc3RhdHVzIGNvdWxkIGJlIG5vdCBwcm9wZXJseSB1
cGRhdGVkIGF0DQo+ID4+IHRpbWUgY2FibGUgaXMgcGx1Z2dlZC1pbi4NCj4gPj4gSW5kZWVkIGlm
IGNhYmxlIHdhcyBub3QgcGx1Z2dlZCB3aGVuIGRldmljZSBoYXMgYmVlbiBjb25maWd1cmVkIGFu
ZA0KPiA+PiBzdGFydGVkIHRoZW4gbGluayBzdGF0dXMgd2lsbCBub3QgYmUgdXBkYXRlZCBwcm9w
ZXJseSB3aXRoIG5ldyBzcGVlZA0KPiA+PiBhcyBubyBsaW5rIHNldHVwIHdpbGwgYmUgdHJpZ2dl
cmVkLg0KPiA+Pg0KPiA+PiBUbyBhdm9pZCB0aGlzIGlzc3VlLCBJWEdCRV9GTEFHX05FRURfTElO
S19DT05GSUcgaXMgc2V0IHRvIHRyeSBhIGxpbmsNCj4gPj4gc2V0dXAgZWFjaCB0aW1lIGxpbmtf
dXBkYXRlKCkgaXMgdHJpZ2dlcmVkIGFuZCBjdXJyZW50IGxpbmsgc3RhdHVzIGlzDQo+ID4+IGRv
d24uIFdoZW4gY2FibGUgaXMgcGx1Z2dlZC1pbiwgbGluayBzZXR1cCB3aWxsIGJlIHBlcmZvcm1l
ZCB2aWENCj4gPj4gaXhnYmVfc2V0dXBfbGluaygpLg0KPiA+Pg0KPiA+PiBTaWduZWQtb2ZmLWJ5
OiBMYXVyZW50IEhhcmR5IDxsYXVyZW50LmhhcmR5QDZ3aW5kLmNvbT4NCj4gPj4gLS0tDQo+ID4+
IEhpIFdlaSwgcGxlYXNlIGZpbmQgZW5jbG9zZWQgcGF0Y2ggdjQsIHRlc3RlZCB1c2luZyB0ZXN0
cG1kLg0KPiA+Pg0KPiA+PiB2MSAtPiB2MjoNCj4gPj4gLSByZWJhc2Ugb24gdG9wIG9mIGhlYWQg
KGNoYW5nZSBmbGFnIHRvIDE8PDQpDQo+ID4+IC0gZml4IHJlZ3Jlc3Npb24gd2l0aCBjb3BwZXIg
bGlua3M6IG9ubHkgdXBkYXRlIGxpbmsgZm9yIGZpYmVyIGxpbmtzDQo+ID4+DQo+ID4+IHYyIC0+
IHYzOg0KPiA+PiAtIHJlbW92ZSB1bm5lc2Nlc3NhcnkgY2hlY2sgb24gc3BlZWQgbWFzayBpZiBh
dXRvbmVnIGlzIGZhbHNlDQo+ID4+DQo+ID4+IHYzIC0+IHY0Og0KPiA+PiAtIHJlbW92ZSBkZWZh
dWx0IHNwZWVkIHNldCB0byAxMEdiIGlmIGF1dG9uZWcgaXMgZmFsc2UsIHJlbHkgb24NCj4gPj4g
aXhnYmVfZ2V0X2xpbmtfY2FwYWJpbGl0aWVzKCApIGluc3RlYWQuDQo+ID4+IC0tLQ0KPiA+PiAg
IGRyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jIHwgMTQgKysrKysrKysrKysrKysNCj4g
Pj4gICBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaCB8ICAxICsNCj4gPj4gICAyIGZp
bGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKykNCj4gPj4NCj4gPj4gZGlmZiAtLWdpdCBhL2Ry
aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4+IGIvZHJpdmVycy9uZXQvaXhnYmUv
aXhnYmVfZXRoZGV2LmMNCj4gPj4gaW5kZXggN2I4NTZiYi4uOGEwYzBhNyAxMDA2NDQNCj4gPj4g
LS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4gPj4gKysrIGIvZHJpdmVy
cy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4gPj4gQEAgLTM3ODIsOCArMzc4MiwxMiBAQCBp
eGdiZV9kZXZfbGlua191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ID4+IGlu
dCB3YWl0X3RvX2NvbXBsZXRlKQ0KPiA+PiAgICAgICBzdHJ1Y3QgaXhnYmVfaHcgKmh3ID0NCj4g
Pj4gSVhHQkVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+
ICAgICAgIHN0cnVjdCBydGVfZXRoX2xpbmsgbGluaywgb2xkOw0KPiA+PiAgICAgICBpeGdiZV9s
aW5rX3NwZWVkIGxpbmtfc3BlZWQgPSBJWEdCRV9MSU5LX1NQRUVEX1VOS05PV047DQo+ID4+ICsg
ICAgc3RydWN0IGl4Z2JlX2ludGVycnVwdCAqaW50ciA9DQo+ID4+ICsgSVhHQkVfREVWX1BSSVZB
VEVfVE9fSU5UUihkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCj4gPj4gICAgICAgaW50IGxpbmtf
dXA7DQo+ID4+ICAgICAgIGludCBkaWFnOw0KPiA+PiArICAgIHUzMiBzcGVlZCA9IDA7DQo+ID4+
ICsgICAgYm9vbCBhdXRvbmVnID0gZmFsc2U7DQo+ID4+ICAgICAgICAgbGluay5saW5rX3N0YXR1
cyA9IEVUSF9MSU5LX0RPV047DQo+ID4+ICAgICAgIGxpbmsubGlua19zcGVlZCA9IDA7DQo+ID4+
IEBAIC0zNzkzLDYgKzM3OTcsMTQgQEAgaXhnYmVfZGV2X2xpbmtfdXBkYXRlKHN0cnVjdCBydGVf
ZXRoX2Rldg0KPiAqZGV2LA0KPiA+PiBpbnQgd2FpdF90b19jb21wbGV0ZSkNCj4gPj4gICAgICAg
ICBody0+bWFjLmdldF9saW5rX3N0YXR1cyA9IHRydWU7DQo+ID4+ICAgKyAgICBpZiAoKGludHIt
PmZsYWdzICYgSVhHQkVfRkxBR19ORUVEX0xJTktfQ09ORklHKSAmJg0KPiA+PiArICAgICAgICBo
dy0+bWFjLm9wcy5nZXRfbWVkaWFfdHlwZShodykgPT0gaXhnYmVfbWVkaWFfdHlwZV9maWJlcikg
ew0KPiA+PiArICAgICAgICBzcGVlZCA9IGh3LT5waHkuYXV0b25lZ19hZHZlcnRpc2VkOw0KPiA+
PiArICAgICAgICBpZiAoIXNwZWVkKQ0KPiA+PiArICAgICAgICAgICAgaXhnYmVfZ2V0X2xpbmtf
Y2FwYWJpbGl0aWVzKGh3LCAmc3BlZWQsICZhdXRvbmVnKTsNCj4gPj4gKyAgICAgICAgaXhnYmVf
c2V0dXBfbGluayhodywgc3BlZWQsIHRydWUpOw0KPiA+PiArICAgIH0NCj4gPj4gKw0KPiA+PiAg
ICAgICAvKiBjaGVjayBpZiBpdCBuZWVkcyB0byB3YWl0IHRvIGNvbXBsZXRlLCBpZiBsc2MgaW50
ZXJydXB0IGlzDQo+ID4+IGVuYWJsZWQgKi8NCj4gPj4gICAgICAgaWYgKHdhaXRfdG9fY29tcGxl
dGUgPT0gMCB8fCBkZXYtPmRhdGEtPmRldl9jb25mLmludHJfY29uZi5sc2MNCj4gPj4gIT0gMCkN
Cj4gPj4gICAgICAgICAgIGRpYWcgPSBpeGdiZV9jaGVja19saW5rKGh3LCAmbGlua19zcGVlZCwg
JmxpbmtfdXAsIDApOyBAQA0KPiA+PiAtMzgxMCwxMCArMzgyMiwxMiBAQCBpeGdiZV9kZXZfbGlu
a191cGRhdGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4+IGludCB3YWl0X3RvX2NvbXBs
ZXRlKQ0KPiA+PiAgICAgICAgIGlmIChsaW5rX3VwID09IDApIHsNCj4gPj4gICAgICAgICAgIHJ0
ZV9peGdiZV9kZXZfYXRvbWljX3dyaXRlX2xpbmtfc3RhdHVzKGRldiwgJmxpbmspOw0KPiA+PiAr
ICAgICAgICBpbnRyLT5mbGFncyB8PSBJWEdCRV9GTEFHX05FRURfTElOS19DT05GSUc7DQo+ID4+
ICAgICAgICAgICBpZiAobGluay5saW5rX3N0YXR1cyA9PSBvbGQubGlua19zdGF0dXMpDQo+ID4+
ICAgICAgICAgICAgICAgcmV0dXJuIC0xOw0KPiA+PiAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4+
ICAgICAgIH0NCj4gPj4gKyAgICBpbnRyLT5mbGFncyAmPSB+SVhHQkVfRkxBR19ORUVEX0xJTktf
Q09ORklHOw0KPiA+PiAgICAgICBsaW5rLmxpbmtfc3RhdHVzID0gRVRIX0xJTktfVVA7DQo+ID4+
ICAgICAgIGxpbmsubGlua19kdXBsZXggPSBFVEhfTElOS19GVUxMX0RVUExFWDsNCj4gPj4gICBk
aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmgNCj4gPj4gYi9kcml2
ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaA0KPiA+PiBpbmRleCA1MTc2YjAyLi5iNTc2YTZm
IDEwMDY0NA0KPiA+PiAtLS0gYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaA0KPiA+
PiArKysgYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuaA0KPiA+PiBAQCAtNDUsNiAr
NDUsNyBAQA0KPiA+PiAgICNkZWZpbmUgSVhHQkVfRkxBR19NQUlMQk9YICAgICAgICAgICh1aW50
MzJfdCkoMSA8PCAxKQ0KPiA+PiAgICNkZWZpbmUgSVhHQkVfRkxBR19QSFlfSU5URVJSVVBUICAg
ICh1aW50MzJfdCkoMSA8PCAyKQ0KPiA+PiAgICNkZWZpbmUgSVhHQkVfRkxBR19NQUNTRUMgICAg
ICAgICAgICh1aW50MzJfdCkoMSA8PCAzKQ0KPiA+PiArI2RlZmluZSBJWEdCRV9GTEFHX05FRURf
TElOS19DT05GSUcgKHVpbnQzMl90KSgxIDw8IDQpDQo+ID4+ICAgICAvKg0KPiA+PiAgICAqIERl
ZmluZXMgdGhhdCB3ZXJlIG5vdCBwYXJ0IG9mIGl4Z2JlX3R5cGUuaCBhcyB0aGV5IGFyZSBub3Qg
dXNlZA0KPiA+PiBieSB0aGUNCj4gPg0KPiA+IC4NCj4gPg0KDQo=