From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v3 04/15] argo: init, destroy and soft-reset, with enable command line opt Date: Mon, 14 Jan 2019 14:58:40 +0000 Message-ID: <90a21420-9f9f-7a8f-32e5-b00e3e3bd1d0@citrix.com> References: <1546846968-7372-1-git-send-email-christopher.w.clark@gmail.com> <1546846968-7372-5-git-send-email-christopher.w.clark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gj3hO-00075j-Kq for xen-devel@lists.xenproject.org; Mon, 14 Jan 2019 14:58:46 +0000 In-Reply-To: <1546846968-7372-5-git-send-email-christopher.w.clark@gmail.com> Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Christopher Clark , xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Ross Philipson , Konrad Rzeszutek Wilk , George Dunlap , Tim Deegan , Jason Andryuk , Ian Jackson , Rich Persaud , James McKenzie , Daniel Smith , Julien Grall , Paul Durrant , Jan Beulich , Eric Chanudet , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org T24gMDcvMDEvMjAxOSAwNzo0MiwgQ2hyaXN0b3BoZXIgQ2xhcmsgd3JvdGU6Cj4gSW5pdGlhbGlz ZXMgYmFzaWMgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBwZXJmb3JtcyB0ZWFyZG93biBvZiBhcmdvIHN0 YXRlCj4gZm9yIGRvbWFpbiBzaHV0ZG93bi4KPgo+IEluY2x1c2lvbiBvZiB0aGUgQXJnbyBpbXBs ZW1lbnRhdGlvbiBpcyBkZXBlbmRlbnQgb24gQ09ORklHX0FSR08uCj4KPiBJbnRyb2R1Y2VzIGEg bmV3IFhlbiBjb21tYW5kIGxpbmUgcGFyYW1ldGVyICdhcmdvJzogYm9vbCB0byBlbmFibGUvZGlz YWJsZQo+IHRoZSBhcmdvIGh5cGVyY2FsbC4gRGVmYXVsdHMgdG8gZGlzYWJsZWQuCj4KPiBOZXcg aGVhZGVyczoKPiAgIHB1YmxpYy9hcmdvLmg6IHdpdGggZGVmaW5pb25zIG9mIGFkZHJlc3NlcyBh bmQgcmluZyBzdHJ1Y3R1cmUsIGluY2x1ZGluZwo+ICAgaW5kZXhlcyBmb3IgYXRvbWljIHVwZGF0 ZSBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGRvbWFpbiBhbmQgaHlwZXJ2aXNvci4KPgo+ICAg eGVuL2FyZ28uaDogdG8gZXhwb3NlIHRoZSBob29rcyBmb3IgaW50ZWdyYXRpb24gaW50byBkb21h aW4gbGlmZWN5Y2xlOgo+ICAgICBhcmdvX2luaXQ6IHBlci1kb21haW4gaW5pdCBvZiBhcmdvIGRh dGEgc3RydWN0dXJlcyBmb3IgZG9tYWluX2NyZWF0ZS4KPiAgICAgYXJnb19kZXN0cm95OiB0ZWFy ZG93biBmb3IgZG9tYWluX2Rlc3Ryb3kgYW5kIHRoZSBlcnJvciBleGl0Cj4gICAgICAgICAgICAg ICAgICAgcGF0aCBvZiBkb21haW5fY3JlYXRlLgo+ICAgICBhcmdvX3NvZnRfcmVzZXQ6IHJlc2V0 IG9mIGRvbWFpbiBzdGF0ZSBmb3IgZG9tYWluX3NvZnRfcmVzZXQuCj4KPiBBZGRzIHR3byBuZXcg ZmllbGRzIHRvIHN0cnVjdCBkb21haW46Cj4gICAgIHJ3bG9ja190IGFyZ29fbG9jazsKPiAgICAg c3RydWN0IGFyZ29fZG9tYWluICphcmdvOwo+Cj4gSW4gYWNjb3JkYW5jZSB3aXRoIHJlY2VudCB3 b3JrIG9uIF9kb21haW5fZGVzdHJveSwgYXJnb19kZXN0cm95IGlzCj4gaWRlbXBvdGVudC4gSXQg d2lsbCB0ZWFyIGRvd246IGFsbCByaW5ncyByZWdpc3RlcmVkIGJ5IHRoaXMgZG9tYWluLCBhbGwK PiByaW5ncyB3aGVyZSB0aGlzIGRvbWFpbiBpcyB0aGUgc2luZ2xlIHNlbmRlciAoaWUuIHNwZWNp ZmllZCBwYXJ0bmVyLAo+IG5vbi13aWxkY2FyZCByaW5ncyksIGFuZCBhbGwgcGVuZGluZyBub3Rp ZmljYXRpb25zIHdoZXJlIHRoaXMgZG9tYWluIGlzCj4gYXdhaXRpbmcgc2lnbmFsIGFib3V0IGF2 YWlsYWJsZSBzcGFjZSBpbiB0aGUgcmluZ3Mgb2Ygb3RoZXIgZG9tYWlucy4KPgo+IEEgY291bnQg d2lsbCBiZSBtYWludGFpbmVkIG9mIHRoZSBudW1iZXIgb2YgcmluZ3MgdGhhdCBhIGRvbWFpbiBo YXMKPiByZWdpc3RlcmVkIGluIG9yZGVyIHRvIGxpbWl0IGl0IGJlbG93IHRoZSBmaXhlZCBtYXhp bXVtIGxpbWl0IGRlZmluZWQgaGVyZS4KPgo+IFRoZSBzb2Z0d2FyZSBsaWNlbnNlIG9uIHRoZSBw dWJsaWMgaGVhZGVyIGlzIHRoZSBCU0QgbGljZW5zZSwgc3RhbmRhcmQKPiBwcm9jZWR1cmUgZm9y IHRoZSBwdWJsaWMgWGVuIGhlYWRlcnMuIFRoZSBwdWJsaWMgaGVhZGVyIHdhcyBvcmlnaW5hbGx5 Cj4gcG9zdGVkIHVuZGVyIGEgR1BMIGxpY2Vuc2UgYXQ6IFsxXToKPiBodHRwczovL2xpc3RzLnhl bnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTMtMDUvbXNnMDI3MTAuaHRt bAo+Cj4gVGhlIGZvbGxvd2luZyBBQ0sgYnkgTGFycyBLdXJ0aCBpcyB0byBjb25maXJtIHRoYXQg b25seSBwZW9wbGUgYmVpbmcKPiBlbXBsb3llZXMgb2YgQ2l0cml4IGNvbnRyaWJ1dGVkIHRvIHRo ZSBoZWFkZXIgZmlsZXMgaW4gdGhlIHNlcmllcyBwb3N0ZWQgYXQKPiBbMV0gYW5kIHRoYXQgdGh1 cyB0aGUgY29weXJpZ2h0IG9mIHRoZSBmaWxlcyBpbiBxdWVzdGlvbiBpcyBmdWxseSBvd25lZCBi eQo+IENpdHJpeC4gVGhlIEFDSyBhbHNvIGNvbmZpcm1zIHRoYXQgQ2l0cml4IGlzIGhhcHB5IGZv ciB0aGUgaGVhZGVyIGZpbGVzIHRvCj4gYmUgcHVibGlzaGVkIHVuZGVyIGEgQlNEIGxpY2Vuc2Ug aW4gdGhpcyBzZXJpZXMgKHdoaWNoIGlzIGJhc2VkIG9uIFsxXSkuCj4KPiBTaWduZWQtb2ZmLWJ5 OiBDaHJpc3RvcGhlciBDbGFyayA8Y2hyaXN0b3BoZXIuY2xhcms2QGJhZXN5c3RlbXMuY29tPgo+ IEFja2VkLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+CgpJIGhvcGUgSSd2 ZSBub3QgdHJvZGRlbiBvbiB0aGUgdG9lcyBvZiBhbnkgb3RoZXIgcmV2aWV3cy7CoCBJJ3ZlIGdv dCBzb21lCm1pbm9yIHJlcXVlc3RzLCBidXQgaG9wZWZ1bGx5IGl0cyBhbGwgZmFpcmx5IHRyaXZp YWwuCgo+IGRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MgYi9k b2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKPiBpbmRleCBhNzU1YTY3Li5hZWExM2Vi IDEwMDY0NAo+IC0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwo+ICsrKyBi L2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwo+IEBAIC0xODIsNiArMTgyLDE3IEBA IFBlcm1pdCBYZW4gdG8gdXNlICJBbHdheXMgUnVubmluZyBBUElDIFRpbWVyIiBzdXBwb3J0IG9u IGNvbXBhdGlibGUgaGFyZHdhcmUKPiAgaW4gY29tYmluYXRpb24gd2l0aCBjcHVpZGxlLiAgVGhp cyBvcHRpb24gaXMgb25seSBleHBlY3RlZCB0byBiZSB1c2VmdWwgZm9yCj4gIGRldmVsb3BlcnMg d2lzaGluZyBYZW4gdG8gZmFsbCBiYWNrIHRvIG9sZGVyIHRpbWluZyBtZXRob2RzIG9uIG5ld2Vy IGhhcmR3YXJlLgo+ICAKPiArIyMjIGFyZ28KPiArPiBgPSA8Ym9vbGVhbj5gCj4gKwo+ICs+IERl ZmF1bHQ6IGBmYWxzZWAKPiArCj4gK0VuYWJsZSB0aGUgQXJnbyBoeXBlcnZpc29yLW1lZGlhdGVk IGludGVyZG9tYWluIGNvbW11bmljYXRpb24gbWVjaGFuaXNtLgo+ICsKPiArVGhpcyBhbGxvd3Mg ZG9tYWlucyBhY2Nlc3MgdG8gdGhlIEFyZ28gaHlwZXJjYWxsLCB3aGljaCBzdXBwb3J0cyByZWdp c3RyYXRpb24KPiArb2YgbWVtb3J5IHJpbmdzIHdpdGggdGhlIGh5cGVydmlzb3IgdG8gcmVjZWl2 ZSBtZXNzYWdlcywgc2VuZGluZyBtZXNzYWdlcyB0bwo+ICtvdGhlciBkb21haW5zIGJ5IGh5cGVy Y2FsbCBhbmQgcXVlcnlpbmcgdGhlIHJpbmcgc3RhdHVzIG9mIG90aGVyIGRvbWFpbnMuCgpQbGVh c2UgZG8gaW5jbHVkZSBhIG5vdGUgYWJvdXQgQ09ORklHX0FSR08uwqAgSSBrbm93IHRoaXMgZG9j IGlzCmluY29uc2lzdGVudCBvbiB0aGUgbWF0dGVyIChhcyBLY29uZmlnIHBvc3RkYXRlcyB0aGUg d3JpdHRlbiBlbnRyaWVzCmhlcmUpLCBidXQgSSBoYXZlIGJlZW4gdHJ5aW5nIHRvIGZpeCB1cCwg YW5kIG5vdyBhYm91dCBoYWxmIG9mIHRoZQpkb2N1bWVudGF0aW9uIGRvZXMgbWVudGlvbiBhcHBy b3ByaWF0ZSBLY29uZmlnIGluZm9ybWF0aW9uLgoKPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9h cmdvLmMgYi94ZW4vY29tbW9uL2FyZ28uYwo+IGluZGV4IDZmNzgyZjcuLjg2MTk1ZDMgMTAwNjQ0 Cj4gLS0tIGEveGVuL2NvbW1vbi9hcmdvLmMKPiArKysgYi94ZW4vY29tbW9uL2FyZ28uYwo+ICBs b25nCj4gIGRvX2FyZ29fb3AodW5zaWduZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJB TSh2b2lkKSBhcmcxLAoKSSBrbm93IEknbSBjb21tZW50aW5nIG9uIHRoZSB3cm9uZyBwYXRjaCwg YnV0IHBsZWFzZSB1c2UgdW5zaWduZWQgbG9uZwpjbWQsIHNvIHRoZSB0eXBlIGRlZmluaXRpb24g aGVyZSBkb2Vzbid0IHRydW5jYXRlIHRoZSBjYWxsZXIgcHJvdmlkZWQKdmFsdWUuwqAgV2UgaGF2 ZSBzaW1pbGFyIGJ1Z2d5IGNvZGUgYWxsIG92ZXIgWGVuLCBidXQgaXRzIHRvbyBsYXRlIHRvIGZp eAp0aGF0LCBhbmQgSSdkIHByZWZlciBub3QgdG8gcHJvcGFnYXRlIHRoZSBlcnJvci4KCj4gICAg ICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcyLCB1bnNpZ25lZCBsb25n IGFyZzMsCj4gICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBhcmc0KQo+ICB7Cj4gLSAgICByZXR1 cm4gLUVOT1NZUzsKPiArICAgIHN0cnVjdCBkb21haW4gKmN1cnJkID0gY3VycmVudC0+ZG9tYWlu Owo+ICsgICAgbG9uZyByYyA9IC1FRkFVTFQ7Cj4gKwo+ICsgICAgYXJnb19kcHJpbnRrKCItPmRv X2FyZ29fb3AoJXUsJXAsJXAsJWQsJWQpXG4iLCBjbWQsCj4gKyAgICAgICAgICAgICAgICAgKHZv aWQgKilhcmcxLnAsICh2b2lkICopYXJnMi5wLCAoaW50KSBhcmczLCAoaW50KSBhcmc0KTsKCkZv ciBkZWJ1Z2dpbmcgcHVycG9zZXMsIHlvdSBkb24ndCB3YW50IHRvIHRydW5jYXRlIGFueSBvZiB0 aGVzZSB2YWx1ZXMsCm9yIHlvdSdsbCBoYXZlIGEgcHJpbnQgbWVzc2FnZSB3aGljaCBkb2Vzbid0 IG1hdGNoIHdoYXQgdGhlIGd1ZXN0CnByb3ZpZGVkLsKgIEknZCB1c2UgJWxkIGZvciBhcmczIGFu ZCBhcmc0LgoKPiArCj4gKyAgICBpZiAoIHVubGlrZWx5KCFvcHRfYXJnb19lbmFibGVkKSApCj4g KyAgICB7Cj4gKyAgICAgICAgcmMgPSAtRU9QTk9UU1VQUDsKClNob3VsZG4ndCB0aGlzIGJlIEVO T1NZUyBpbnN0ZWFkP8KgIFRoZXJlIGlzbid0IGEgY29uY2VwdHVhbCBkaWZmZXJlbmNlCmJldHdl ZW4gQ09ORklHX0FSR08gY29tcGlsZWQgb3V0LCBhbmQgb3B0X2FyZ28gY2xlYXIgb24gdGhlIGNv bW1hbmQKbGluZSwgYW5kIEkgZG9uJ3QgdGhpbmsgYSBndWVzdCBzaG91bGQgYmUgYWJsZSB0byB0 ZWxsIHRoZSBkaWZmZXJlbmNlLgoKPiArICAgICAgICByZXR1cm4gcmM7Cj4gKyAgICB9Cj4gKwo+ ICsgICAgZG9tYWluX2xvY2soY3VycmQpOwo+ICsKPiArICAgIHN3aXRjaCAoY21kKQo+ICsgICAg ewo+ICsgICAgZGVmYXVsdDoKPiArICAgICAgICByYyA9IC1FT1BOT1RTVVBQOwo+ICsgICAgICAg IGJyZWFrOwo+ICsgICAgfQo+ICsKPiArICAgIGRvbWFpbl91bmxvY2soY3VycmQpOwo+ICsKPiAr ICAgIGFyZ29fZHByaW50aygiPC1kb19hcmdvX29wKCV1KT0lbGRcbiIsIGNtZCwgcmMpOwo+ICsK PiArICAgIHJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArYXJnb19kb21haW5f aW5pdChzdHJ1Y3QgYXJnb19kb21haW4gKmFyZ28pCj4gK3sKPiArICAgIHVuc2lnbmVkIGludCBp Owo+ICsKPiArICAgIHJ3bG9ja19pbml0KCZhcmdvLT5sb2NrKTsKPiArICAgIHNwaW5fbG9ja19p bml0KCZhcmdvLT5zZW5kX2xvY2spOwo+ICsgICAgc3Bpbl9sb2NrX2luaXQoJmFyZ28tPndpbGRj YXJkX2xvY2spOwo+ICsgICAgYXJnby0+cmluZ19jb3VudCA9IDA7Cj4gKwo+ICsgICAgZm9yICgg aSA9IDA7IGkgPCBBUkdPX0hUQUJMRV9TSVpFOyArK2kgKQo+ICsgICAgewo+ICsgICAgICAgIElO SVRfSExJU1RfSEVBRCgmYXJnby0+cmluZ19oYXNoW2ldKTsKPiArICAgICAgICBJTklUX0hMSVNU X0hFQUQoJmFyZ28tPnNlbmRfaGFzaFtpXSk7Cj4gKyAgICB9Cj4gKyAgICBJTklUX0hMSVNUX0hF QUQoJmFyZ28tPndpbGRjYXJkX3BlbmRfbGlzdCk7Cj4gK30KPiArCj4gK2ludAo+ICthcmdvX2lu aXQoc3RydWN0IGRvbWFpbiAqZCkKCkFyZSB0aGVyZSBhbnkgcGVyLXZjcHUgYXJnbyByZXNvdXJj ZXM/wqAgSSBkb24ndCBzZWUgYW55IGluIHRoZSBzZXJpZXMsCmJ1dCBJJ2QgYmUgdGVtcHRlZCB0 byBuYW1lIHRoZSBleHRlcm5hbCBmdW5jdGlvbnMgYXMKYXJnb19kb21haW5fe2luaXQsZGVzdHJv eX0oKSB3aGljaCBpcyBzbGlnaHRseSBjbGVhcmVyIGluIHRoZSBjYWxsZXIKY29udGV4dC4KCj4g K3sKPiArICAgIHN0cnVjdCBhcmdvX2RvbWFpbiAqYXJnbzsKPiArCj4gKyAgICBpZiAoICFvcHRf YXJnb19lbmFibGVkICkKPiArICAgIHsKPiArICAgICAgICBhcmdvX2RwcmludGsoImFyZ28gZGlz YWJsZWQsIGRvbWlkOiAlZFxuIiwgZC0+ZG9tYWluX2lkKTsKPiArICAgICAgICByZXR1cm4gMDsK PiArICAgIH0KPiArCj4gKyAgICBhcmdvX2RwcmludGsoImluaXQ6IGRvbWlkOiAlZFxuIiwgZC0+ ZG9tYWluX2lkKTsKPiArCj4gKyAgICBhcmdvID0geG1hbGxvYyhzdHJ1Y3QgYXJnb19kb21haW4p OwoKRm9yIHNhbml0eSBzYWtlLCBJJ2Qgc3VnZ2VzdCB4emFsbG9jKCkgaGVyZSwgbm90IHRoYXQg SSBjYW4gc3BvdAphbnl0aGluZyB3cm9uZyB3aXRoIHRoZSBjdXJyZW50IGNvZGUuCgo+ICsgICAg aWYgKCAhYXJnbyApCj4gKyAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsgICAgd3JpdGVf bG9jaygmYXJnb19sb2NrKTsKPiArCj4gKyAgICBhcmdvX2RvbWFpbl9pbml0KGFyZ28pOwoKVGhp cyBjYWxsIGRvZXNuJ3QgbmVlZCB0byBiZSB3aXRoaW4gdGhlIGdsb2JhbCBhcmdvX2xvY2sgY3Jp dGljYWwKcmVnaW9uLCBiZWNhdXNlIGl0IGV4Y2x1c2l2ZWx5IG9wZXJhdGVzIG9uIHN0YXRlIHdo aWNoIGlzIGluYWNjZXNzaWJsZQp0byB0aGUgcmVzdCBvZiB0aGUgc3lzdGVtIHVudGlsIGQtPmFy Z28gaXMgd3JpdHRlbi7CoCBUaGlzIHRoZW4gc2hyaW5rcwp0aGUgY3JpdGljYWwgcmVnaW9uIHRv IGEgc2luZ2xlIHBvaW50ZXIgd3JpdGUuwqAgKEZ1cnRoZXIsIHdpdGggYSBwYXRjaCBJCmhhdmVu J3QgcG9zdGVkIHlldCwgdGhlIG1lbXNldCgwKSBpbiB6eGFsbG9jKCkgY2FuIGJlIHdyaXRlLW1l cmdlZCB3aXRoCnRoZSBzZXR1cCBjb2RlIHRvIGF2b2lkIHJlcGVhdGVkIHdyaXRlcywgd2hpY2gg Y2FuJ3QgaGFwcGVuIHdpdGggYQpzcGlubG9jayBpbiBiZXR3ZWVuLikKCj4gKwo+ICsgICAgZC0+ YXJnbyA9IGFyZ287Cj4gKwo+ICsgICAgd3JpdGVfdW5sb2NrKCZhcmdvX2xvY2spOwo+ICsKPiAr ICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkCj4gK2FyZ29fZGVzdHJveShzdHJ1Y3QgZG9t YWluICpkKQoKSXMgdGhpcyBmdW5jdGlvbiBmdWxseSBpZGVtcG90ZW50P8KgIEdpdmVuIGl0cyBj dXJyZW50IGNhbGxpbmcgY29udGV4dCwKaXQgbmVlZHMgdG8gYmUuwqAgKEkgdGhpbmsgaXQgaXMs IGJ1dCBJIGp1c3Qgd2FudCB0byBkb3VibGUgY2hlY2ssCmJlY2F1c2UgaXQgZGVmaW5pdGVseSB3 YW50cyB0byBiZS4pCgpJIGFzaywgYmVjYXVzZS4uLgoKPiArewo+ICsgICAgQlVHX09OKCFkLT5p c19keWluZyk7Cj4gKwo+ICsgICAgd3JpdGVfbG9jaygmYXJnb19sb2NrKTsKPiArCj4gKyAgICBh cmdvX2RwcmludGsoImRlc3Ryb3k6IGRvbWlkICVkIGQtPmFyZ289JXBcbiIsIGQtPmRvbWFpbl9p ZCwgZC0+YXJnbyk7Cj4gKwo+ICsgICAgaWYgKCBkLT5hcmdvICkKPiArICAgIHsKPiArICAgICAg ICBkb21haW5fcmluZ3NfcmVtb3ZlX2FsbChkKTsKPiArICAgICAgICBwYXJ0bmVyX3JpbmdzX3Jl bW92ZShkKTsKPiArICAgICAgICB3aWxkY2FyZF9yaW5nc19wZW5kaW5nX3JlbW92ZShkKTsKPiAr ICAgICAgICB4ZnJlZShkLT5hcmdvKTsKPiArICAgICAgICBkLT5hcmdvID0gTlVMTDsKPiArICAg IH0KPiArICAgIHdyaXRlX3VubG9jaygmYXJnb19sb2NrKTsKPiArfQo+ICsKPiArdm9pZAo+ICth cmdvX3NvZnRfcmVzZXQoc3RydWN0IGRvbWFpbiAqZCkKPiArewo+ICsgICAgd3JpdGVfbG9jaygm YXJnb19sb2NrKTsKPiArCj4gKyAgICBhcmdvX2RwcmludGsoInNvZnQgcmVzZXQgZD0lZCBkLT5h cmdvPSVwXG4iLCBkLT5kb21haW5faWQsIGQtPmFyZ28pOwo+ICsKPiArICAgIGlmICggZC0+YXJn byApCj4gKyAgICB7Cj4gKyAgICAgICAgZG9tYWluX3JpbmdzX3JlbW92ZV9hbGwoZCk7Cj4gKyAg ICAgICAgcGFydG5lcl9yaW5nc19yZW1vdmUoZCk7Cj4gKyAgICAgICAgd2lsZGNhcmRfcmluZ3Nf cGVuZGluZ19yZW1vdmUoZCk7Cj4gKwo+ICsgICAgICAgIGlmICggIW9wdF9hcmdvX2VuYWJsZWQg KQo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgeGZyZWUoZC0+YXJnbyk7Cj4gKyAgICAgICAg ICAgIGQtPmFyZ28gPSBOVUxMOwo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlCj4gKyAgICAg ICAgICAgIGFyZ29fZG9tYWluX2luaXQoZC0+YXJnbyk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgd3Jp dGVfdW5sb2NrKCZhcmdvX2xvY2spOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9t YWluLmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jCj4gaW5kZXggYzYyM2RhZS4uOTU5Njg0MCAxMDA2 NDQKPiAtLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCj4gKysrIGIveGVuL2NvbW1vbi9kb21haW4u Ywo+IEBAIC0zMiw2ICszMiw3IEBACj4gICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KPiAg I2luY2x1ZGUgPHhlbi94ZW5vcHJvZi5oPgo+ICAjaW5jbHVkZSA8eGVuL2lycS5oPgo+ICsjaW5j bHVkZSA8eGVuL2FyZ28uaD4KPiAgI2luY2x1ZGUgPGFzbS9kZWJ1Z2dlci5oPgo+ICAjaW5jbHVk ZSA8YXNtL3AybS5oPgo+ICAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgo+IEBAIC0yNzcsNiAr Mjc4LDEwIEBAIHN0YXRpYyB2b2lkIF9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQo+ ICAKPiAgICAgIHhmcmVlKGQtPnBidWYpOwo+ICAKPiArI2lmZGVmIENPTkZJR19BUkdPCj4gKyAg ICBhcmdvX2Rlc3Ryb3koZCk7Cj4gKyNlbmRpZgoKLi4uIGdpdmVuIHRoaXMgY2FsbCAod2hpY2gg aXMgY29ycmVjdCksIC4uLgoKPiArCj4gICAgICByYW5nZXNldF9kb21haW5fZGVzdHJveShkKTsK PiAgCj4gICAgICBmcmVlX2NwdW1hc2tfdmFyKGQtPmRpcnR5X2NwdW1hc2spOwo+IEBAIC0zNzYs NiArMzgxLDkgQEAgc3RydWN0IGRvbWFpbiAqZG9tYWluX2NyZWF0ZShkb21pZF90IGRvbWlkLAo+ ICAgICAgc3Bpbl9sb2NrX2luaXQoJmQtPmh5cGVyY2FsbF9kZWFkbG9ja19tdXRleCk7Cj4gICAg ICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5wYWdlX2xpc3QpOwo+ICAgICAgSU5JVF9QQUdFX0xJ U1RfSEVBRCgmZC0+eGVucGFnZV9saXN0KTsKPiArI2lmZGVmIENPTkZJR19BUkdPCj4gKyAgICBy d2xvY2tfaW5pdCgmZC0+YXJnb19sb2NrKTsKPiArI2VuZGlmCj4gIAo+ICAgICAgc3Bpbl9sb2Nr X2luaXQoJmQtPm5vZGVfYWZmaW5pdHlfbG9jayk7Cj4gICAgICBkLT5ub2RlX2FmZmluaXR5ID0g Tk9ERV9NQVNLX0FMTDsKPiBAQCAtNDQ1LDYgKzQ1MywxMSBAQCBzdHJ1Y3QgZG9tYWluICpkb21h aW5fY3JlYXRlKGRvbWlkX3QgZG9taWQsCj4gICAgICAgICAgICAgIGdvdG8gZmFpbDsKPiAgICAg ICAgICBpbml0X3N0YXR1cyB8PSBJTklUX2dudHRhYjsKPiAgCj4gKyNpZmRlZiBDT05GSUdfQVJH Two+ICsgICAgICAgIGlmICggKGVyciA9IGFyZ29faW5pdChkKSkgIT0gMCApCj4gKyAgICAgICAg ICAgIGdvdG8gZmFpbDsKPiArI2VuZGlmCj4gKwo+ICAgICAgICAgIGVyciA9IC1FTk9NRU07Cj4g IAo+ICAgICAgICAgIGQtPnBidWYgPSB4emFsbG9jX2FycmF5KGNoYXIsIERPTUFJTl9QQlVGX1NJ WkUpOwo+IEBAIC03MTcsNiArNzMwLDkgQEAgaW50IGRvbWFpbl9raWxsKHN0cnVjdCBkb21haW4g KmQpCj4gICAgICAgICAgaWYgKCBkLT5pc19keWluZyAhPSBET01EWUlOR19hbGl2ZSApCj4gICAg ICAgICAgICAgIHJldHVybiBkb21haW5fa2lsbChkKTsKPiAgICAgICAgICBkLT5pc19keWluZyA9 IERPTURZSU5HX2R5aW5nOwo+ICsjaWZkZWYgQ09ORklHX0FSR08KPiArICAgICAgICBhcmdvX2Rl c3Ryb3koZCk7Cj4gKyNlbmRpZgoKLi4uIHRoaXMgb25lIGlzbid0IG5lY2Vzc2FyeS4KCkknbSBp biB0aGUgbWlkZGxlIG9mIGZpeGluZyBhbGwgdGhpcyBkZXN0cnVjdGlvbiBsb2dpYywgYW5kCl9k b21haW5fZGVzdHJveSgpIGlzIGNhbGxlZCBiZWxvdy4KClRoZSBydWxlIGlzIHRoYXQgZXZlcnl0 aGluZyBpbiBfZG9tYWluX2Rlc3Ryb3koKSBzaG91bGQgYmUgaWRlbXBvdGVudCwKYW5kIGFsbCBk ZXN0cnVjdGlvbiBsb2dpYyBuZWVkcyBtb3ZpbmcgdGhlcmUsIHNvIEkgY2FuIHJlbW92ZQpET01D VExfc2V0bWF4dmNwdXMgYW5kIGZpeCBhIGxvYWQgb2YgdG9vbHN0YWNrLXRyaWdnZXJhYmxlIE5V TEwgcG9pbnRlcgpkZXJlZmVyZW5jZXMgaW4gWGVuLgoKRXZlbnR1YWxseSwgZXZlcnl0aGluZyBp biB0aGlzIGh1bmsgd2lsbCBkaXNhcHBlYXIuCgo+ICAgICAgICAgIGV2dGNobl9kZXN0cm95KGQp Owo+ICAgICAgICAgIGdudHRhYl9yZWxlYXNlX21hcHBpbmdzKGQpOwo+ICAgICAgICAgIHRtZW1f ZGVzdHJveShkLT50bWVtX2NsaWVudCk7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9h cmdvLmggYi94ZW4vaW5jbHVkZS94ZW4vYXJnby5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCAwMDAwMDAwLi4yOWQzMmE5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3hlbi9pbmNsdWRl L3hlbi9hcmdvLmgKPiBAQCAtMCwwICsxLDIzIEBACj4gKy8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK PiArICogQXJnbyA6IEh5cGVydmlzb3ItTWVkaWF0ZWQgZGF0YSBlWGNoYW5nZQo+ICsgKgo+ICsg KiBDb3B5cmlnaHQgKGMpIDIwMTgsIEJBRSBTeXN0ZW1zCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsg KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gKyAqCj4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gKyAqIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCj4gKyAqIEZvdW5kYXRp b24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0x MzA3ICBVU0EKPiArICovCj4gKwo+ICsjaWZuZGVmIF9fWEVOX0FSR09fSF9fCj4gKyNkZWZpbmUg X19YRU5fQVJHT19IX18KPiArCj4gK2ludCBhcmdvX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7Cj4g K3ZvaWQgYXJnb19kZXN0cm95KHN0cnVjdCBkb21haW4gKmQpOwo+ICt2b2lkIGFyZ29fc29mdF9y ZXNldChzdHJ1Y3QgZG9tYWluICpkKTsKCkluc3RlYWQgb2YgdGhlICNpZmRlZmFyeSBpbiB0aGUg Y2FsbGluZyBjb2RlLCBwbGVhc2UgY291bGQgeW91IHN0dWIKdGhlc2Ugb3V0IGluIHRoaXMgZmls ZT/CoCBTZWUgdGhlIHRhaWwgb2YgaW5jbHVkZS9hc20teDg2L3B2L2RvbWFpbi5oIGZvcgphbiBl eGFtcGxlIGJhc2VkIG9uIENPTkZJR19QVi4KCn5BbmRyZXcKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=