From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id DE3382BE9 for ; Thu, 30 Nov 2017 03:37:25 +0100 (CET) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2017 18:37:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,339,1508828400"; d="scan'208";a="181818187" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga005.fm.intel.com with ESMTP; 29 Nov 2017 18:37:24 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 18:37:23 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.159]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Thu, 30 Nov 2017 10:37:22 +0800 From: "Wang, Xiao W" To: "Bie, Tiwei" CC: "dev@dpdk.org" , "yliu@fridaylinux.org" Thread-Topic: [dpdk-dev] [PATCH 2/2] net/virtio: support GUEST ANNOUNCE Thread-Index: AQHTZMus26sILOCs1UaNjcS7nwRD2KMihH0AgAmzalA= Date: Thu, 30 Nov 2017 02:37:21 +0000 Message-ID: References: <1511521440-57724-1-git-send-email-xiao.w.wang@intel.com> <1511521440-57724-3-git-send-email-xiao.w.wang@intel.com> <20171124060432.wi5mducdymweuk7u@deepin-15.5-oivbkq> In-Reply-To: <20171124060432.wi5mducdymweuk7u@deepin-15.5-oivbkq> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzhkYzE3ZGYtYjE5MC00ZjE2LTg4ZjQtNjEwYmRjNmVlOGI5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJGSVB1ZEFFZk0xd2cwbFNKYllwS1h3ZUV2b21Ga2htR05qUUNtNkJyMGZuYUplVGFEaytvUDRrbERBNnNuWlBKIn0= dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/2] net/virtio: support GUEST ANNOUNCE 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: Thu, 30 Nov 2017 02:37:26 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQmllLCBUaXdlaQ0KPiBT ZW50OiBGcmlkYXksIE5vdmVtYmVyIDI0LCAyMDE3IDI6MDUgUE0NCj4gVG86IFdhbmcsIFhpYW8g VyA8eGlhby53LndhbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyB5bGl1QGZyaWRh eWxpbnV4Lm9yZw0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggMi8yXSBuZXQvdmly dGlvOiBzdXBwb3J0IEdVRVNUIEFOTk9VTkNFDQo+IA0KPiBIaSwNCj4gDQo+IFNvbWUgcXVpY2sg Y29tbWVudHMuIFdpbGwgZ28gdGhyb3VnaCB0aGUgd2hvbGUgcGF0Y2ggbGF0ZXIuDQo+IA0KPiBP biBGcmksIE5vdiAyNCwgMjAxNyBhdCAwMzowNDowMEFNIC0wODAwLCBYaWFvIFdhbmcgd3JvdGU6 DQo+ID4gV2hlbiBsaXZlIG1pZ3JhdGlvbiBpcyBkb25lLCBmb3IgdGhlIGJhY2t1cCBWTSwgZWl0 aGVyIHRoZSB2aXJ0aW8NCj4gPiBmcm9udGVuZCBvciB0aGUgdmhvc3QgYmFja2VuZCBuZWVkcyB0 byBzZW5kIG91dCBncmF0dWl0b3VzIFJBUlAgcGFja2V0DQo+ID4gdG8gYW5ub3VuY2UgaXRzIG5l dyBuZXR3b3JrIGxvY2F0aW9uLg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBlbmFibGVzIFZJUlRJT19O RVRfRl9HVUVTVF9BTk5PVU5DRSBmZWF0dXJlIHRvIHN1cHBvcnQNCj4gbGl2ZQ0KPiA+IG1pZ3Jh dGlvbiBzY2VuYXJpbyB3aGVyZSB0aGUgdmhvc3QgYmFja2VuZCBkb2Vzbid0IGhhdmUgdGhlIGFi aWxpdHkgdG8NCj4gPiBnZW5lcmF0ZSBSQVJQIHBhY2tldC4NCj4gPg0KPiA+IEJyaWVmIGludHJv ZHVjdGlvbiBvZiB0aGUgd29yayBmbG93Og0KPiA+IDEuIFFFTVUgZmluaXNoZXMgbGl2ZSBtaWdy YXRpb24sIHBva2VzIHRoZSBiYWNrdXAgVk0gd2l0aCBhbiBpbnRlcnJ1cHQuDQo+ID4gMi4gVmly dGlvIGludGVycnVwdCBoYW5kbGVyIHJlYWRzIG91dCB0aGUgaW50ZXJydXB0IHN0YXR1cyB2YWx1 ZSwgYW5kDQo+ID4gICAgcmVhbGl6ZXMgaXQgbmVlZHMgdG8gc2VuZCBvdXQgUkFSUCBwYWNrZXQg dG8gYW5ub3VuY2UgaXRzIGxvY2F0aW9uLg0KPiA+IDMuIFBhdXNlIGRldmljZSB0byBzdG9wIHdv cmtlciB0aHJlYWQgdG91Y2hpbmcgdGhlIHF1ZXVlcy4NCj4gPiA0LiBJbmplY3QgYSBSQVJQIHBh Y2tldCBpbnRvIGEgVHggUXVldWUuDQo+ID4gNS4gQWNrIHRoZSBpbnRlcnJ1cHQgdmlhIGNvbnRy b2wgcXVldWUuDQo+ID4gNi4gUmVzdW1lIGRldmljZSB0byBjb250aW51ZSBwYWNrZXQgcHJvY2Vz c2luZy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IFhpYW8gV2FuZyA8eGlhby53LndhbmdAaW50 ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5j IHwgMTMxDQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPiAgZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuaCB8ICAgNCArKw0KPiA+ICBkcml2ZXJzL25l dC92aXJ0aW8vdmlydGlvX3BjaS5oICAgIHwgICAxICsNCj4gPiAgZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb19yeHR4LmMgICB8ICA4MSArKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICBkcml2 ZXJzL25ldC92aXJ0aW8vdmlydHF1ZXVlLmggICAgIHwgIDExICsrKysNCj4gPiAgNSBmaWxlcyBj aGFuZ2VkLCAyMjYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IGIvZHJpdmVycy9u ZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0KPiA+IGluZGV4IDE5NTliMTEuLjZlYWVhMGUgMTAw NjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0KPiA+ICsr KyBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gPiBAQCAtNDgsNiArNDgs OCBAQA0KPiA+ICAjaW5jbHVkZSA8cnRlX3BjaS5oPg0KPiA+ICAjaW5jbHVkZSA8cnRlX2J1c19w Y2kuaD4NCj4gPiAgI2luY2x1ZGUgPHJ0ZV9ldGhlci5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2lw Lmg+DQo+ID4gKyNpbmNsdWRlIDxydGVfYXJwLmg+DQo+ID4gICNpbmNsdWRlIDxydGVfY29tbW9u Lmg+DQo+ID4gICNpbmNsdWRlIDxydGVfZXJybm8uaD4NCj4gPiAgI2luY2x1ZGUgPHJ0ZV9jcHVm bGFncy5oPg0KPiA+IEBAIC01NSw2ICs1Nyw3IEBADQo+ID4gICNpbmNsdWRlIDxydGVfbWVtb3J5 Lmg+DQo+ID4gICNpbmNsdWRlIDxydGVfZWFsLmg+DQo+ID4gICNpbmNsdWRlIDxydGVfZGV2Lmg+ DQo+ID4gKyNpbmNsdWRlIDxydGVfY3ljbGVzLmg+DQo+ID4NCj4gPiAgI2luY2x1ZGUgInZpcnRp b19ldGhkZXYuaCINCj4gPiAgI2luY2x1ZGUgInZpcnRpb19wY2kuaCINCj4gPiBAQCAtMTA2LDYg KzEwOSwxMyBAQCBzdGF0aWMgaW50IHZpcnRpb19kZXZfcXVldWVfc3RhdHNfbWFwcGluZ19zZXQo DQo+ID4gIAl1aW50OF90IHN0YXRfaWR4LA0KPiA+ICAJdWludDhfdCBpc19yeCk7DQo+ID4NCj4g PiArc3RhdGljIGludCBtYWtlX3JhcnBfcGFja2V0KHN0cnVjdCBydGVfbWJ1ZiAqcmFycF9tYnVm LA0KPiA+ICsJCWNvbnN0IHN0cnVjdCBldGhlcl9hZGRyICptYWMpOw0KPiA+ICtzdGF0aWMgaW50 IHZpcnRpb19kZXZfcGF1c2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KPiA+ICtzdGF0aWMg dm9pZCB2aXJ0aW9fZGV2X3Jlc3VtZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ID4gK3N0 YXRpYyB2b2lkIGdlbmVyYXRlX3JhcnAoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpOw0KPiA+ICtz dGF0aWMgdm9pZCB2aXJ0bmV0X2Fja19saW5rX2Fubm91bmNlKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KTsNCj4gPiArDQo+ID4gIC8qDQo+ID4gICAqIFRoZSBzZXQgb2YgUENJIGRldmljZXMgdGhp cyBkcml2ZXIgc3VwcG9ydHMNCj4gPiAgICovDQo+ID4gQEAgLTEyNDksOSArMTI1OSwxMTYgQEAg c3RhdGljIGludCB2aXJ0aW9fZGV2X3hzdGF0c19nZXRfbmFtZXMoc3RydWN0DQo+IHJ0ZV9ldGhf ZGV2ICpkZXYsDQo+ID4gIAlyZXR1cm4gMDsNCj4gPiAgfQ0KPiA+DQo+ID4gKyNkZWZpbmUgUkFS UF9QS1RfU0laRQk2NA0KPiA+ICsNCj4gPiArc3RhdGljIGludA0KPiA+ICttYWtlX3JhcnBfcGFj a2V0KHN0cnVjdCBydGVfbWJ1ZiAqcmFycF9tYnVmLCBjb25zdCBzdHJ1Y3QgZXRoZXJfYWRkcg0K PiAqbWFjKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgZXRoZXJfaGRyICpldGhfaGRyOw0KPiA+ICsJ c3RydWN0IGFycF9oZHIgICpyYXJwOw0KPiA+ICsNCj4gPiArCWlmIChyYXJwX21idWYtPmJ1Zl9s ZW4gPCBSQVJQX1BLVF9TSVpFKSB7DQo+ID4gKwkJUE1EX0RSVl9MT0coRVJSLCAibWJ1ZiBzaXpl IHRvbyBzbWFsbCAldSAoPCAlZCkiLA0KPiA+ICsJCQkJcmFycF9tYnVmLT5idWZfbGVuLCBSQVJQ X1BLVF9TSVpFKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJLyog RXRoZXJuZXQgaGVhZGVyLiAqLw0KPiA+ICsJZXRoX2hkciA9IHJ0ZV9wa3RtYnVmX210b2Rfb2Zm c2V0KHJhcnBfbWJ1Ziwgc3RydWN0IGV0aGVyX2hkciAqLCAwKTsNCj4gDQo+IFlvdSBjYW4gdXNl IHJ0ZV9wa3RtYnVmX210b2QoKSBkaXJlY3RseS4NCg0KTG9va3MgYmV0dGVyLiBXaWxsIGNoYW5n ZSBpdCBpbiB2Mi4NCg0KPiANCj4gPiArCW1lbXNldChldGhfaGRyLT5kX2FkZHIuYWRkcl9ieXRl cywgMHhmZiwgRVRIRVJfQUREUl9MRU4pOw0KPiA+ICsJZXRoZXJfYWRkcl9jb3B5KG1hYywgJmV0 aF9oZHItPnNfYWRkcik7DQo+ID4gKwlldGhfaGRyLT5ldGhlcl90eXBlID0gaHRvbnMoRVRIRVJf VFlQRV9SQVJQKTsNCj4gPiArDQo+ID4gKwkvKiBSQVJQIGhlYWRlci4gKi8NCj4gPiArCXJhcnAg PSAoc3RydWN0IGFycF9oZHIgKikoZXRoX2hkciArIDEpOw0KPiA+ICsJcmFycC0+YXJwX2hyZCA9 IGh0b25zKEFSUF9IUkRfRVRIRVIpOw0KPiA+ICsJcmFycC0+YXJwX3BybyA9IGh0b25zKEVUSEVS X1RZUEVfSVB2NCk7DQo+ID4gKwlyYXJwLT5hcnBfaGxuID0gRVRIRVJfQUREUl9MRU47DQo+ID4g KwlyYXJwLT5hcnBfcGxuID0gNDsNCj4gPiArCXJhcnAtPmFycF9vcCAgPSBodG9ucyhBUlBfT1Bf UkVWUkVRVUVTVCk7DQo+ID4gKw0KPiA+ICsJZXRoZXJfYWRkcl9jb3B5KG1hYywgJnJhcnAtPmFy cF9kYXRhLmFycF9zaGEpOw0KPiA+ICsJZXRoZXJfYWRkcl9jb3B5KG1hYywgJnJhcnAtPmFycF9k YXRhLmFycF90aGEpOw0KPiA+ICsJbWVtc2V0KCZyYXJwLT5hcnBfZGF0YS5hcnBfc2lwLCAweDAw LCA0KTsNCj4gPiArCW1lbXNldCgmcmFycC0+YXJwX2RhdGEuYXJwX3RpcCwgMHgwMCwgNCk7DQo+ ID4gKw0KPiA+ICsJcmFycF9tYnVmLT5kYXRhX2xlbiA9IFJBUlBfUEtUX1NJWkU7DQo+ID4gKwly YXJwX21idWYtPnBrdF9sZW4gPSBSQVJQX1BLVF9TSVpFOw0KPiA+ICsNCj4gPiArCXJldHVybiAw Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50DQo+ID4gK3ZpcnRpb19kZXZfcGF1c2Uo c3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCB2aXJ0aW9faHcg Kmh3ID0gZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gPiArDQo+ID4gKwlpZiAoaHctPnN0YXJ0 ZWQgPT0gMCkNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwlody0+c3RhcnRlZCA9IDA7DQo+ID4g KwkvKg0KPiA+ICsJICogUHJldmVudCB0aGUgd29ya2VyIHRocmVhZCBmcm9tIHRvdWNoaW5nIHF1 ZXVlcyB0byBhdm9pZCBjb25kaXRpb24sDQo+ID4gKwkgKiAxIG1zIHNob3VsZCBiZSBlbm91Z2gg Zm9yIHRoZSBvbmdvaW5nIFR4IGZ1bmN0aW9uIHRvIGZpbmlzaC4NCj4gPiArCSAqLw0KPiA+ICsJ cnRlX2RlbGF5X21zKDEpOw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0 YXRpYyB2b2lkDQo+ID4gK3ZpcnRpb19kZXZfcmVzdW1lKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdmlydGlvX2h3ICpodyA9IGRldi0+ZGF0YS0+ZGV2X3By aXZhdGU7DQo+ID4gKw0KPiA+ICsJaHctPnN0YXJ0ZWQgPSAxOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICtzdGF0aWMgdm9pZA0KPiA+ICtnZW5lcmF0ZV9yYXJwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdmlydGlvX2h3ICpodyA9IGRldi0+ZGF0YS0+ZGV2X3By aXZhdGU7DQo+ID4gKwlzdHJ1Y3QgcnRlX21idWYgKnJhcnBfbWJ1ZiA9IE5VTEw7DQo+ID4gKwlz dHJ1Y3QgdmlydG5ldF90eCAqdHh2cSA9IGRldi0+ZGF0YS0+dHhfcXVldWVzWzBdOw0KPiA+ICsJ c3RydWN0IHZpcnRuZXRfcnggKnJ4dnEgPSBkZXYtPmRhdGEtPnJ4X3F1ZXVlc1swXTsNCj4gPiAr DQo+ID4gKwlyYXJwX21idWYgPSBydGVfbWJ1Zl9yYXdfYWxsb2Mocnh2cS0+bXBvb2wpOw0KPiA+ ICsJaWYgKHJhcnBfbWJ1ZiA9PSBOVUxMKSB7DQo+ID4gKwkJUE1EX0RSVl9MT0coRVJSLCAibWJ1 ZiBhbGxvY2F0ZSBmYWlsZWQiKTsNCj4gPiArCQlyZXR1cm47DQo+ID4gKwl9DQo+ID4gKw0KPiA+ ICsJaWYgKG1ha2VfcmFycF9wYWNrZXQocmFycF9tYnVmLCAoc3RydWN0IGV0aGVyX2FkZHIgKilo dy0+bWFjX2FkZHIpKQ0KPiB7DQo+ID4gKwkJcnRlX3BrdG1idWZfZnJlZShyYXJwX21idWYpOw0K PiA+ICsJCXJhcnBfbWJ1ZiA9IE5VTEw7DQo+ID4gKwkJcmV0dXJuOw0KPiA+ICsJfQ0KPiA+ICsN Cj4gPiArCS8qIElmIHZpcnRpbyBwb3J0IGp1c3Qgc3RvcHBlZCwgbm8gbmVlZCB0byBzZW5kIFJB UlAgKi8NCj4gPiArCWlmICh2aXJ0aW9fZGV2X3BhdXNlKGRldikgPCAtMSkNCj4gDQo+IFlvdSBt ZWFuIDwgMD8NCg0KWWVzLCB3aWxsIGZpeCBpdCBpbiB2Mi4NCg0KPiANCj4gPiArCQlyZXR1cm47 DQo+ID4gKw0KPiA+ICsJdmlydGlvX2luamVjdF9wa3RzKHR4dnEsICZyYXJwX21idWYsIDEpOw0K PiA+ICsJLyogUmVjb3ZlciB0aGUgc3RvcmVkIGh3IHN0YXR1cyB0byBsZXQgd29ya2VyIHRocmVh ZCBjb250aW51ZSAqLw0KPiA+ICsJdmlydGlvX2Rldl9yZXN1bWUoZGV2KTsNCj4gPiArfQ0KPiA+ ICsNCj4gPiArc3RhdGljIHZvaWQNCj4gPiArdmlydG5ldF9hY2tfbGlua19hbm5vdW5jZShzdHJ1 Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gPiArew0KPiA+ICsJc3RydWN0IHZpcnRpb19odyAqaHcg PSBkZXYtPmRhdGEtPmRldl9wcml2YXRlOw0KPiA+ICsJc3RydWN0IHZpcnRpb19wbWRfY3RybCBj dHJsOw0KPiA+ICsJaW50IGxlbjsNCj4gPiArDQo+ID4gKwljdHJsLmhkci5jbGFzcyA9IFZJUlRJ T19ORVRfQ1RSTF9BTk5PVU5DRTsNCj4gPiArCWN0cmwuaGRyLmNtZCA9IFZJUlRJT19ORVRfQ1RS TF9BTk5PVU5DRV9BQ0s7DQo+ID4gKwlsZW4gPSAwOw0KPiA+ICsNCj4gPiArCXZpcnRpb19zZW5k X2NvbW1hbmQoaHctPmN2cSwgJmN0cmwsICZsZW4sIDApOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAv Kg0KPiA+IC0gKiBQcm9jZXNzIFZpcnRpbyBDb25maWcgY2hhbmdlZCBpbnRlcnJ1cHQgYW5kIGNh bGwgdGhlIGNhbGxiYWNrDQo+ID4gLSAqIGlmIGxpbmsgc3RhdGUgY2hhbmdlZC4NCj4gPiArICog UHJvY2VzcyB2aXJ0aW8gY29uZmlnIGNoYW5nZWQgaW50ZXJydXB0LiBDYWxsIHRoZSBjYWxsYmFj aw0KPiA+ICsgKiBpZiBsaW5rIHN0YXRlIGNoYW5nZWQ7IGdlbmVyYXRlIGdyYXR1aXRvdXMgUkFS UCBwYWNrZXQgaWYNCj4gPiArICogdGhlIHN0YXR1cyBpbmRpY2F0ZXMgYW4gQU5OT1VOQ0UuDQo+ ID4gICAqLw0KPiA+ICB2b2lkDQo+ID4gIHZpcnRpb19pbnRlcnJ1cHRfaGFuZGxlcih2b2lkICpw YXJhbSkNCj4gPiBAQCAtMTI3NCw2ICsxMzkxLDEyIEBAIHN0YXRpYyBpbnQgdmlydGlvX2Rldl94 c3RhdHNfZ2V0X25hbWVzKHN0cnVjdA0KPiBydGVfZXRoX2RldiAqZGV2LA0KPiA+ICAJCQkJCQkg ICAgICBOVUxMLCBOVUxMKTsNCj4gPiAgCX0NCj4gPg0KPiA+ICsJaWYgKGlzciAmIFZJUlRJT19O RVRfU19BTk5PVU5DRSkgew0KPiA+ICsJCXJ0ZV9zcGlubG9ja19sb2NrKCZody0+c2wpOw0KPiA+ ICsJCWdlbmVyYXRlX3JhcnAoZGV2KTsNCj4gPiArCQl2aXJ0bmV0X2Fja19saW5rX2Fubm91bmNl KGRldik7DQo+ID4gKwkJcnRlX3NwaW5sb2NrX3VubG9jaygmaHctPnNsKTsNCj4gPiArCX0NCj4g PiAgfQ0KPiA+DQo+ID4gIC8qIHNldCByeCBhbmQgdHggaGFuZGxlcnMgYWNjb3JkaW5nIHRvIHdo YXQgaXMgc3VwcG9ydGVkICovDQo+ID4gQEAgLTE3ODYsNiArMTkwOSw4IEBAIHN0YXRpYyBpbnQg ZXRoX3ZpcnRpb19wY2lfcmVtb3ZlKHN0cnVjdA0KPiBydGVfcGNpX2RldmljZSAqcGNpX2RldikN Cj4gPiAgCQkJcmV0dXJuIC1FQlVTWTsNCj4gPiAgCQl9DQo+ID4NCj4gPiArCXJ0ZV9zcGlubG9j a19pbml0KCZody0+c2wpOw0KPiA+ICsNCj4gPiAgCWh3LT51c2Vfc2ltcGxlX3J4ID0gMTsNCj4g PiAgCWh3LT51c2Vfc2ltcGxlX3R4ID0gMTsNCj4gPg0KPiA+IEBAIC0xOTUyLDEyICsyMDc3LDE0 IEBAIHN0YXRpYyB2b2lkIHZpcnRpb19kZXZfZnJlZV9tYnVmcyhzdHJ1Y3QNCj4gcnRlX2V0aF9k ZXYgKmRldikNCj4gPg0KPiA+ICAJUE1EX0lOSVRfTE9HKERFQlVHLCAic3RvcCIpOw0KPiA+DQo+ ID4gKwlydGVfc3BpbmxvY2tfbG9jaygmaHctPnNsKTsNCj4gPiAgCWlmIChpbnRyX2NvbmYtPmxz YyB8fCBpbnRyX2NvbmYtPnJ4cSkNCj4gPiAgCQl2aXJ0aW9faW50cl9kaXNhYmxlKGRldik7DQo+ ID4NCj4gPiAgCWh3LT5zdGFydGVkID0gMDsNCj4gPiAgCW1lbXNldCgmbGluaywgMCwgc2l6ZW9m KGxpbmspKTsNCj4gPiAgCXZpcnRpb19kZXZfYXRvbWljX3dyaXRlX2xpbmtfc3RhdHVzKGRldiwg JmxpbmspOw0KPiA+ICsJcnRlX3NwaW5sb2NrX3VubG9jaygmaHctPnNsKTsNCj4gPiAgfQ0KPiA+ DQo+ID4gIHN0YXRpYyBpbnQNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3Zp cnRpb19ldGhkZXYuaA0KPiBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmgNCj4g PiBpbmRleCAyMDM5YmM1Li4yNDI3MWNiIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3Zp cnRpby92aXJ0aW9fZXRoZGV2LmgNCj4gPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlv X2V0aGRldi5oDQo+ID4gQEAgLTY3LDYgKzY3LDcgQEANCj4gPiAgCSAxdSA8PCBWSVJUSU9fTkVU X0ZfSE9TVF9UU082CSAgfAlcDQo+ID4gIAkgMXUgPDwgVklSVElPX05FVF9GX01SR19SWEJVRgkg IHwJXA0KPiA+ICAJIDF1IDw8IFZJUlRJT19ORVRfRl9NVFUJfCBcDQo+ID4gKwkgMVVMTCA8PCBW SVJUSU9fTkVUX0ZfR1VFU1RfQU5OT1VOQ0UgIHwgXA0KPiA+ICAJIDF1IDw8IFZJUlRJT19SSU5H X0ZfSU5ESVJFQ1RfREVTQyB8ICAgIFwNCj4gPiAgCSAxVUxMIDw8IFZJUlRJT19GX1ZFUlNJT05f MSAgICAgICB8CVwNCj4gPiAgCSAxVUxMIDw8IFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNKQ0KPiA+ IEBAIC0xMTEsNiArMTEyLDkgQEAgdWludDE2X3QgdmlydGlvX3JlY3ZfbWVyZ2VhYmxlX3BrdHMo dm9pZCAqcnhfcXVldWUsDQo+IHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X3BrdHMsDQo+ID4gIHVpbnQx Nl90IHZpcnRpb194bWl0X3BrdHModm9pZCAqdHhfcXVldWUsIHN0cnVjdCBydGVfbWJ1ZiAqKnR4 X3BrdHMsDQo+ID4gIAkJdWludDE2X3QgbmJfcGt0cyk7DQo+ID4NCj4gPiArdWludDE2X3Qgdmly dGlvX2luamVjdF9wa3RzKHZvaWQgKnR4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKip0eF9wa3Rz LA0KPiA+ICsJCXVpbnQxNl90IG5iX3BrdHMpOw0KPiA+ICsNCj4gPiAgdWludDE2X3QgdmlydGlv X3JlY3ZfcGt0c192ZWModm9pZCAqcnhfcXVldWUsIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X3BrdHMs DQo+ID4gIAkJdWludDE2X3QgbmJfcGt0cyk7DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvdmlydGlvL3ZpcnRpb19wY2kuaCBiL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fcGNp LmgNCj4gPiBpbmRleCAzYzVjZTY2Li4zY2QzNjdlIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fcGNpLmgNCj4gPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly dGlvX3BjaS5oDQo+ID4gQEAgLTI3MCw2ICsyNzAsNyBAQCBzdHJ1Y3QgdmlydGlvX2h3IHsNCj4g PiAgCXN0cnVjdCB2aXJ0aW9fcGNpX2NvbW1vbl9jZmcgKmNvbW1vbl9jZmc7DQo+ID4gIAlzdHJ1 Y3QgdmlydGlvX25ldF9jb25maWcgKmRldl9jZmc7DQo+ID4gIAl2b2lkCSAgICAqdmlydGlvX3Vz ZXJfZGV2Ow0KPiA+ICsJcnRlX3NwaW5sb2NrX3Qgc2w7DQo+IA0KPiBOZWVkIHRvIGFkZCBzb21l IGRldGFpbGVkIGNvbW1lbnRzIHRvIGRlc2NyaWJlIHdoYXQncw0KPiBwcm90ZWN0ZWQgYnkgdGhp cyBsb2NrLg0KDQpXaXRoIHRoaXMgZmVhdHVyZSwgdGhlIGh3LT5zdGFydGVkIGZsYWcgY2FuIGJl IGNoYW5nZWQgYnkgdHdvIHRocmVhZHM6DQpBcHAgbWFuYWdlbWVudCB0aHJlYWQgYW5kIHRoZSBp bnRlcnJ1cHQgaGFuZGxlciB0aHJlYWQuDQpUaGlzIGxvY2sgY2FuIHByZXZlbnQgc3VjaCBhIGNh c2U6DQoNCjEuIFdoZW4gTE0gaXMgZG9uZSwgY29uZmlnIGNoYW5nZSBpbnRlcnJ1cHQgdHJpZ2dl cmVkLCB0aGUgaGFuZGxlciBwYXVzZSB0aGUgZGV2aWNlLiBody0+c3RhcnRlZCAgPSAwOw0KMi4g YXBwIHN0b3BzIHZpcnRpbyBwb3J0LiBIdy0+c3RhcnRlZCA9IDA7DQozLiBSQVJQIGluamVjdGVk IGluIFR4IHF1ZXVlLCBhY2sgc2VudCBpbiBDb250cm9sIHF1ZXVlLCByZXN1bWUgZGV2aWNlLiBo dy0+c3RhcnRlZCA9IDE7IChidXQgdGhlIHBvcnQgaXMgc3RvcHBlZCBhbHJlYWR5KQ0KDQo+IA0K PiA+DQo+ID4gIAlzdHJ1Y3QgdmlydHF1ZXVlICoqdnFzOw0KPiA+ICB9Ow0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHguYyBiL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fcnh0eC5jDQo+ID4gaW5kZXggNmEyNGZkZS4uNzMxM2JkZCAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHguYw0KPiA+ICsrKyBiL2RyaXZlcnMv bmV0L3ZpcnRpby92aXJ0aW9fcnh0eC5jDQo+ID4gQEAgLTExMDAsMyArMTEwMCw4NCBAQA0KPiA+ DQo+ID4gIAlyZXR1cm4gbmJfdHg7DQo+ID4gIH0NCj4gPiArDQo+ID4gK3VpbnQxNl90DQo+ID4g K3ZpcnRpb19pbmplY3RfcGt0cyh2b2lkICp0eF9xdWV1ZSwgc3RydWN0IHJ0ZV9tYnVmICoqdHhf cGt0cywgdWludDE2X3QNCj4gbmJfcGt0cykNCj4gPiArew0KPiA+ICsJc3RydWN0IHZpcnRuZXRf dHggKnR4dnEgPSB0eF9xdWV1ZTsNCj4gPiArCXN0cnVjdCB2aXJ0cXVldWUgKnZxID0gdHh2cS0+ dnE7DQo+ID4gKwlzdHJ1Y3QgdmlydGlvX2h3ICpodyA9IHZxLT5odzsNCj4gPiArCXVpbnQxNl90 IGhkcl9zaXplID0gaHctPnZ0bmV0X2hkcl9zaXplOw0KPiA+ICsJdWludDE2X3QgbmJfdXNlZCwg bmJfdHggPSAwOw0KPiA+ICsNCj4gPiArCWlmICh1bmxpa2VseShuYl9wa3RzIDwgMSkpDQo+ID4g KwkJcmV0dXJuIG5iX3BrdHM7DQo+ID4gKw0KPiA+ICsJUE1EX1RYX0xPRyhERUJVRywgIiVkIHBh Y2tldHMgdG8geG1pdCIsIG5iX3BrdHMpOw0KPiA+ICsJbmJfdXNlZCA9IFZJUlRRVUVVRV9OVVNF RCh2cSk7DQo+ID4gKw0KPiA+ICsJdmlydGlvX3JtYigpOw0KPiA+ICsJaWYgKGxpa2VseShuYl91 c2VkID4gdnEtPnZxX25lbnRyaWVzIC0gdnEtPnZxX2ZyZWVfdGhyZXNoKSkNCj4gPiArCQl2aXJ0 aW9feG1pdF9jbGVhbnVwKHZxLCBuYl91c2VkKTsNCj4gPiArDQo+ID4gKwlmb3IgKG5iX3R4ID0g MDsgbmJfdHggPCBuYl9wa3RzOyBuYl90eCsrKSB7DQo+ID4gKwkJc3RydWN0IHJ0ZV9tYnVmICp0 eG0gPSB0eF9wa3RzW25iX3R4XTsNCj4gPiArCQlpbnQgY2FuX3B1c2ggPSAwLCB1c2VfaW5kaXJl Y3QgPSAwLCBzbG90cywgbmVlZDsNCj4gPiArDQo+ID4gKwkJLyogb3B0aW1pemUgcmluZyB1c2Fn ZSAqLw0KPiA+ICsJCWlmICgodnRwY2lfd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fRl9BTllfTEFZ T1VUKSB8fA0KPiA+ICsJCQkJCXZ0cGNpX3dpdGhfZmVhdHVyZShodywNCj4gVklSVElPX0ZfVkVS U0lPTl8xKSkgJiYNCj4gPiArCQkJcnRlX21idWZfcmVmY250X3JlYWQodHhtKSA9PSAxICYmDQo+ ID4gKwkJCVJURV9NQlVGX0RJUkVDVCh0eG0pICYmDQo+ID4gKwkJCXR4bS0+bmJfc2VncyA9PSAx ICYmDQo+ID4gKwkJCXJ0ZV9wa3RtYnVmX2hlYWRyb29tKHR4bSkgPj0gaGRyX3NpemUgJiYNCj4g PiArCQkJcnRlX2lzX2FsaWduZWQocnRlX3BrdG1idWZfbXRvZCh0eG0sIGNoYXIgKiksDQo+ID4g KwkJCQlfX2FsaWdub2ZfXyhzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmKSkpDQo+ID4g KwkJCWNhbl9wdXNoID0gMTsNCj4gPiArCQllbHNlIGlmICh2dHBjaV93aXRoX2ZlYXR1cmUoaHcs DQo+IFZJUlRJT19SSU5HX0ZfSU5ESVJFQ1RfREVTQykgJiYNCj4gPiArCQkJIHR4bS0+bmJfc2Vn cyA8IFZJUlRJT19NQVhfVFhfSU5ESVJFQ1QpDQo+ID4gKwkJCXVzZV9pbmRpcmVjdCA9IDE7DQo+ ID4gKw0KPiA+ICsJCS8qIEhvdyBtYW55IG1haW4gcmluZyBlbnRyaWVzIGFyZSBuZWVkZWQgdG8g dGhpcyBUeD8NCj4gPiArCQkgKiBhbnlfbGF5b3V0ID0+IG51bWJlciBvZiBzZWdtZW50cw0KPiA+ ICsJCSAqIGluZGlyZWN0ICAgPT4gMQ0KPiA+ICsJCSAqIGRlZmF1bHQgICAgPT4gbnVtYmVyIG9m IHNlZ21lbnRzICsgMQ0KPiA+ICsJCSAqLw0KPiA+ICsJCXNsb3RzID0gdXNlX2luZGlyZWN0ID8g MSA6ICh0eG0tPm5iX3NlZ3MgKyAhY2FuX3B1c2gpOw0KPiA+ICsJCW5lZWQgPSBzbG90cyAtIHZx LT52cV9mcmVlX2NudDsNCj4gPiArDQo+ID4gKwkJLyogUG9zaXRpdmUgdmFsdWUgaW5kaWNhdGVz IGl0IG5lZWQgZnJlZSB2cmluZyBkZXNjcmlwdG9ycyAqLw0KPiA+ICsJCWlmICh1bmxpa2VseShu ZWVkID4gMCkpIHsNCj4gPiArCQkJbmJfdXNlZCA9IFZJUlRRVUVVRV9OVVNFRCh2cSk7DQo+ID4g KwkJCXZpcnRpb19ybWIoKTsNCj4gPiArCQkJbmVlZCA9IFJURV9NSU4obmVlZCwgKGludCluYl91 c2VkKTsNCj4gPiArDQo+ID4gKwkJCXZpcnRpb194bWl0X2NsZWFudXAodnEsIG5lZWQpOw0KPiA+ ICsJCQluZWVkID0gc2xvdHMgLSB2cS0+dnFfZnJlZV9jbnQ7DQo+ID4gKwkJCWlmICh1bmxpa2Vs eShuZWVkID4gMCkpIHsNCj4gPiArCQkJCVBNRF9UWF9MT0coRVJSLA0KPiA+ICsJCQkJCQkiTm8g ZnJlZSB0eCBkZXNjcmlwdG9ycyB0bw0KPiB0cmFuc21pdCIpOw0KPiA+ICsJCQkJYnJlYWs7DQo+ ID4gKwkJCX0NCj4gPiArCQl9DQo+ID4gKw0KPiA+ICsJCS8qIEVucXVldWUgUGFja2V0IGJ1ZmZl cnMgKi8NCj4gPiArCQl2aXJ0cXVldWVfZW5xdWV1ZV94bWl0KHR4dnEsIHR4bSwgc2xvdHMsIHVz ZV9pbmRpcmVjdCwNCj4gY2FuX3B1c2gpOw0KPiA+ICsNCj4gPiArCQl0eHZxLT5zdGF0cy5ieXRl cyArPSB0eG0tPnBrdF9sZW47DQo+ID4gKwkJdmlydGlvX3VwZGF0ZV9wYWNrZXRfc3RhdHMoJnR4 dnEtPnN0YXRzLCB0eG0pOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXR4dnEtPnN0YXRzLnBhY2tl dHMgKz0gbmJfdHg7DQo+ID4gKw0KPiA+ICsJaWYgKGxpa2VseShuYl90eCkpIHsNCj4gPiArCQl2 cV91cGRhdGVfYXZhaWxfaWR4KHZxKTsNCj4gPiArDQo+ID4gKwkJaWYgKHVubGlrZWx5KHZpcnRx dWV1ZV9raWNrX3ByZXBhcmUodnEpKSkgew0KPiA+ICsJCQl2aXJ0cXVldWVfbm90aWZ5KHZxKTsN Cj4gPiArCQkJUE1EX1RYX0xPRyhERUJVRywgIk5vdGlmaWVkIGJhY2tlbmQgYWZ0ZXIgeG1pdCIp Ow0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXR1cm4gbmJfdHg7DQo+ID4gK30N Cj4gDQo+IFdoYXQncyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHZpcnRpb19pbmplY3RfcGt0cygp IGFuZA0KPiB2aXJ0aW9feG1pdF9wa3RzKCkgZXhjZXB0IHRoZSBsYXR0ZXIgd2lsbCBjaGVjayBo dy0+c3RhcnRlZD8NCg0KTm8gdmxhbiB0YWcgaW5zZXJ0aW9uLg0KQWN0dWFsbHkgdGhleSBhcmUg Ym90aCB1c2luZyB2aXJ0cXVldWVfZW5xdWV1ZV94bWl0KCkgdG8gZW5xdWV1ZSBwYWNrZXQuDQoN ClRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4NClhpYW8NCg==