From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] blkif: add indirect descriptors interface to public headers Date: Thu, 14 Nov 2013 11:57:35 -0500 Message-ID: <321d02cc-cb0c-42e7-95af-160e75d43751@email.android.com> References: <1384252612-22573-1-git-send-email-roger.pau@citrix.com> <9AAE0902D5BC7E449B7C8E4E778ABCD017021D@AMSPEX01CL01.citrite.net> <20131112142254.GC9306@phenom.dumpdata.com> <1384266541.10204.14.camel@kazak.uk.xensource.com> <9AAE0902D5BC7E449B7C8E4E778ABCD0170550@AMSPEX01CL01.citrite.net> <1384334807.5406.3.camel@kazak.uk.xensource.com> <9AAE0902D5BC7E449B7C8E4E778ABCD017132F@AMSPEX01CL01.citrite.net> <1384341067.5406.70.camel@kazak.uk.xensource.com> <9AAE0902D5BC7E449B7C8E4E778ABCD0171489@AMSPEX01CL01.citrite.net> <5284A092.6090902@citrix.com> <9AAE0902D5BC7E449B7C8E4E778ABCD0172BBD@AMSPEX01CL01.citrite.net> <5284A57F.7080104@citrix.com> <9AAE0902D5BC7E449B7C8E4E778ABCD0172C90@AMSPEX01CL01.citrite.net> <9AAE0902D5BC7E449B7C8E4E778ABCD0173CBF@AMSPEX01CL01.citrite.net> <9AAE0902D5BC7E449B7C8E4E778ABCD0173D96@AMSPEX01CL01.citrite.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Vh0Eq-0003Xw-FR for xen-devel@lists.xenproject.org; Thu, 14 Nov 2013 16:57:52 +0000 In-Reply-To: <9AAE0902D5BC7E449B7C8E4E778ABCD0173D96@AMSPEX01CL01.citrite.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Paul Durrant , Roger Pau Monne , Ian Campbell Cc: "xen-devel@lists.xenproject.org" , "Keir (Xen.org)" , Jan Beulich List-Id: xen-devel@lists.xenproject.org UGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4gd3JvdGU6Cj4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEtvbnJhZCBSemVzenV0ZWsgV2lsayBbbWFpbHRv OmtvbnJhZC53aWxrQG9yYWNsZS5jb21dCj4+IFNlbnQ6IDE0IE5vdmVtYmVyIDIwMTMgMTY6MzQK Pj4gVG86IFBhdWwgRHVycmFudDsgUm9nZXIgUGF1IE1vbm5lOyBJYW4gQ2FtcGJlbGwKPj4gQ2M6 IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgS2VpciAoWGVuLm9yZyk7IEphbiBCZXVs aWNoCj4+IFN1YmplY3Q6IFJFOiBbWGVuLWRldmVsXSBbUEFUQ0hdIGJsa2lmOiBhZGQgaW5kaXJl Y3QgZGVzY3JpcHRvcnMKPmludGVyZmFjZSB0bwo+PiBwdWJsaWMgaGVhZGVycwo+PiAKPj4gUGF1 bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4gd3JvdGU6Cj4+ID4+IC0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tCj4+ID4+IEZyb206IEtvbnJhZCBSemVzenV0ZWsgV2lsayBbbWFp bHRvOmtvbnJhZC53aWxrQG9yYWNsZS5jb21dCj4+ID4+IFNlbnQ6IDE0IE5vdmVtYmVyIDIwMTMg MTY6MjQKPj4gPj4gVG86IFBhdWwgRHVycmFudDsgUm9nZXIgUGF1IE1vbm5lOyBJYW4gQ2FtcGJl bGwKPj4gPj4gQ2M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgS2VpciAoWGVuLm9y Zyk7IEphbiBCZXVsaWNoCj4+ID4+IFN1YmplY3Q6IFJFOiBbWGVuLWRldmVsXSBbUEFUQ0hdIGJs a2lmOiBhZGQgaW5kaXJlY3QgZGVzY3JpcHRvcnMKPj4gPmludGVyZmFjZSB0bwo+PiA+PiBwdWJs aWMgaGVhZGVycwo+PiA+Pgo+PiA+PiBQYXVsIER1cnJhbnQgPFBhdWwuRHVycmFudEBjaXRyaXgu Y29tPiB3cm90ZToKPj4gPj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gPj4gPj4g RnJvbTogUm9nZXIgUGF1IE1vbm7DqSBbbWFpbHRvOnJvZ2VyLnBhdUBjaXRyaXguY29tXQo+PiA+ PiA+PiBTZW50OiAxNCBOb3ZlbWJlciAyMDEzIDEwOjI3Cj4+ID4+ID4+IFRvOiBQYXVsIER1cnJh bnQ7IElhbiBDYW1wYmVsbAo+PiA+PiA+PiBDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrOyB4ZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IEtlaXIKPj4gPj4gPihYZW4ub3JnKTsKPj4gPj4g Pj4gSmFuIEJldWxpY2gKPj4gPj4gPj4gU3ViamVjdDogUmU6IFtYZW4tZGV2ZWxdIFtQQVRDSF0g YmxraWY6IGFkZCBpbmRpcmVjdAo+ZGVzY3JpcHRvcnMKPj4gPj4gPmludGVyZmFjZSB0bwo+PiA+ PiA+PiBwdWJsaWMgaGVhZGVycwo+PiA+PiA+Pgo+PiA+PiA+PiBPbiAxNC8xMS8xMyAxMToxNCwg UGF1bCBEdXJyYW50IHdyb3RlOgo+PiA+PiA+PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+PiA+PiA+PiA+PiBGcm9tOiBSb2dlciBQYXUgTW9ubsOpIFttYWlsdG86cm9nZXIucGF1QGNp dHJpeC5jb21dCj4+ID4+ID4+ID4+IFNlbnQ6IDE0IE5vdmVtYmVyIDIwMTMgMTA6MDYKPj4gPj4g Pj4gPj4gVG86IFBhdWwgRHVycmFudDsgSWFuIENhbXBiZWxsCj4+ID4+ID4+ID4+IENjOiBLb25y YWQgUnplc3p1dGVrIFdpbGs7IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsKPktlaXIK Pj4gPj4gPj4gKFhlbi5vcmcpOwo+PiA+PiA+PiA+PiBKYW4gQmV1bGljaAo+PiA+PiA+PiA+PiBT dWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENIXSBibGtpZjogYWRkIGluZGlyZWN0Cj4+ID5k ZXNjcmlwdG9ycwo+PiA+PiA+aW50ZXJmYWNlCj4+ID4+ID4+IHRvCj4+ID4+ID4+ID4+IHB1Ymxp YyBoZWFkZXJzCj4+ID4+ID4+ID4+Cj4+ID4+ID4+ID4+IE9uIDEzLzExLzEzIDEyOjI0LCBQYXVs IER1cnJhbnQgd3JvdGU6Cj4+ID4+ID4+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0K Pj4gPj4gPj4gPj4+PiBGcm9tOiBJYW4gQ2FtcGJlbGwKPj4gPj4gPj4gPj4+PiBTZW50OiAxMyBO b3ZlbWJlciAyMDEzIDExOjExCj4+ID4+ID4+ID4+Pj4gVG86IFBhdWwgRHVycmFudAo+PiA+PiA+ PiA+Pj4+IENjOiBLb25yYWQgUnplc3p1dGVrIFdpbGs7IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZzsKPj4gPktlaXIKPj4gPj4gPj4gPj4gKFhlbi5vcmcpOwo+PiA+PiA+PiA+Pj4+IEph biBCZXVsaWNoOyBSb2dlciBQYXUgTW9ubmUKPj4gPj4gPj4gPj4+PiBTdWJqZWN0OiBSZTogW1hl bi1kZXZlbF0gW1BBVENIXSBibGtpZjogYWRkIGluZGlyZWN0Cj4+ID5kZXNjcmlwdG9ycwo+PiA+ PiA+PiBpbnRlcmZhY2UKPj4gPj4gPj4gPj4gdG8KPj4gPj4gPj4gPj4+PiBwdWJsaWMgaGVhZGVy cwo+PiA+PiA+PiA+Pj4+Cj4+ID4+ID4+ID4+Pj4gT24gV2VkLCAyMDEzLTExLTEzIGF0IDExOjA3 ICswMDAwLCBQYXVsIER1cnJhbnQgd3JvdGU6Cj4+ID4+ID4+ID4+Pj4+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQo+PiA+PiA+PiA+Pj4+Pj4gRnJvbTogSWFuIENhbXBiZWxsCj4+ID4+ID4+ ID4+Pj4+PiBTZW50OiAxMyBOb3ZlbWJlciAyMDEzIDA5OjI3Cj4+ID4+ID4+ID4+Pj4+PiBUbzog UGF1bCBEdXJyYW50Cj4+ID4+ID4+ID4+Pj4+PiBDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrOwo+ eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOwo+PiA+PiA+S2Vpcgo+PiA+PiA+PiA+Pj4+ IChYZW4ub3JnKTsKPj4gPj4gPj4gPj4+Pj4+IEphbiBCZXVsaWNoOyBSb2dlciBQYXUgTW9ubmUK Pj4gPj4gPj4gPj4+Pj4+IFN1YmplY3Q6IFJlOiBbWGVuLWRldmVsXSBbUEFUQ0hdIGJsa2lmOiBh ZGQgaW5kaXJlY3QKPj4gPj4gPmRlc2NyaXB0b3JzCj4+ID4+ID4+ID4+IGludGVyZmFjZQo+PiA+ PiA+PiA+Pj4+IHRvCj4+ID4+ID4+ID4+Pj4+PiBwdWJsaWMgaGVhZGVycwo+PiA+PiA+PiA+Pj4+ Pj4KPj4gPj4gPj4gPj4+Pj4+IE9uIFR1ZSwgMjAxMy0xMS0xMiBhdCAxNToxNiArMDAwMCwgUGF1 bCBEdXJyYW50IHdyb3RlOgo+PiA+PiA+PiA+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQo+PiA+PiA+PiA+Pj4+Pj4+PiBGcm9tOiBJYW4gQ2FtcGJlbGwKPj4gPj4gPj4gPj4+Pj4+ Pj4gU2VudDogMTIgTm92ZW1iZXIgMjAxMyAxNDoyOQo+PiA+PiA+PiA+Pj4+Pj4+PiBUbzogS29u cmFkIFJ6ZXN6dXRlayBXaWxrCj4+ID4+ID4+ID4+Pj4+Pj4+IENjOiBQYXVsIER1cnJhbnQ7IHhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsgS2Vpcgo+PiA+PiA+KFhlbi5vcmcpOwo+PiA+ PiA+PiBKYW4KPj4gPj4gPj4gPj4+Pj4+IEJldWxpY2g7Cj4+ID4+ID4+ID4+Pj4+Pj4+IFJvZ2Vy IFBhdSBNb25uZQo+PiA+PiA+PiA+Pj4+Pj4+PiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BB VENIXSBibGtpZjogYWRkIGluZGlyZWN0Cj4+ID4+ID5kZXNjcmlwdG9ycwo+PiA+PiA+PiA+Pj4+ IGludGVyZmFjZQo+PiA+PiA+PiA+Pj4+Pj4gdG8KPj4gPj4gPj4gPj4+Pj4+Pj4gcHVibGljIGhl YWRlcnMKPj4gPj4gPj4gPj4+Pj4+Pj4KPj4gPj4gPj4gPj4+Pj4+Pj4gT24gVHVlLCAyMDEzLTEx LTEyIGF0IDA5OjIyIC0wNTAwLCBLb25yYWQgUnplc3p1dGVrCj5XaWxrCj4+ID4+ID53cm90ZToK Pj4gPj4gPj4gPj4+Pj4+Pj4KPj4gPj4gPj4gPj4+Pj4+Pj4+Pj4gK3N0cnVjdCBibGtpZl9yZXF1 ZXN0X2luZGlyZWN0IHsKPj4gPj4gPj4gPj4+Pj4+Pj4+Pj4gKyAgICB1aW50OF90ICAgICAgICBv cGVyYXRpb247ICAgIC8qCj5CTEtJRl9PUF9JTkRJUkVDVAo+PiA+PiA+ICAgICAgICAgICAgICAg ICovCj4+ID4+ID4+ID4+Pj4+Pj4+Pj4+ICsgICAgdWludDhfdCAgICAgICAgaW5kaXJlY3Rfb3A7 ICAvKgo+PiA+PiA+QkxLSUZfT1Bfe1JFQUQvV1JJVEV9Cj4+ID4+ID4+ID4+Pj4gKi8KPj4gPj4g Pj4gPj4+Pj4+Pj4+Pj4gKyAgICB1aW50MTZfdCAgICAgICBucl9zZWdtZW50czsgIC8qIG51bWJl ciBvZgo+PiA+c2VnbWVudHMKPj4gPj4gPj4gPj4+PiAqLwo+PiA+PiA+PiA+Pj4+Pj4+Pj4+Cj4+ ID4+ID4+ID4+Pj4+Pj4+Pj4gVGhpcyBpcyBnb2luZyB0byBiZSBhIHByb2JsZW0uIFdoYXQgYWxp Z25tZW50Cj5ib3VuZGFyeQo+PiA+YXJlCj4+ID4+ID55b3UKPj4gPj4gPj4gPj4+Pj4+Pj4+IGV4 cGVjdGluZyB0aGUgbmV4dCBmaWVsZCB0byBzdGFydCBvbj8gQUZBSUsgMzItYml0Cj5nY2MKPj4g PndpbGwKPj4gPj4gPjQtYnl0ZQo+PiA+PiA+PiA+Pj4+Pj4+Pj4gYWxpZ24gaXQsIDMyLWJpdCBN U1ZDIHdpbGwgOC1ieXRlIGFsaWduIGl0Lgo+PiA+PiA+PiA+Pj4+Pj4+Pj4+Cj4+ID4+ID4+ID4+ Pj4+Pj4+Pgo+PiA+PiA+PiA+Pj4+Pj4+Pj4gT2ggbm8uIEkgdGhvdWdodCB0aGF0IHRoZSBMaW51 eCBvbmUgaGFkIHRoaXMgc2V0Cj4+ID5jb3JyZWN0bHksCj4+ID4+ID5haCBpdAo+PiA+PiA+PiBk aWQ6Cj4+ID4+ID4+ID4+Pj4+Pj4+Pgo+PiA+PiA+PiA+Pj4+Pj4+Pj4KPj4gPj4gPj4gPj4+Pj4+ Pj4+IHN0cnVjdCBibGtpZl9yZXF1ZXN0X2luZGlyZWN0IHsKPj4gPj4gPj4gPj4+Pj4+Pj4+IFsu Li5dCj4+ID4+ID4+ID4+Pj4+Pj4+PiB9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKPj4g Pj4gPj4gPj4+Pj4+Pj4KPj4gPj4gPj4gPj4+Pj4+Pj4gVGhhdCBhdHRyaWJ1dGUgcGFja2VkIGlz bid0IGFsbG93ZWQgaW4gdGhlIHB1YmxpYwo+PiA+aW50ZXJmYWNlCj4+ID4+ID5oZWFkZXJzLgo+ PiA+PiA+PiA+Pj4+Pj4+Pgo+PiA+PiA+PiA+Pj4+Pj4+PiBTaW5jZSBjb21waWxlcnMgZG8gZGlm ZmVyIGluIHRoZWlyIHBhY2tpbmcsIGFuZCBndWVzdHMKPj4gPm1heQo+PiA+PiA+YmUgdXNpbmcK Pj4gPj4gPj4gPj4+Pj4+Pj4gdmFyaW91cyBwcmFnbWFzLCBpdCBtaWdodCBiZSB1c2VmdWwgdG8g d3JpdGUgZG93biB0aGF0Cj4+ID5mb3IKPj4gPj4gPng4Ngo+PiA+PiA+PiB0aGVzZQo+PiA+PiA+ PiA+Pj4+Pj4+PiBoZWFkZXJzIGFyZSB0byBiZSB0cmVhdGVkIGFzIHVzaW5nIHRoZSA8V0hBVEVW RVI+IEFCSQo+PiA+KGdjYz8KPj4gPj4gPj4gU29tZQo+PiA+PiA+PiA+Pj4+IEludGVsCj4+ID4+ ID4+ID4+Pj4+Pj4+IHN0YW5kYXJkPykuCj4+ID4+ID4+ID4+Pj4+Pj4+Cj4+ID4+ID4+ID4+Pj4+ Pj4KPj4gPj4gPj4gPj4+Pj4+PiBDYW4gd2UgZ28gZm9yIHR5cGVzIGFsaWduZWQgb24gdGhlaXIg c2l6ZSB0aGVuIHJhdGhlcgo+dGhhbgo+PiA+PiA+Z2NjCj4+ID4+ID4+ID4+Pj4gYnJva2VubmVz cy4KPj4gPj4gPj4gPj4+Pj4+Cj4+ID4+ID4+ID4+Pj4+PiBXZSBzaG91bGQgZ28gZm9yIHNvbWUg ZXhpc3Rpbmcgd2VsbCBkZWZpbmVkIEFCSSBzcGVjIG5vdAo+PiA+bWFrZQo+PiA+PiA+dXAKPj4g Pj4gPj4gb3VyCj4+ID4+ID4+ID4+Pj4+PiBvd24uCj4+ID4+ID4+ID4+Pj4+Pgo+PiA+PiA+PiA+ Pj4+Pj4gSW4gZWZmZWN0IHRoZSB4ODYgQUJJIGhhcyBoaXN0b3JpY2FsbHkgYmVlbiBkZS1mYWN0 bwo+PiA+c3BlY2lmaWVkCj4+ID4+ID5hcyB0aGUKPj4gPj4gPj4gPj4+Pj4+IGdjYyBBQkkuCj4+ ID4+ID4+ID4+Pj4+Pgo+PiA+PiA+PiA+Pj4+Pgo+PiA+PiA+PiA+Pj4+PiBTaW5jZSB0aGUgbGlu dXggaGVhZGVycyBzZWVtIHRvIGhhcmRjb2RlIHRoZSB4NjQgQUJJIGZvcgo+PiA+dGhpcwo+PiA+ PiA+c3RydWN0LAo+PiA+PiA+PiA+Pj4+PiBkbyB3ZSBuZWVkIHRvIHN1cHBvcnQgYW4geDg2IHZh cmlhbnQ/IEFmdGVyIGFsbCB0aGVyZSdzCj5ubwo+PiA+PiA+YmFja3dhcmRzCj4+ID4+ID4+ID4+ Pj4+IGNvbXBhdGliaWxpdHkgaXNzdWUgaGVyZS4KPj4gPj4gPj4gPj4+Pgo+PiA+PiA+PiA+Pj4+ IEkgYW0gdGFsa2luZyBhYm91dCB0aGUgZ2VuZXJhbCBjYXNlIGZvciBhbGwKPj4gPnhlbi9pbmNs dWRlL3B1YmxpYwo+PiA+PiA+aGVhZGVycywKPj4gPj4gPj4gPj4+PiBub3QgdGhlc2Ugc3RydWN0 cyBzcGVjaWZpY2FsbHkuCj4+ID4+ID4+ID4+Pj4KPj4gPj4gPj4gPj4+Cj4+ID4+ID4+ID4+PiBB aCBvay4gVGhlbiB5ZXMgSSBndWVzcyB0aGUgeDg2IGdjYyBBQkkgaGFzIHRvIGJlIHRoZQo+ZGVm YXVsdC4KPj4gPj4gPj4gPj4+Cj4+ID4+ID4+ID4+Pj4gVGhlcmUgc2hvdWxkIGJlIGEgd2VsbCBz cGVjaWZpZWQgZGVmYXVsdCBmb3IgdGhlIHN0cnVjdAo+PiA+bGF5b3V0Lgo+PiA+PiA+SWYKPj4g Pj4gPj4gPj4+PiBwYXJ0aWN1bGFyIHN0cnVjdHMgZGl2ZXJnZSBmcm9tIHRoaXMgKGFuZCBiZWlu ZyBjb25zaXN0ZW50Cj4+ID4+ID5hY3Jvc3MgMzItCj4+ID4+ID4+ID4+Pj4gYW5kIDY0LWJpdCBp cyBhIGdvb2QgcmVhc29uIHRvIGRvIHNvKSB0aGVuIHN1aXRhYmxlCj5wYWRkaW5nCj4+ID5hbmQK Pj4gPj4gPnBlcmhhcHMKPj4gPj4gPj4gPj4+PiAjaWZkZWZzIG1pZ2h0IGJlIG5lZWRlZC4KPj4g Pj4gPj4gPj4+Pgo+PiA+PiA+PiA+Pj4KPj4gPj4gPj4gPj4+IFllcywgYWdyZWVkLiBUaGlzIHBh dGNoIHRoZXJlZm9yZSBuZWVkcyB0byBiZSBmaXhlZC4KPj4gPj4gPj4gPj4KPj4gPj4gPj4gPj4g SSBkb24ndCB1bmRlcnN0YW5kIHdoeSBvciBob3cgdGhpcyBwYXRjaCBzaG91bGQgYmUgZml4ZWQs Cj50aGUKPj4gPkFCSQo+PiA+PiA+b2YKPj4gPj4gPj4gPj4gdGhpcyBuZXcgc3RydWN0dXJlcyBp cyBkZWZpbmVkIGJ5IHRoZSB3YXkgZ2NjIGdlbmVyYXRlcyBpdCdzCj4+ID4+ID5sYXlvdXQKPj4g Pj4gPj4gPj4gKGRpZmZlcmVudCBvbiBpMzg2IG9yIGFtZDY0KSwgaXQncyBub3QgcHJldHR5LCBi dXQgaXQncyBob3cKPnRoZQo+PiA+PiA+YmxraWYKPj4gPj4gPj4gPj4gcHJvdG9jb2wgaXMgZGVm aW5lZC4gRG9pbmcgc29tZXRoaW5nIGRpZmZlcmVudCBub3cganVzdCBmb3IKPj4gPnN0cnVjdAo+ PiA+PiA+PiA+PiBibGtpZl9yZXF1ZXN0X2luZGlyZWN0IHNlZW1zIGV2ZW4gd29yc2UuCj4+ID4+ ID4+ID4KPj4gPj4gPj4gPiBJIGRvbid0IHNlZSB3aGVyZSBpdCdzIGRlZmluZWQgdGhhdCB0aGUg cHJvdG9jb2wgYWx3YXlzIHVzZXMKPnRoZQo+PiA+PiA+Z2NjIEFCST8KPj4gPj4gPj4gQW5kIGlm IHRoYXQncyB0aGUgY2FzZSB0aGVuIHdoeSB0aGUgbmVlZCBmb3IKPj4gPj4gPl9fYXR0cmlidXRl X18oKF9fcGFja2VkX18pKSBhbGwKPj4gPj4gPj4gb3ZlciB0aGUgbGludXggaGVhZGVyPwo+PiA+ PiA+Pgo+PiA+PiA+PiBBRkFJSyB0aGVyZSdzIG5vIG5lZWQgZm9yIGFsbCB0aGUgX19hdHRyaWJ1 dGVfXygoX19wYWNrZWRfXykpCj5pbgo+PiA+PiA+TGludXgKPj4gPj4gPj4gYmxraWYuaCBoZWFk ZXIsIGJ1dCBpdCdzIExpbnV4IGNvcHkgb2YgdGhlIGhlYWRlciwgc28gaXQncwo+PiA+YXJndWFi bHkKPj4gPj4gPnRoYXQKPj4gPj4gPj4gTGludXggY2FuIGRlZmluZSB0aG9zZSBhcyB3YW50ZWQs IGFzIGxvbmcgYXMgdGhleSBoYXZlIHRoZSBzYW1lCj4+ID4+ID5sYXlvdXQKPj4gPj4gPj4gYXMg dGhlIG9uZSBnZW5lcmF0ZWQgYnkgYSBwcmlzdGluZSBjb3B5IG9mIGJsa2lmLmggZnJvbSB0aGUg WGVuCj4+ID50cmVlCj4+ID4+ID4oYXMKPj4gPj4gPj4gaXQgaXMgbm93KS4KPj4gPj4gPj4KPj4g Pj4gPj4gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpIHNob3VsZCBvbmx5IGJlIG5lZWRlZCBp biBibGtiYWNrIGluCj4+ID5vcmRlcgo+PiA+PiA+dG8KPj4gPj4gPj4gZGVmaW5lIHRoZSBpMzg2 IGFuZCBhbWQ2NCB2ZXJzaW9uIG9mIHRob3NlIHN0cnVjdHVyZXMgYW5kCj5oYW5kbGUKPj4gPj4g Pj4gY29ycmVjdGx5IHJlcXVlc3RzIGZyb20gYW4gaTM4NiBEb21VIG9uIGFuIGFtZDY0IERvbTAg Zm9yCj5leGFtcGxlLgo+PiA+PiA+Cj4+ID4+ID5ZZXMsIGFncmVlZC4gU28gY2FuIHdlIGhhdmUg YSBjb21tZW50IGluIHRoZSBwYXRjaCBzdGF0aW5nIHRoZQo+QUJJCj4+ID5hbmQKPj4gPj4gPnRo ZSBmYWN0IHRoYXQgaXQncyBkaWZmZXJlbnQgaW4geDg2IGFuZCB4NjQgYnVpbGRzIGFuZCBoZW5j ZQo+PiA+ZnJvbnRlbmRzCj4+ID4+ID5uZWVkIHRvIGJlIGNhcmVmdWwgYWJvdXQgY29ycmVjdGx5 IHNldHRpbmcgdGhlIHhlbnN0b3JlIGtleT8KPj4gPj4KPj4gPj4gVGhyIGxheW91dCBhbmQgc2l6 ZSBvZiB0aGUgc3RydWN0dXJlIHNob3VsZCBiZSB0aGUgc2FtZSBzaXplIG9uIDMyCj4+ID5hbmQg NjQgYml0Cj4+ID4+IGJ1aWxkcy4KPj4gPj4KPj4gPgo+PiA+QXMgdGhlIGhlYWRlciBzdGFuZHMs IHRoYXQgaXMgbm90IHRydWUuCj4+IAo+PiBXaGljaCBvbmU/IFRoZSBvbmUgaW4gTGludXggb3Ig dGhlIG5vbi1leGlzdGluZyBvbmUgaW4gWGVuIHJlcG8gZm9yCj53aGljaAo+PiB0aGlzIHBhdGNo IHdhcyBhZGRpbmc/Cj4+IAo+PiBJZiBpdCBpcyB0aGUgTGludXggb25lIHdoaWNoIG9mIHRoZSBm aWVsZHMgaXMgIG1lc3NlZCB1cD8gVGhlIHdob2xlCj5zdHJ1Y3QKPj4gKGluY2x1ZGluZyB0aGUg ZXh0cmEgdWludDggY21kKSBzaG91bGQgYmUgZXhhY3RseSA2NCBieXRlcy4KPj4gCj4+IEkgYW0g cHJldHR5IHN1cmUgd2UgZG91YmxlIGNoZWNrZWQgdGhhdC4KPgo+SG93IGNhbiB0aGlzIHBvc3Np Ymx5IGJlIHRoZSBzYW1lIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQgYnVpbGRzCj4odW5sZXNz IENPTkZJR19YODZfNjQgaXMgZGVmaW5lZCBpbiBib3RoIGNhc2VzKT8gQW5kIHRoZSBmYWN0IHRo YXQKPm5yX3NlZ21lbnRzIHdvbid0IGJlIG5hdHVyYWxseSBhbGlnbmVkIGlzIHByZXR0eSBiYWQg dG9vLgo+Cj5zdHJ1Y3QgYmxraWZfcmVxdWVzdF9pbmRpcmVjdCB7Cj4gICAgICAgIHVpbnQ4X3Qg ICAgICAgIGluZGlyZWN0X29wOwo+ICAgICAgICB1aW50MTZfdCAgICAgICBucl9zZWdtZW50czsK PiNpZmRlZiBDT05GSUdfWDg2XzY0Cj51aW50MzJfdCAgICAgICBfcGFkMTsgICAgICAgIC8qIG9m ZnNldG9mKGJsa2lmXy4uLix1LmluZGlyZWN0LmlkKSA9PSA4Cj4qLwo+I2VuZGlmCj4gICAgICAg IHVpbnQ2NF90ICAgICAgIGlkOwo+ICAgICAgICBibGtpZl9zZWN0b3JfdCBzZWN0b3JfbnVtYmVy Owo+ICAgICAgICBibGtpZl92ZGV2X3QgICBoYW5kbGU7Cj4gICAgICAgIHVpbnQxNl90ICAgICAg IF9wYWQyOwo+ICAgZ3JhbnRfcmVmX3QgICAgaW5kaXJlY3RfZ3JlZnNbQkxLSUZfTUFYX0lORElS RUNUX1BBR0VTX1BFUl9SRVFVRVNUXTsKPiNpZmRlZiBDT05GSUdfWDg2XzY0Cj4gICAgICAgIHVp bnQzMl90ICAgICAgX3BhZDM7ICAgICAgICAgLyogbWFrZSBpdCA2NCBieXRlIGFsaWduZWQgKi8K PiNlbHNlCj4gICAgICAgIHVpbnQ2NF90ICAgICAgX3BhZDM7ICAgICAgICAgLyogbWFrZSBpdCA2 NCBieXRlIGFsaWduZWQgKi8KPiNlbmRpZgo+fSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7 Cj4KPgo+ICBQYXVsCj4KPj4gPgo+PiA+ICBQYXVsCj4+ID4KPj4gPj4gSSBkb24ndCB1bmRlcnN0 YW5kIHdoYXQgdGhlIHhlbnN0b3JlIGtleSBoYXMgdG8gZG8gd2l0aCB0aGlzPwo+PiA+PiA+Cj4+ ID4+ID4gIFBhdWwKPj4gPj4KPj4gCgpJIG11c3QgYmUgcmVhbGx5IHRoaWNrIGhlcmUgYnV0IEkg YW0gbm90IHNlZWluZyBpdC4gQ291bGQgeW91IGV4cGxhaW4gdG8gbWUgZXhhY3RseSB3aHkgd2Ug d291bGQgbm90IGdldCB0aGUgc2FtZSBzaXplPwoKUGxlYXNlIGtlZXAgaW4gbWlucyB0aGF0IHRo ZXJlIGlzIGFuIGV4dHJhIHVpbnQ4X3QgdGFja2VkIG9uIHRoZSBzdGFydCBvZiB0aGlzIChhcyB0 aGlzIGlzIHBhcnQgb2YgYW5vdGhlciBzdHJ1Y3QpLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK