From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 5/5] xen: use libxendevicemodel when available Date: Thu, 23 Feb 2017 14:53:55 +0000 Message-ID: <1487861635-17560-6-git-send-email-paul.durrant@citrix.com> References: <1487861635-17560-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cgumR-0001Xw-BG for xen-devel@lists.xenproject.org; Thu, 23 Feb 2017 14:54:03 +0000 In-Reply-To: <1487861635-17560-1-git-send-email-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, qemu-devel@nongnu.org Cc: Anthony Perard , Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgd3JhcHBlciBmdW5jdGlvbnMgaW4geGVuX2NvbW1vbi5o IHRvIHVzZSB0aGUKbmV3IHhlbmRldmljZW1vZGVsIGludGVyZmFjZSBpZiBpdCBpcyBhdmFpbGFi bGUgYWxvbmcgd2l0aCBjb21wYXRpYmlsaXR5CmNvZGUgdG8gdXNlIHRoZSBvbGQgbGlieGVuY3Ry bCBpbnRlcmZhY2UgaWYgaXQgaXMgbm90LgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxw YXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KLS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFi ZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBBbnRob255IFBlcmFyZCA8YW50aG9ueS5wZXJhcmRAY2l0 cml4LmNvbT4KLS0tCiBpbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmggfCAxMTQgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHhlbi1jb21tb24uYyAgICAgICAg ICAgICAgICB8ICAgOCArKysrCiAyIGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDMz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaCBi L2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCAzMWNmMjVmLi4yYzJhNjFiIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIvaW5jbHVkZS9ody94ZW4v eGVuX2NvbW1vbi5oCkBAIC05LDYgKzksNyBAQAogI3VuZGVmIFhDX1dBTlRfQ09NUEFUX0VWVENI Tl9BUEkKICN1bmRlZiBYQ19XQU5UX0NPTVBBVF9HTlRUQUJfQVBJCiAjdW5kZWYgWENfV0FOVF9D T01QQVRfTUFQX0ZPUkVJR05fQVBJCisjdW5kZWYgWENfV0FOVF9DT01QQVRfREVWSUNFTU9ERUxf QVBJCiAKICNpbmNsdWRlIDx4ZW5jdHJsLmg+CiAjaW5jbHVkZSA8eGVuc3RvcmUuaD4KQEAgLTI2 LDQ4ICsyNyw5NSBAQCBleHRlcm4geGNfaW50ZXJmYWNlICp4ZW5feGM7CiAgKiBXZSBkb24ndCBz dXBwb3J0IFhlbiBwcmlvciB0byA0LjIuMC4KICAqLwogCisjaWYgQ09ORklHX1hFTl9DVFJMX0lO VEVSRkFDRV9WRVJTSU9OIDwgNDkwCisKK3R5cGVkZWYgeGNfaW50ZXJmYWNlIHhlbmRldmljZW1v ZGVsX2hhbmRsZTsKKworI2RlZmluZSB4ZW5kZXZpY2Vtb2RlbF9vcGVuKGwsIGYpIHhlbl94Ywor CisjZGVmaW5lIHhlbmRldmljZW1vZGVsX21hcF9pb19yYW5nZV90b19pb3JlcV9zZXJ2ZXIgXAor ICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9faW9yZXFfc2VydmVyCisjZGVmaW5lIHhlbmRldmlj ZW1vZGVsX3VubWFwX2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyIFwKKyAgICB4Y19odm1fdW5t YXBfaW9fcmFuZ2VfZnJvbV9pb3JlcV9zZXJ2ZXIKKyNkZWZpbmUgeGVuZGV2aWNlbW9kZWxfbWFw X3BjaWRldl90b19pb3JlcV9zZXJ2ZXIgXAorICAgIHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVx X3NlcnZlcgorI2RlZmluZSB4ZW5kZXZpY2Vtb2RlbF91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9z ZXJ2ZXIgXAorICAgIHhjX2h2bV91bm1hcF9wY2lkZXZfZnJvbV9pb3JlcV9zZXJ2ZXIKKyNkZWZp bmUgeGVuZGV2aWNlbW9kZWxfY3JlYXRlX2lvcmVxX3NlcnZlciBcCisgICAgeGNfaHZtX2NyZWF0 ZV9pb3JlcV9zZXJ2ZXIKKyNkZWZpbmUgeGVuZGV2aWNlbW9kZWxfZGVzdHJveV9pb3JlcV9zZXJ2 ZXIgXAorICAgIHhjX2h2bV9kZXN0cm95X2lvcmVxX3NlcnZlcgorI2RlZmluZSB4ZW5kZXZpY2Vt b2RlbF9nZXRfaW9yZXFfc2VydmVyX2luZm8gXAorICAgIHhjX2h2bV9nZXRfaW9yZXFfc2VydmVy X2luZm8KKyNkZWZpbmUgeGVuZGV2aWNlbW9kZWxfc2V0X2lvcmVxX3NlcnZlcl9zdGF0ZSBcCisg ICAgeGNfaHZtX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUKKyNkZWZpbmUgeGVuZGV2aWNlbW9kZWxf c2V0X3BjaV9pbnR4X2xldmVsIFwKKyAgICB4Y19odm1fc2V0X3BjaV9pbnR4X2xldmVsCisjZGVm aW5lIHhlbmRldmljZW1vZGVsX3NldF9wY2lfbGlua19yb3V0ZSBcCisgICAgeGNfaHZtX3NldF9w Y2lfbGlua19yb3V0ZQorI2RlZmluZSB4ZW5kZXZpY2Vtb2RlbF9zZXRfaXNhX2lycV9sZXZlbCBc CisgICAgeGNfaHZtX3NldF9pc2FfaXJxX2xldmVsCisjZGVmaW5lIHhlbmRldmljZW1vZGVsX2lu amVjdF9tc2kgXAorICAgIHhjX2h2bV9pbmplY3RfbXNpCisjZGVmaW5lIHhlbmRldmljZW1vZGVs X3NldF9tZW1fdHlwZSBcCisgICAgeGNfaHZtX3NldF9tZW1fdHlwZQorI2RlZmluZSB4ZW5kZXZp Y2Vtb2RlbF90cmFja19kaXJ0eV92cmFtIFwKKyAgICB4Y19odm1fdHJhY2tfZGlydHlfdnJhbQor I2RlZmluZSB4ZW5kZXZpY2Vtb2RlbF9tb2RpZmllZF9tZW1vcnkgXAorICAgIHhjX2h2bV9tb2Rp ZmllZF9tZW1vcnkKKworI2Vsc2UgLyogQ09ORklHX1hFTl9DVFJMX0lOVEVSRkFDRV9WRVJTSU9O ID49IDQ5MCAqLworCisjaW5jbHVkZSA8eGVuZGV2aWNlbW9kZWwuaD4KKworI2VuZGlmCisKK2V4 dGVybiB4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKnhlbl9kbW9kOworCiBzdGF0aWMgaW5saW5lIGlu dCB4ZW5fc2V0X21lbV90eXBlKGRvbWlkX3QgZG9taWQsIGh2bW1lbV90eXBlX3QgdHlwZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZmlyc3RfcGZuLCB1aW50 MzJfdCBucikKIHsKLSAgICByZXR1cm4geGNfaHZtX3NldF9tZW1fdHlwZSh4ZW5feGMsIGRvbWlk LCB0eXBlLCBmaXJzdF9wZm4sIG5yKTsKKyAgICByZXR1cm4geGVuZGV2aWNlbW9kZWxfc2V0X21l bV90eXBlKHhlbl9kbW9kLCBkb21pZCwgdHlwZSwgZmlyc3RfcGZuLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbnIpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCB4ZW5f c2V0X3BjaV9pbnR4X2xldmVsKGRvbWlkX3QgZG9taWQsIHVpbnQxNl90IHNlZ21lbnQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgYnVzLCB1aW50OF90 IGRldmljZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf dCBpbnR4LCB1bnNpZ25lZCBpbnQgbGV2ZWwpCiB7Ci0gICAgcmV0dXJuIHhjX2h2bV9zZXRfcGNp X2ludHhfbGV2ZWwoeGVuX3hjLCBkb21pZCwgc2VnbWVudCwgYnVzLCBkZXZpY2UsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50eCwgbGV2ZWwpOworICAgIHJldHVybiB4 ZW5kZXZpY2Vtb2RlbF9zZXRfcGNpX2ludHhfbGV2ZWwoeGVuX2Rtb2QsIGRvbWlkLCBzZWdtZW50 LCBidXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZp Y2UsIGludHgsIGxldmVsKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9wY2lfbGlu a19yb3V0ZShkb21pZF90IGRvbWlkLCB1aW50OF90IGxpbmssCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaXJxKQogewotICAgIHJldHVybiB4Y19odm1f c2V0X3BjaV9saW5rX3JvdXRlKHhlbl94YywgZG9taWQsIGxpbmssIGlycSk7CisgICAgcmV0dXJu IHhlbmRldmljZW1vZGVsX3NldF9wY2lfbGlua19yb3V0ZSh4ZW5fZG1vZCwgZG9taWQsIGxpbmss IGlycSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhlbl9pbmplY3RfbXNpKGRvbWlkX3QgZG9t aWQsIHVpbnQ2NF90IG1zaV9hZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgbXNpX2RhdGEpCiB7Ci0gICAgcmV0dXJuIHhjX2h2bV9pbmplY3RfbXNpKHhlbl94 YywgZG9taWQsIG1zaV9hZGRyLCBtc2lfZGF0YSk7CisgICAgcmV0dXJuIHhlbmRldmljZW1vZGVs X2luamVjdF9tc2koeGVuX2Rtb2QsIGRvbWlkLCBtc2lfYWRkciwgbXNpX2RhdGEpOwogfQogCiBz dGF0aWMgaW5saW5lIGludCB4ZW5fc2V0X2lzYV9pcnFfbGV2ZWwoZG9taWRfdCBkb21pZCwgdWlu dDhfdCBpcnEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGxldmVsKQogewotICAgIHJldHVybiB4Y19odm1fc2V0X2lzYV9pcnFfbGV2ZWwoeGVu X3hjLCBkb21pZCwgaXJxLCBsZXZlbCk7CisgICAgcmV0dXJuIHhlbmRldmljZW1vZGVsX3NldF9p c2FfaXJxX2xldmVsKHhlbl9kbW9kLCBkb21pZCwgaXJxLCBsZXZlbCk7CiB9CiAKIHN0YXRpYyBp bmxpbmUgaW50IHhlbl90cmFja19kaXJ0eV92cmFtKGRvbWlkX3QgZG9taWQsIHVpbnQ2NF90IGZp cnN0X3BmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IG5yLCB1bnNpZ25lZCBsb25nICpiaXRtYXApCiB7Ci0gICAgcmV0dXJuIHhjX2h2bV90cmFja19k aXJ0eV92cmFtKHhlbl94YywgZG9taWQsIGZpcnN0X3BmbiwgbnIsIGJpdG1hcCk7CisgICAgcmV0 dXJuIHhlbmRldmljZW1vZGVsX3RyYWNrX2RpcnR5X3ZyYW0oeGVuX2Rtb2QsIGRvbWlkLCBmaXJz dF9wZm4sIG5yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJp dG1hcCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHhlbl9tb2RpZmllZF9tZW1vcnkoZG9taWRf dCBkb21pZCwgdWludDY0X3QgZmlyc3RfcGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50MzJfdCBucikKIHsKLSAgICByZXR1cm4geGNfaHZtX21vZGlmaWVkX21l bW9yeSh4ZW5feGMsIGRvbWlkLCBmaXJzdF9wZm4sIG5yKTsKKyAgICByZXR1cm4geGVuZGV2aWNl bW9kZWxfbW9kaWZpZWRfbWVtb3J5KHhlbl9kbW9kLCBkb21pZCwgZmlyc3RfcGZuLCBucik7CiB9 CiAKIC8qIFhlbiA0LjIgdGhyb3VnaCA0LjYgKi8KQEAgLTI4NSw4ICszMzMsOCBAQCBzdGF0aWMg aW5saW5lIHZvaWQgeGVuX21hcF9tZW1vcnlfc2VjdGlvbihkb21pZF90IGRvbSwKICAgICB9CiAK ICAgICB0cmFjZV94ZW5fbWFwX21taW9fcmFuZ2UoaW9zZXJ2aWQsIHN0YXJ0X2FkZHIsIGVuZF9h ZGRyKTsKLSAgICB4Y19odm1fbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRv bSwgaW9zZXJ2aWQsIDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RhcnRfYWRkciwgZW5kX2FkZHIpOworICAgIHhlbmRldmljZW1vZGVsX21hcF9pb19yYW5nZV90 b19pb3JlcV9zZXJ2ZXIoeGVuX2Rtb2QsIGRvbSwgaW9zZXJ2aWQsIDEsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9hZGRyLCBlbmRfYWRkcik7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfbWVtb3J5X3NlY3Rpb24oZG9taWRf dCBkb20sCkBAIC0zMDIsOCArMzUwLDggQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1hcF9t ZW1vcnlfc2VjdGlvbihkb21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5fdW5tYXBf bW1pb19yYW5nZShpb3NlcnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV91 bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIHN0YXJ0X2FkZHIs IGVuZF9hZGRyKTsKKyAgICB4ZW5kZXZpY2Vtb2RlbF91bm1hcF9pb19yYW5nZV9mcm9tX2lvcmVx X3NlcnZlcih4ZW5fZG1vZCwgZG9tLCBpb3NlcnZpZCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCBzdGFydF9hZGRyLCBlbmRfYWRkcik7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fbWFwX2lvX3NlY3Rpb24oZG9taWRfdCBkb20sCkBA IC0zMTksOCArMzY3LDggQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfaW9fc2VjdGlvbihk b21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5fbWFwX3BvcnRpb19yYW5nZShpb3Nl cnZpZCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOwotICAgIHhjX2h2bV9tYXBfaW9fcmFuZ2VfdG9f aW9yZXFfc2VydmVyKHhlbl94YywgZG9tLCBpb3NlcnZpZCwgMCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGFydF9hZGRyLCBlbmRfYWRkcik7CisgICAgeGVuZGV2 aWNlbW9kZWxfbWFwX2lvX3JhbmdlX3RvX2lvcmVxX3NlcnZlcih4ZW5fZG1vZCwgZG9tLCBpb3Nl cnZpZCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0YXJ0X2FkZHIsIGVuZF9hZGRyKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHhlbl91bm1h cF9pb19zZWN0aW9uKGRvbWlkX3QgZG9tLApAQCAtMzM2LDggKzM4NCw4IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCB4ZW5fdW5tYXBfaW9fc2VjdGlvbihkb21pZF90IGRvbSwKICAgICB9CiAKICAgICB0 cmFjZV94ZW5fdW5tYXBfcG9ydGlvX3JhbmdlKGlvc2VydmlkLCBzdGFydF9hZGRyLCBlbmRfYWRk cik7Ci0gICAgeGNfaHZtX3VubWFwX2lvX3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHhlbl94Yywg ZG9tLCBpb3NlcnZpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwgc3RhcnRfYWRkciwgZW5kX2FkZHIpOworICAgIHhlbmRldmljZW1vZGVsX3VubWFwX2lv X3JhbmdlX2Zyb21faW9yZXFfc2VydmVyKHhlbl9kbW9kLCBkb20sIGlvc2VydmlkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHN0YXJ0X2Fk ZHIsIGVuZF9hZGRyKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHhlbl9tYXBfcGNpZGV2KGRv bWlkX3QgZG9tLApAQCAtMzUwLDEwICszOTgsMTAgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9t YXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogCiAgICAgdHJhY2VfeGVuX21hcF9wY2lkZXYoaW9zZXJ2 aWQsIHBjaV9idXNfbnVtKHBjaV9kZXYtPmJ1cyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg UENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4pLCBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwotICAg IHhjX2h2bV9tYXBfcGNpZGV2X3RvX2lvcmVxX3NlcnZlcih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQs IDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9idXNfbnVtKHBj aV9kZXYtPmJ1cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9T TE9UKHBjaV9kZXYtPmRldmZuKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUENJX0ZVTkMocGNpX2Rldi0+ZGV2Zm4pKTsKKyAgICB4ZW5kZXZpY2Vtb2RlbF9tYXBfcGNp ZGV2X3RvX2lvcmVxX3NlcnZlcih4ZW5fZG1vZCwgZG9tLCBpb3NlcnZpZCwgMCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY2lfYnVzX251bShwY2lfZGV2 LT5idXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBD SV9TTE9UKHBjaV9kZXYtPmRldmZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwogfQogCiBzdGF0aWMgaW5s aW5lIHZvaWQgeGVuX3VubWFwX3BjaWRldihkb21pZF90IGRvbSwKQEAgLTM2NiwxOCArNDE0LDE4 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fdW5tYXBfcGNpZGV2KGRvbWlkX3QgZG9tLAogCiAg ICAgdHJhY2VfeGVuX3VubWFwX3BjaWRldihpb3NlcnZpZCwgcGNpX2J1c19udW0ocGNpX2Rldi0+ YnVzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9TTE9UKHBjaV9kZXYtPmRldmZu KSwgUENJX0ZVTkMocGNpX2Rldi0+ZGV2Zm4pKTsKLSAgICB4Y19odm1fdW5tYXBfcGNpZGV2X2Zy b21faW9yZXFfc2VydmVyKHhlbl94YywgZG9tLCBpb3NlcnZpZCwgMCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjaV9idXNfbnVtKHBjaV9kZXYtPmJ1cyksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfU0xPVChwY2lfZGV2 LT5kZXZmbiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lf RlVOQyhwY2lfZGV2LT5kZXZmbikpOworICAgIHhlbmRldmljZW1vZGVsX3VubWFwX3BjaWRldl9m cm9tX2lvcmVxX3NlcnZlcih4ZW5fZG1vZCwgZG9tLCBpb3NlcnZpZCwgMCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNpX2J1c19udW0ocGNpX2Rl di0+YnVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUENJX1NMT1QocGNpX2Rldi0+ZGV2Zm4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQyhwY2lfZGV2LT5kZXZmbikpOwogfQogCiBz dGF0aWMgaW5saW5lIHZvaWQgeGVuX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoZG9taWRfdCBkb20sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9zZXJ2aWRfdCAqaW9z ZXJ2aWQpCiB7Ci0gICAgaW50IHJjID0geGNfaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoeGVuX3hj LCBkb20sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSFZNX0lPUkVR U1JWX0JVRklPUkVRX0FUT01JQywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpb3NlcnZpZCk7CisgICAgaW50IHJjID0geGVuZGV2aWNlbW9kZWxfY3JlYXRlX2lvcmVx X3NlcnZlcih4ZW5fZG1vZCwgZG9tLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSFZNX0lPUkVRU1JWX0JVRklPUkVRX0FUT01JQywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvc2VydmlkKTsKIAogICAgIGlm IChyYyA9PSAwKSB7CiAgICAgICAgIHRyYWNlX3hlbl9pb3JlcV9zZXJ2ZXJfY3JlYXRlKCppb3Nl cnZpZCk7CkBAIC0zOTcsNyArNDQ1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHhlbl9kZXN0cm95 X2lvcmVxX3NlcnZlcihkb21pZF90IGRvbSwKICAgICB9CiAKICAgICB0cmFjZV94ZW5faW9yZXFf c2VydmVyX2Rlc3Ryb3koaW9zZXJ2aWQpOwotICAgIHhjX2h2bV9kZXN0cm95X2lvcmVxX3NlcnZl cih4ZW5feGMsIGRvbSwgaW9zZXJ2aWQpOworICAgIHhlbmRldmljZW1vZGVsX2Rlc3Ryb3lfaW9y ZXFfc2VydmVyKHhlbl9kbW9kLCBkb20sIGlvc2VydmlkKTsKIH0KIAogc3RhdGljIGlubGluZSBp bnQgeGVuX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyhkb21pZF90IGRvbSwKQEAgLTQxMiw5ICs0NjAs OSBAQCBzdGF0aWMgaW5saW5lIGludCB4ZW5fZ2V0X2lvcmVxX3NlcnZlcl9pbmZvKGRvbWlkX3Qg ZG9tLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1 ZmlvcmVxX2V2dGNobik7CiAgICAgfQogCi0gICAgcmV0dXJuIHhjX2h2bV9nZXRfaW9yZXFfc2Vy dmVyX2luZm8oeGVuX3hjLCBkb20sIGlvc2VydmlkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlvcmVxX3BmbiwgYnVmaW9yZXFfcGZuLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmlvcmVxX2V2dGNobik7CisgICAgcmV0dXJuIHhl bmRldmljZW1vZGVsX2dldF9pb3JlcV9zZXJ2ZXJfaW5mbyh4ZW5fZG1vZCwgZG9tLCBpb3NlcnZp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvcmVx X3BmbiwgYnVmaW9yZXFfcGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVmaW9yZXFfZXZ0Y2huKTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgeGVu X3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoZG9taWRfdCBkb20sCkBAIC00MjYsOCArNDc0LDggQEAg c3RhdGljIGlubGluZSBpbnQgeGVuX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoZG9taWRfdCBkb20s CiAgICAgfQogCiAgICAgdHJhY2VfeGVuX2lvcmVxX3NlcnZlcl9zdGF0ZShpb3NlcnZpZCwgZW5h YmxlKTsKLSAgICByZXR1cm4geGNfaHZtX3NldF9pb3JlcV9zZXJ2ZXJfc3RhdGUoeGVuX3hjLCBk b20sIGlvc2VydmlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl bmFibGUpOworICAgIHJldHVybiB4ZW5kZXZpY2Vtb2RlbF9zZXRfaW9yZXFfc2VydmVyX3N0YXRl KHhlbl9kbW9kLCBkb20sIGlvc2VydmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuYWJsZSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEveGVu LWNvbW1vbi5jIGIveGVuLWNvbW1vbi5jCmluZGV4IDcwM2U3YTUuLmFlNzYxNTAgMTAwNjQ0Ci0t LSBhL3hlbi1jb21tb24uYworKysgYi94ZW4tY29tbW9uLmMKQEAgLTI3LDYgKzI3LDcgQEAKIAog eGNfaW50ZXJmYWNlICp4ZW5feGM7CiB4ZW5mb3JlaWdubWVtb3J5X2hhbmRsZSAqeGVuX2ZtZW07 Cit4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKnhlbl9kbW9kOwogCiBzdGF0aWMgaW50IHN0b3JlX2Rl dl9pbmZvKGludCBkb21pZCwgQ2hhcmRldiAqY3MsIGNvbnN0IGNoYXIgKnN0cmluZykKIHsKQEAg LTEyOCw2ICsxMjksMTMgQEAgc3RhdGljIGludCB4ZW5faW5pdChNYWNoaW5lU3RhdGUgKm1zKQog ICAgICAgICB4Y19pbnRlcmZhY2VfY2xvc2UoeGVuX3hjKTsKICAgICAgICAgcmV0dXJuIC0xOwog ICAgIH0KKyAgICB4ZW5fZG1vZCA9IHhlbmRldmljZW1vZGVsX29wZW4oMCwgMCk7CisgICAgaWYg KHhlbl9kbW9kID09IE5VTEwpIHsKKyAgICAgICAgeGVuX3B2X3ByaW50ZihOVUxMLCAwLCAiY2Fu J3Qgb3BlbiB4ZW4gZGV2aWNlbW9kZWwgaW50ZXJmYWNlXG4iKTsKKyAgICAgICAgeGVuZm9yZWln bm1lbW9yeV9jbG9zZSh4ZW5fZm1lbSk7CisgICAgICAgIHhjX2ludGVyZmFjZV9jbG9zZSh4ZW5f eGMpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogICAgIHFlbXVfYWRkX3ZtX2NoYW5nZV9z dGF0ZV9oYW5kbGVyKHhlbl9jaGFuZ2Vfc3RhdGVfaGFuZGxlciwgTlVMTCk7CiAKICAgICBnbG9i YWxfc3RhdGVfc2V0X29wdGlvbmFsKCk7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=