From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 12/12] x86/hvm/ioreq: add a new mappable resource type... Date: Thu, 31 Aug 2017 10:36:05 +0100 Message-ID: <20170831093605.2757-13-paul.durrant@citrix.com> References: <20170831093605.2757-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dnM3W-0000GG-Eo for xen-devel@lists.xenproject.org; Thu, 31 Aug 2017 09:46:34 +0000 In-Reply-To: <20170831093605.2757-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Andrew Cooper , Ian Jackson , Tim Deegan , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org Li4uIFhFTk1FTV9yZXNvdXJjZV9pb3JlcV9zZXJ2ZXIKClRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0 IGZvciBhIG5ldyByZXNvdXJjZSB0eXBlIHRoYXQgY2FuIGJlIG1hcHBlZCB1c2luZwp0aGUgWEVO TUVNX2FjcXVpcmVfcmVzb3VyY2UgbWVtb3J5IG9wLgoKSWYgYW4gZW11bGF0b3IgbWFrZXMgdXNl IG9mIHRoaXMgcmVzb3VyY2UgdHlwZSB0aGVuLCBpbnN0ZWFkIG9mIG1hcHBpbmcKZ2ZucywgdGhl IElPUkVRIHNlcnZlciB3aWxsIGFsbG9jYXRlIHBhZ2VzIGZyb20gdGhlIGhlYXAuIFRoZXNlIHBh Z2VzCndpbGwgbmV2ZXIgYmUgcHJlc2VudCBpbiB0aGUgUDJNIG9mIHRoZSBndWVzdCBhdCBhbnkg cG9pbnQgYW5kIHNvIGFyZQpub3QgdnVsbmVyYWJsZSB0byBhbnkgZGlyZWN0IGF0dGFjayBieSB0 aGUgZ3Vlc3QuIFRoZXkgYXJlIG9ubHkgZXZlcgphY2Nlc3NpYmxlIGJ5IFhlbiBhbmQgYW55IGRv bWFpbiB0aGF0IGhhcyBtYXBwaW5nIHByaXZpbGVnZSBvdmVyIHRoZQpndWVzdCAod2hpY2ggbWF5 IG9yIG1heSBub3QgYmUgbGltaXRlZCB0byB0aGUgZG9tYWluIHJ1bm5pbmcgdGhlIGVtdWxhdG9y KS4KCk5PVEU6IFVzZSBvZiB0aGUgbmV3IHJlc291cmNlIHR5cGUgaXMgbm90IGNvbXBhdGlibGUg d2l0aCB1c2Ugb2YKICAgICAgWEVOX0RNT1BfZ2V0X2lvcmVxX3NlcnZlcl9pbmZvIHVubGVzcyB0 aGUgWEVOX0RNT1Bfbm9fZ2ZucyBmbGFnIGlzCiAgICAgIHNldC4KClNpZ25lZC1vZmYtYnk6IFBh dWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBHZW9yZ2UgRHVu bGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpi ZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4 LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogS29u cmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhl bi5vcmc+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4 Ni9odm0vaW9yZXEuYyAgICAgICAgfCAxMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICAgICB8ICAyNyArKysrKysr KysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2lvcmVxLmggfCAgIDIgKwogeGVuL2luY2x1ZGUv cHVibGljL2h2bS9kbV9vcC5oICB8ICAgNCArKwogeGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5o ICAgICB8ICAgMyArCiA1IGZpbGVzIGNoYW5nZWQsIDE2MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2FyY2gv eDg2L2h2bS9pb3JlcS5jCmluZGV4IDJkOThiNDM4NDkuLjVkNDA2YmMxZmIgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMK QEAgLTI0MSw2ICsyNDEsMTUgQEAgc3RhdGljIGludCBodm1fbWFwX2lvcmVxX2dmbihzdHJ1Y3Qg aHZtX2lvcmVxX3NlcnZlciAqcywgYm9vbCBidWYpCiAgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdl ICppb3JwID0gYnVmID8gJnMtPmJ1ZmlvcmVxIDogJnMtPmlvcmVxOwogICAgIGludCByYzsKIAor ICAgIGlmICggaW9ycC0+cGFnZSApCisgICAgeworICAgICAgICAvKiBNYWtlIHN1cmUgdGhlIHBh Z2UgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCAqLworICAgICAgICBpZiAoIGdmbl9lcShpb3JwLT5n Zm4sIElOVkFMSURfR0ZOKSApCisgICAgICAgICAgICByZXR1cm4gLUVQRVJNOworCisgICAgICAg IHJldHVybiAwOworICAgIH0KKwogICAgIGlmICggZC0+aXNfZHlpbmcgKQogICAgICAgICByZXR1 cm4gLUVJTlZBTDsKIApAQCAtMjYzLDYgKzI3Miw2MCBAQCBzdGF0aWMgaW50IGh2bV9tYXBfaW9y ZXFfZ2ZuKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzLCBib29sIGJ1ZikKICAgICByZXR1cm4g cmM7CiB9CiAKK3N0YXRpYyBpbnQgaHZtX2FsbG9jX2lvcmVxX21mbihzdHJ1Y3QgaHZtX2lvcmVx X3NlcnZlciAqcywgYm9vbCBidWYpCit7CisgICAgc3RydWN0IGRvbWFpbiAqY3VycmQgPSBjdXJy ZW50LT5kb21haW47CisgICAgc3RydWN0IGh2bV9pb3JlcV9wYWdlICppb3JwID0gYnVmID8gJnMt PmJ1ZmlvcmVxIDogJnMtPmlvcmVxOworCisgICAgaWYgKCBpb3JwLT5wYWdlICkKKyAgICB7Cisg ICAgICAgIC8qIE1ha2Ugc3VyZSB0aGUgcGFnZSBoYXMgbm90IGJlZW4gbWFwcGVkICovCisgICAg ICAgIGlmICggIWdmbl9lcShpb3JwLT5nZm4sIElOVkFMSURfR0ZOKSApCisgICAgICAgICAgICBy ZXR1cm4gLUVQRVJNOworCisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qCisgICAg ICogQWxsb2NhdGVkIElPUkVRIHNlcnZlciBwYWdlcyBhcmUgYXNzaWduZWQgdG8gdGhlIGVtdWxh dGluZworICAgICAqIGRvbWFpbiwgbm90IHRoZSB0YXJnZXQgZG9tYWluLiBUaGlzIGlzIGJlY2F1 c2UgdGhlIGVtdWxhdG9yIGlzCisgICAgICogbGlrZWx5IHRvIGJlIGRlc3Ryb3llZCBhZnRlciB0 aGUgdGFyZ2V0IGRvbWFpbiBoYXMgYmVlbiB0b3JuCisgICAgICogZG93biwgYW5kIHdlIG11c3Qg dXNlIE1FTUZfbm9fcmVmY291bnQgb3RoZXJ3aXNlIHBhZ2UgYWxsb2NhdGlvbgorICAgICAqIGNv dWxkIGZhaWwgaWYgdGhlIGVtdWxhdGluZyBkb21haW4gaGFzIGFscmVhZHkgcmVhY2hlZCBpdHMK KyAgICAgKiBtYXhpbXVtIGFsbG9jYXRpb24uCisgICAgICovCisgICAgaW9ycC0+cGFnZSA9IGFs bG9jX2RvbWhlYXBfcGFnZShjdXJyZCwgTUVNRl9ub19yZWZjb3VudCk7CisgICAgaWYgKCAhaW9y cC0+cGFnZSApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgZ2V0X3BhZ2UoaW9ycC0+ cGFnZSwgY3VycmQpOworCisgICAgaW9ycC0+dmEgPSBfX21hcF9kb21haW5fcGFnZV9nbG9iYWwo aW9ycC0+cGFnZSk7CisgICAgaWYgKCAhaW9ycC0+dmEgKQorICAgIHsKKyAgICAgICAgcHV0X3Bh Z2UoaW9ycC0+cGFnZSk7CisgICAgICAgIGlvcnAtPnBhZ2UgPSBOVUxMOworICAgICAgICByZXR1 cm4gLUVOT01FTTsKKyAgICB9CisKKyAgICBjbGVhcl9wYWdlKGlvcnAtPnZhKTsKKyAgICByZXR1 cm4gMDsKK30KKworc3RhdGljIHZvaWQgaHZtX2ZyZWVfaW9yZXFfbWZuKHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzLCBib29sIGJ1ZikKK3sKKyAgICBzdHJ1Y3QgaHZtX2lvcmVxX3BhZ2UgKmlv cnAgPSBidWYgPyAmcy0+YnVmaW9yZXEgOiAmcy0+aW9yZXE7CisKKyAgICBpZiAoICFpb3JwLT5w YWdlICkKKyAgICAgICAgcmV0dXJuOworCisgICAgdW5tYXBfZG9tYWluX3BhZ2VfZ2xvYmFsKGlv cnAtPnZhKTsKKyAgICBpb3JwLT52YSA9IE5VTEw7CisKKyAgICBwdXRfcGFnZShpb3JwLT5wYWdl KTsKKyAgICBpb3JwLT5wYWdlID0gTlVMTDsKK30KKwogYm9vbCBpc19pb3JlcV9zZXJ2ZXJfcGFn ZShzdHJ1Y3QgZG9tYWluICpkLCBjb25zdCBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQogewogICAg IHVuc2lnbmVkIGludCBpZDsKQEAgLTQ3Miw2ICs1MzUsMjcgQEAgc3RhdGljIHZvaWQgaHZtX2lv cmVxX3NlcnZlcl91bm1hcF9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKICAgICBo dm1fdW5tYXBfaW9yZXFfZ2ZuKHMsIGZhbHNlKTsKIH0KIAorc3RhdGljIGludCBodm1faW9yZXFf c2VydmVyX2FsbG9jX3BhZ2VzKHN0cnVjdCBodm1faW9yZXFfc2VydmVyICpzKQoreworICAgIGlu dCByYyA9IC1FTk9NRU07CisKKyAgICByYyA9IGh2bV9hbGxvY19pb3JlcV9tZm4ocywgZmFsc2Up OworCisgICAgaWYgKCAhcmMgJiYgKHMtPmJ1ZmlvcmVxX2hhbmRsaW5nICE9IEhWTV9JT1JFUVNS Vl9CVUZJT1JFUV9PRkYpICkKKyAgICAgICAgcmMgPSBodm1fYWxsb2NfaW9yZXFfbWZuKHMsIHRy dWUpOworCisgICAgaWYgKCByYyApCisgICAgICAgIGh2bV9mcmVlX2lvcmVxX21mbihzLCBmYWxz ZSk7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIGh2bV9pb3JlcV9zZXJ2ZXJf ZnJlZV9wYWdlcyhzdHJ1Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKK3sKKyAgICBodm1fZnJlZV9p b3JlcV9tZm4ocywgdHJ1ZSk7CisgICAgaHZtX2ZyZWVfaW9yZXFfbWZuKHMsIGZhbHNlKTsKK30K Kwogc3RhdGljIHZvaWQgaHZtX2lvcmVxX3NlcnZlcl9mcmVlX3Jhbmdlc2V0cyhzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciAqcykKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsKQEAgLTU5OCw3ICs2ODIs MTggQEAgc3RhdGljIGludCBodm1faW9yZXFfc2VydmVyX2luaXQoc3RydWN0IGh2bV9pb3JlcV9z ZXJ2ZXIgKnMsCiAKICBmYWlsX2FkZDoKICAgICBodm1faW9yZXFfc2VydmVyX3JlbW92ZV9hbGxf dmNwdXMocyk7CisKKyAgICAvKgorICAgICAqIE5PVEU6IEl0IGlzIHNhZmUgdG8gY2FsbCBib3Ro IGh2bV9pb3JlcV9zZXJ2ZXJfdW5tYXBfcGFnZXMoKSBhbmQKKyAgICAgKiAgICAgICBodm1faW9y ZXFfc2VydmVyX2ZyZWVfcGFnZXMoKSBpbiB0aGF0IG9yZGVyLgorICAgICAqICAgICAgIFRoaXMg aXMgYmVjYXVzZSB0aGUgZm9ybWVyIHdpbGwgZG8gbm90aGluZyBpZiB0aGUgcGFnZXMKKyAgICAg KiAgICAgICBhcmUgbm90IG1hcHBlZCwgbGVhdmluZyB0aGUgcGFnZSB0byBiZSBmcmVlZCBieSB0 aGUgbGF0dGVyLgorICAgICAqICAgICAgIEhvd2V2ZXIgaWYgdGhlIHBhZ2VzIGFyZSBtYXBwZWQg dGhlbiB0aGUgZm9ybWVyIHdpbGwgc2V0CisgICAgICogICAgICAgdGhlIHBhZ2VfaW5mbyBwb2lu dGVyIHRvIE5VTEwsIG1lYW5pbmcgdGhlIGxhdHRlciB3aWxsIGRvCisgICAgICogICAgICAgbm90 aGluZy4KKyAgICAgKi8KICAgICBodm1faW9yZXFfc2VydmVyX3VubWFwX3BhZ2VzKHMpOworICAg IGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9wYWdlcyhzKTsKIAogICAgIHJldHVybiByYzsKIH0KQEAg LTYwOCw2ICs3MDMsNyBAQCBzdGF0aWMgdm9pZCBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzdHJ1 Y3QgaHZtX2lvcmVxX3NlcnZlciAqcykKICAgICBBU1NFUlQoIXMtPmVuYWJsZWQpOwogICAgIGh2 bV9pb3JlcV9zZXJ2ZXJfcmVtb3ZlX2FsbF92Y3B1cyhzKTsKICAgICBodm1faW9yZXFfc2VydmVy X3VubWFwX3BhZ2VzKHMpOworICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZnJlZV9wYWdlcyhzKTsKICAg ICBodm1faW9yZXFfc2VydmVyX2ZyZWVfcmFuZ2VzZXRzKHMpOwogfQogCkBAIC03MzgsNyArODM0 LDggQEAgaW50IGh2bV9nZXRfaW9yZXFfc2VydmVyX2luZm8oc3RydWN0IGRvbWFpbiAqZCwgaW9z ZXJ2aWRfdCBpZCwKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgICppb3JlcV9n Zm4gPSBnZm5feChzLT5pb3JlcS5nZm4pOworICAgIGlmICggaW9yZXFfZ2ZuICkKKyAgICAgICAg KmlvcmVxX2dmbiA9IGdmbl94KHMtPmlvcmVxLmdmbik7CiAKICAgICBpZiAoIEhBTkRMRV9CVUZJ T1JFUShzKSApCiAgICAgewpAQCAtNzU2LDYgKzg1MywzMyBAQCBpbnQgaHZtX2dldF9pb3JlcV9z ZXJ2ZXJfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBpb3NlcnZpZF90IGlkLAogICAgIHJldHVybiBy YzsKIH0KIAorbWZuX3QgaHZtX2dldF9pb3JlcV9zZXJ2ZXJfZnJhbWUoc3RydWN0IGRvbWFpbiAq ZCwgaW9zZXJ2aWRfdCBpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBpZHgpCit7CisgICAgc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7CisgICAgbWZu X3QgbWZuID0gSU5WQUxJRF9NRk47CisKKyAgICBzcGluX2xvY2tfcmVjdXJzaXZlKCZkLT5hcmNo Lmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxvY2spOworCisgICAgcyA9IGQtPmFyY2guaHZtX2Rv bWFpbi5pb3JlcV9zZXJ2ZXIuc2VydmVyW2lkXTsKKworICAgIGlmICggaWQgPj0gTUFYX05SX0lP UkVRX1NFUlZFUlMgfHwgIXMgfHwgSVNfREVGQVVMVChzKSApCisgICAgICAgIGdvdG8gb3V0Owor CisgICAgaWYgKCBodm1faW9yZXFfc2VydmVyX2FsbG9jX3BhZ2VzKHMpICkKKyAgICAgICAgZ290 byBvdXQ7CisKKyAgICBpZiAoIGlkeCA9PSAwICkKKyAgICAgICAgbWZuID0gX21mbihwYWdlX3Rv X21mbihzLT5idWZpb3JlcS5wYWdlKSk7CisgICAgZWxzZSBpZiAoIGlkeCA9PSAxICkKKyAgICAg ICAgbWZuID0gX21mbihwYWdlX3RvX21mbihzLT5pb3JlcS5wYWdlKSk7CisKKyBvdXQ6CisgICAg c3Bpbl91bmxvY2tfcmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxv Y2spOworCisgICAgcmV0dXJuIG1mbjsKK30KKwogaW50IGh2bV9tYXBfaW9fcmFuZ2VfdG9faW9y ZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdHlwZSwgdWludDY0X3Qgc3RhcnQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZW5kKQpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCAzYjVmMmU5 YjgwLi4wYWJkODY1MzY0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4v YXJjaC94ODYvbW0uYwpAQCAtMTIyLDYgKzEyMiw3IEBACiAjaW5jbHVkZSA8YXNtL2ZpeG1hcC5o PgogI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3BjaS5oPgorI2luY2x1 ZGUgPGFzbS9odm0vaW9yZXEuaD4KIAogI2luY2x1ZGUgPGFzbS9odm0vZ3JhbnRfdGFibGUuaD4K ICNpbmNsdWRlIDxhc20vcHYvZ3JhbnRfdGFibGUuaD4KQEAgLTQ3MTYsNiArNDcxNywyNyBAQCBz dGF0aWMgaW50IHhlbm1lbV9hY3F1aXJlX2dyYW50X3RhYmxlKHN0cnVjdCBkb21haW4gKmQsCiAg ICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgeGVubWVtX2FjcXVpcmVfaW9yZXFfc2VydmVy KHN0cnVjdCBkb21haW4gKmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIGZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBucl9mcmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1mbl9saXN0W10pCit7CisgICAgdW5zaWduZWQg aW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2ZyYW1lczsgaSsrICkKKyAgICB7Cisg ICAgICAgIG1mbl90IG1mbiA9IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKGQsIGlkLCBmcmFt ZSArIGkpOworCisgICAgICAgIGlmICggbWZuX2VxKG1mbiwgSU5WQUxJRF9NRk4pICkKKyAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAgIG1mbl9saXN0W2ldID0gbWZuX3gobWZu KTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCB4ZW5tZW1fYWNxdWly ZV9yZXNvdXJjZSh4ZW5fbWVtX2FjcXVpcmVfcmVzb3VyY2VfdCAqeG1hcikKIHsKICAgICBzdHJ1 Y3QgZG9tYWluICpkLCAqY3VycmQgPSBjdXJyZW50LT5kb21haW47CkBAIC00NzUwLDYgKzQ3NzIs MTEgQEAgc3RhdGljIGludCB4ZW5tZW1fYWNxdWlyZV9yZXNvdXJjZSh4ZW5fbWVtX2FjcXVpcmVf cmVzb3VyY2VfdCAqeG1hcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtZm5fbGlzdCk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBYRU5NRU1fcmVzb3VyY2Vf aW9yZXFfc2VydmVyOgorICAgICAgICByYyA9IHhlbm1lbV9hY3F1aXJlX2lvcmVxX3NlcnZlcihk LCB4bWFyLT5pZCwgeG1hci0+ZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHhtYXItPm5yX2ZyYW1lcywgbWZuX2xpc3QpOworICAgICAgICBicmVhazsKKwog ICAgIGRlZmF1bHQ6CiAgICAgICAgIHJjID0gLUVPUE5PVFNVUFA7CiAgICAgICAgIGJyZWFrOwpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvaHZtL2lvcmVxLmgKaW5kZXggMTgyOWZjZjQzZS4uMDMyYWViNmZhOSAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaW9yZXEuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9pb3JlcS5oCkBAIC0zMSw2ICszMSw4IEBAIGludCBodm1fZ2V0X2lvcmVxX3Nl cnZlcl9pbmZvKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICppb3JlcV9nZm4sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nICpidWZpb3JlcV9nZm4sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBldnRjaG5fcG9ydF90ICpidWZpb3JlcV9wb3J0KTsKK21mbl90 IGh2bV9nZXRfaW9yZXFfc2VydmVyX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3Qg aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaWR4KTsK IGludCBodm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlcihzdHJ1Y3QgZG9tYWluICpkLCBp b3NlcnZpZF90IGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHR5cGUsIHVpbnQ2NF90IHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQ2NF90IGVuZCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaHZt L2RtX29wLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2RtX29wLmgKaW5kZXggOTY3N2JkNzRl Ny4uNTliNjAwNjkxMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9kbV9vcC5o CisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vZG1fb3AuaApAQCAtOTAsNiArOTAsMTAgQEAg c3RydWN0IHhlbl9kbV9vcF9jcmVhdGVfaW9yZXFfc2VydmVyIHsKICAqIHRoZSBmcmFtZSBudW1i ZXJzIHBhc3NlZCBiYWNrIGluIGdmbnMgPGlvcmVxX2dmbj4gYW5kIDxidWZpb3JlcV9nZm4+CiAg KiByZXNwZWN0aXZlbHkuIChJZiB0aGUgSU9SRVEgU2VydmVyIGlzIG5vdCBoYW5kbGluZyBidWZm ZXJlZCBlbXVsYXRpb24KICAqIG9ubHkgPGlvcmVxX2dmbj4gd2lsbCBiZSB2YWxpZCkuCisgKgor ICogTk9URTogVG8gYWNjZXNzIHRoZSBzeW5jaHJvbm91cyBpb3JlcSBzdHJ1Y3R1cmVzIGFuZCBi dWZmZXJlZCBpb3JlcQorICogICAgICAgcmluZywgaXQgaXMgcHJlZmVyYWJsZSB0byB1c2UgdGhl IFhFTk1FTV9hY3F1aXJlX3Jlc291cmNlIG1lbW9yeQorICogICAgICAgb3Agc3BlY2lmeWluZyBy ZXNvdXJjZSB0eXBlIFhFTk1FTV9yZXNvdXJjZV9pb3JlcV9zZXJ2ZXIuCiAgKi8KICNkZWZpbmUg WEVOX0RNT1BfZ2V0X2lvcmVxX3NlcnZlcl9pbmZvIDIKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvcHVibGljL21lbW9yeS5oIGIveGVuL2luY2x1ZGUvcHVibGljL21lbW9yeS5oCmluZGV4IDli ZjU4ZTczODQuLjcxNjk0MWRjMGMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1v cnkuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmgKQEAgLTY2NCwxMCArNjY0LDEz IEBAIHN0cnVjdCB4ZW5fbWVtX2FjcXVpcmVfcmVzb3VyY2UgewogICAgIHVpbnQxNl90IHR5cGU7 CiAKICNkZWZpbmUgWEVOTUVNX3Jlc291cmNlX2dyYW50X3RhYmxlIDAKKyNkZWZpbmUgWEVOTUVN X3Jlc291cmNlX2lvcmVxX3NlcnZlciAxCiAKICAgICAvKgogICAgICAqIElOIC0gYSB0eXBlLXNw ZWNpZmljIHJlc291cmNlIGlkZW50aWZpZXIsIHdoaWNoIG11c3QgYmUgemVybwogICAgICAqICAg ICAgdW5sZXNzIHN0YXRlZCBvdGhlcndpc2UuCisgICAgICoKKyAgICAgKiB0eXBlID09IFhFTk1F TV9yZXNvdXJjZV9pb3JlcV9zZXJ2ZXIgLT4gaWQgPT0gaW9yZXEgc2VydmVyIGlkCiAgICAgICov CiAgICAgdWludDMyX3QgaWQ7CiAgICAgLyogSU4gLSBudW1iZXIgb2YgKDRLKSBmcmFtZXMgb2Yg dGhlIHJlc291cmNlIHRvIGJlIG1hcHBlZCAqLwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==